system
A system for managing refrigerator food inventory and expiration dates through data input, automatic registration, and recipe suggestions addresses inefficiencies, reducing waste and financial strain by optimizing storage and utilization.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2026-03-10
AI Technical Summary
Managing food inventory and expiration dates in refrigerators is challenging, leading to food waste, inefficiency, and potential health risks due to improper storage and lack of recipe suggestions.
A system that allows users to input food data via terminals, automatically using barcode readers or photo recognition, which is stored in a server database, periodically checks inventory, alerts users to approaching expiration dates, suggests storage methods, and provides recipe suggestions based on available food items.
The system efficiently manages food in refrigerators, reducing waste and easing financial burdens by optimizing storage and utilizing ingredients through real-time data management and recipe suggestions.
Smart Images

Figure 2026041473000001_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] Managing food in the refrigerator is a major issue in modern households. It's particularly difficult to keep track of food inventory and expiration dates, and consume it efficiently and safely. As a result, food waste and loss are common, placing a strain on household finances and negatively impacting the environment. Incorrect storage methods can also cause food to lose its freshness, resulting in a decline in quality and health risks. There is a need to solve these issues and optimize food management. [Means for solving the problem]
[0005] In order to solve the above problems, the present invention provides the following means.
[0006] First, when a user puts new food in the refrigerator, the system provides a means for the user to input data such as the food name, purchase date, and expiration date. It also includes a means for automatically inputting food data using a barcode reader or photo recognition technology. Second, it provides a means for the input food data to be sent to a server, which then stores and updates the data in a database.
[0007] The system further includes a means for the server to periodically scan the database and check the inventory status of all food items in the refrigerator. The server also includes a means for monitoring the expiration date of each food item and generating an alert for food items that are approaching their expiration date, and sends the alert data to the terminal to notify the user, thereby enabling the user to reduce food waste.
[0008] In addition, when a food name is entered, the server searches the database for an appropriate storage method, sends it to the terminal, and provides a means for suggesting it to the user.Furthermore, a list of all foods in the refrigerator is sent to the server, and the server searches for available recipes based on that and sends them to the terminal, thereby suggesting effective and convenient dishes to the user.
[0009] By combining these means, we provide a system that can efficiently manage food in the refrigerator, reduce food waste, and ease the burden on the household budget.
[0010] "Food data" refers to information about food, such as the food name, purchase date, and expiration date.
[0011] "Means" refers to a method, technique, device, or system used to achieve a particular purpose.
[0012] "Terminal" refers to an electronic device or application that a user uses to input or receive data.
[0013] "Server" refers to a central computer system that processes, stores, and transmits data.
[0014] "Database" refers to a system that manages a collection of organized and stored data.
[0015] "Scanning" refers to the act of periodically monitoring and checking the information in a database.
[0016] "Stock status" refers to information indicating the type, quantity, and expiration date of food items in the refrigerator.
[0017] An "alert" is a warning or caution message that is sent to the user when a specific condition is met.
[0018] "Preservation method" refers to the preservation techniques and methods used to keep food in optimal condition.
[0019] A "recipe" is a set of instructions that show the steps and ingredient combinations for cooking food. [Brief explanation of the drawings]
[0020] [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
[0021] 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.
[0022] First, the terms used in the following description will be explained.
[0023] 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).
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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."
[0028] [First embodiment]
[0029] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0030] 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.
[0031] 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).
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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."
[0041] This invention relates to a food management system for refrigerators, specifically, a system that manages food inventory and expiration dates and suggests appropriate storage methods and recipes to users. This system features centralized data management using user terminals and a server.
[0042] System Overview
[0043] 1. Food data entry and automatic registration
[0044] When a user puts new food in the refrigerator, they enter information such as the food name, purchase date, and expiration date via the device app. It is also possible to automatically register food data using a barcode reader or photo recognition technology.
[0045] For example, if a user purchases a tomato, they can enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" into the terminal, or use a barcode reader to automatically enter the data.
[0046] 2. Data storage and updating
[0047] The device sends the entered food data to the server, which stores it in a database and also updates existing data based on the new information entered.
[0048] The server uses an SQL query to save the data in the database in the format "INSERT INTO food_table (food_name, purchase_date, best_before_date) VALUES ('tomato', '2023-10-15', '2023-10-22')".
[0049] 3. Check stock availability
[0050] The server periodically (e.g. once a day) scans the database to check the availability of all food items in the refrigerator. This information is then reflected in real time on the device and can be viewed by the user.
[0051] The terminal displays information to the user such as "Current stock: Tomatoes (best before date: October 22nd)."
[0052] 4. Best before date management and alert notifications
[0053] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the terminal and notified to the user.
[0054] For example, for tomatoes with a best-by date of October 22nd, an alert will be displayed on the device two days before the expiration date saying, "The best-by date of your tomatoes is approaching. The expiration date is October 22nd, 2023."
[0055] 5. Proposal for appropriate storage methods
[0056] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user.
[0057] The server executes a query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'", and the terminal suggests "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0058] 6. Recipe suggestions
[0059] The terminal sends a list of all the foods in the refrigerator to the server, and the server searches a database for available recipes based on the list and provides them.
[0060] The server executes a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'", and the terminal displays recipes such as "Easy salad with tomatoes" and "Tomato soup" to the user.
[0061] Specific examples
[0062] Example 1: Buying tomatoes and putting them in the refrigerator
[0063] The user places the tomatoes they have purchased in the refrigerator and enters the food data into the terminal app or uses a barcode reader to automatically register the information.
[0064] The device sends the data to the server, which stores it in a database.
[0065] The server periodically scans the database to check the availability and expiration dates of tomatoes.
[0066] When the expiration date approaches, the server generates an alert and notifies the terminal.
[0067] If a user wants to know how to store tomatoes, they search for "how to store tomatoes" on their device, and the server will suggest an appropriate method.
[0068] If a user wants to know about recipes using tomatoes, they send a request on their device, and the server searches for and suggests recipes.
[0069] This system allows for efficient management of food in the refrigerator, and is an effective way to reduce food waste and ease the burden on the household budget.
[0070] The processing flow will be explained below.
[0071] Step 1:
[0072] When a user wants to put new food in the refrigerator, they open the app on their device and enter information such as the food name, purchase date, and expiration date, or they can use a barcode reader or photo recognition function to automatically enter food data.
[0073] Step 2:
[0074] The device sends the food data entered to the server in standard formats such as JSON and XML.
[0075] Step 3:
[0076] The server stores the received food data in the database. For example, it executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, best_before_date) VALUES ('tomato', '2023-10-15', '2023-10-22')".
[0077] Step 4:
[0078] A server periodically (for example, once a day) scans the database to check food availability and expiration dates. This process is typically performed using a periodic job scheduler.
[0079] Step 5:
[0080] The server sends the scan results to the device, which then displays the inventory status to the user in real time. For example, it displays "Current inventory: Tomatoes (best before date: October 22, 2023)."
[0081] Step 6:
[0082] The server checks the expiration date of each food item and generates an alert if any food item is nearing its expiration date. The alert data includes the food name and expiration date.
[0083] Step 7:
[0084] The server sends the generated alert data to the device, which then notifies the user. The user's device displays the message, "The expiration date of the tomatoes is approaching. The expiration date is October 22, 2023."
[0085] Step 8:
[0086] A user searches on their device for information on how to preserve a particular food item. For example, if they want to know how to preserve tomatoes, they can type in "how to preserve tomatoes."
[0087] Step 9:
[0088] The terminal sends the user's request to the server, which searches for the storage method in the database, for example, by executing an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'".
[0089] Step 10:
[0090] The server sends the search results to the device, which displays them to the user, such as "It's best to store tomatoes in the vegetable compartment of your refrigerator and use them up within 2-3 days."
[0091] Step 11:
[0092] The device sends a list of all the foods in the refrigerator to the server, and the server searches for available recipes based on that list. For example, it executes a query such as "SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'".
[0093] Step 12:
[0094] The server sends the search result recipe list to the device, which displays it to the user. Recipes such as "Easy salad with tomatoes" and "Tomato soup" are suggested.
[0095] In this way, each step is carried out in cooperation with the user, the device, and the server, resulting in a system that efficiently manages food in the refrigerator, reduces food waste, and eases the burden on the household budget.
[0096] Example 1
[0097] 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."
[0098] Managing food in the refrigerator is a crucial issue for modern households. Without proper knowledge of food inventory and expiration dates, food waste increases, leading to wasteful spending and increased environmental impact. Food also often spoils quickly due to lack of proper storage methods. Furthermore, food waste can occur due to a lack of recipe suggestions for effectively utilizing food in the refrigerator. To solve these problems, a system is needed that allows users to easily manage food data, understand expiration dates and storage methods, and suggest appropriate recipes.
[0099] 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.
[0100] In this invention, the server includes means for a user to input food data, means for transmitting the input food data to the server, means for the server to save and update the food data in a database, means for the server to periodically scan the database to check inventory status, means for the server to check food expiration dates and generate alerts for foods approaching their expiration dates, means for transmitting alert data to a terminal and notifying the user, means for searching for and suggesting appropriate storage methods based on the food names entered by the user, and means for searching for and suggesting available recipes based on the list of foods in the refrigerator. This makes it possible to manage food in the refrigerator more efficiently, reduce food waste, and lighten the burden on the household budget.
[0101] "User" refers to a person who uses the refrigerator management system.
[0102] "Food data" refers to data that includes information such as the name of the food, purchase date, and expiration date.
[0103] "Server" refers to the central processing unit that stores, updates, monitors, and notifies food data.
[0104] "Terminal" refers to a device such as a smartphone or tablet operated by a user.
[0105] "Database" refers to an information storage system built within a server that stores various food data.
[0106] "Barcode reader" refers to a device that reads barcodes and obtains corresponding food data.
[0107] "Image recognition technology" refers to technology that analyzes images to identify foods and automatically input data.
[0108] "Stock status" refers to information indicating the type and amount of food currently stored in the refrigerator.
[0109] "Best before" refers to the last day that a food product can maintain its quality.
[0110] An "alert" refers to a warning message that notifies the user that the expiration date is approaching.
[0111] "Preservation method" refers to the method for properly preserving each food item.
[0112] A "recipe" refers to a list of instructions and ingredients for cooking a particular food product.
[0113] "Refrigerator food list" refers to a list of all the foods stored in the refrigerator.
[0114] "Automatic entry" refers to the use of barcode readers or image recognition technology to enter food data without the user having to manually enter it.
[0115] This invention relates to a food management system for refrigerators, specifically, a system that manages food inventory and expiration dates and suggests appropriate storage methods and recipes to users. This system features centralized data management using user terminals and a server.
[0116] Hardware and Software Overview
[0117] This system operates using a user's device (smartphone or tablet) and a central server. An application for entering food data is installed on the device, and the server has a database for storing and managing the food data. It is also possible to automatically enter food data using a barcode reader or image recognition technology. The server also manages the food data using a database management system such as SQL.
[0118] Specific operation of the system
[0119] 1. User operations
[0120] When a user puts new food in the refrigerator, they use the device app to enter information such as the food name, purchase date, and expiration date. Food data can also be automatically registered using a barcode reader or image recognition technology. For example, if a user buys a tomato and puts it in the refrigerator, they can enter "Tomato, Purchase Date: October 15, 2023, Best Before Date: October 22, 2023" into the device, or scan the barcode to automatically enter the data.
[0121] 2. Data transmission and storage
[0122] The terminal sends the entered food data to the server. The server saves the received data in the database and updates existing data as necessary. The server uses an SQL query to save the data in the database in the format "INSERT INTO food table (food name, purchase date, expiration date) VALUES ('tomato', '2023-10-15', '2023-10-22')".
[0123] 3. Check stock availability
[0124] The server periodically scans the database to check the availability of all food items in the refrigerator. This information is updated in real time on the device and can be viewed by the user. For example, the device might display information such as "Current inventory: Tomatoes (best before date: October 22, 2023)" to the user.
[0125] 4. Best before date management and alert notifications
[0126] The server monitors the expiration date of each food item and generates an alert for food items approaching the expiration date. The alert data is sent to the device and notified to the user. For example, for tomatoes with an expiration date of October 22nd, an alert will be displayed on the device two days before the expiration date saying, "The expiration date of the tomatoes is approaching. The expiration date is October 22nd, 2023."
[0127] 5. Storage suggestions
[0128] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user. The server executes the query "SELECT storage method FROM storage table WHERE food name = 'tomato'", and the terminal suggests, "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0129] 6. Recipe suggestions
[0130] The device sends a list of all the foods in the refrigerator to the server, and the server searches the database for available recipes based on that list. The server executes the query "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'", and the device displays recipes such as "Easy salad with tomatoes" and "Tomato soup" to the user.
[0131] Specific examples
[0132] Example 1: Buying tomatoes and putting them in the refrigerator
[0133] 1. The user places the purchased tomatoes in the refrigerator and enters the food data into the terminal app or uses a barcode reader to automatically register the information.
[0134] 2. The device sends the data to the server, which stores it in a database.
[0135] 3. The server periodically scans the database to check the availability and expiration dates of tomatoes.
[0136] 4. When the expiration date approaches, the server generates an alert and notifies the device.
[0137] 5. If the user wants to know how to store tomatoes, they search for "how to store tomatoes" on their device, and the server suggests an appropriate method.
[0138] 6. If a user wants to know about recipes using tomatoes, they send a request on their device and the server searches for and suggests recipes.
[0139] Example prompts for generative AI models
[0140] "Create a program that uses a refrigerator management system to register newly purchased food items and display alerts when the expiration date approaches. It also includes features that suggest storage methods and recipes."
[0141] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0142] Step 1:
[0143] When a user puts new food in the refrigerator, they use a device app to enter information such as the food name, purchase date, and expiration date.
[0144] Input: Information such as food name, purchase date, and expiration date.
[0145] How it works: The user enters food information on the app screen or scans the barcode using a barcode reader, and the food is automatically registered using image recognition.
[0146] Output: The entered food data is temporarily saved on the device.
[0147] Step 2:
[0148] The terminal transmits the input food data to the server.
[0149] Input: Food data entered by the user into the device.
[0150] How it works: The device makes an API call to send data to the server, typically in JSON format.
[0151] Output: Food data is sent to the server.
[0152] Step 3:
[0153] The server stores the received food data in a database and updates existing data as needed.
[0154] Input: Food data sent from the device.
[0155] Behavior: The server executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, best_before_date) VALUES ('tomato', '2023-10-15', '2023-10-22')" and saves it in the database. Also, if the same food name exists, it executes an update query.
[0156] Output: Food data is saved or updated in the database.
[0157] Step 4:
[0158] The server periodically scans the database to determine the availability of all food items in the refrigerator.
[0159] Input: All food data in the database.
[0160] Operation: The server periodically (for example, once a day) executes the query "SELECT FROM food table WHERE expiration date > current date" to check the inventory status in the refrigerator.
[0161] Output: A list of stock availability is generated and sent to the terminal.
[0162] Step 5:
[0163] The terminal displays the inventory list to the user.
[0164] Input: A list of stock availability sent from the server.
[0165] What it does: The device displays information such as "Current stock: Tomatoes (Best before date: October 22, 2023)" on the screen.
[0166] Output: User can check stock status in real time.
[0167] Step 6:
[0168] The server monitors the expiration date of each food item and generates alerts for foods approaching their expiration date.
[0169] Input: All food data in the database.
[0170] Operation: The server periodically executes the query "SELECT FROM food table WHERE expiration date <= current date + 2" to identify foods that are approaching their expiration date. It generates alert data and sends it to the device.
[0171] Output: An alert is generated and sent to the terminal.
[0172] Step 7:
[0173] The terminal notifies the user of the alert.
[0174] Input: Alert data sent from the server.
[0175] What it does: The device displays a notification to the user saying, "Your tomatoes are nearing their expiration date (October 22, 2023)."
[0176] Output: User receives expiration date alert.
[0177] Step 8:
[0178] The user enters the name of a specific food item into the device and searches for storage methods.
[0179] Input: The food name entered by the user.
[0180] Operation: The device sends the food name to the server, and the server searches for the storage method by executing the query "SELECT storage method FROM storage table WHERE food name = 'tomato'".
[0181] Output: Data on how it is saved is sent to the device.
[0182] Step 9:
[0183] The device will present the user with a method for saving.
[0184] Input: Storage method data sent from the server.
[0185] What it does: The device displays information to the user, such as "It's best to store tomatoes in the crisper of your refrigerator and use them within 2-3 days."
[0186] Output: User can see how to store food.
[0187] Step 10:
[0188] The device sends a list of all the food items in the refrigerator to the server and searches for available recipes.
[0189] Input: A list of all the food items in the refrigerator.
[0190] Operation: The device sends the entire food list to the server, and the server executes the query "SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'" to find available recipes.
[0191] Output: Available recipe data is sent to the terminal.
[0192] Step 11:
[0193] The terminal presents available recipes to the user.
[0194] Input: Recipe data sent from the server.
[0195] What it does: The device displays recipes to the user, such as "Easy Tomato Salad" and "Tomato Soup."
[0196] Output: User can see available recipes.
[0197] (Application example 1)
[0198] 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."
[0199] Food management in modern brick-and-mortar stores requires a lot of manual work, and checking inventory and managing expiration dates is labor-intensive, so there is a need for greater efficiency. Furthermore, in order to effectively reduce food waste and promote sales, real-time information management and prompt notification to users are important. Furthermore, reducing the burden on store staff and providing high-quality service to customers are also key challenges.
[0200] 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.
[0201] In this invention, the server includes means for inputting food data, means for transmitting the input food data to the server, means for the server to store and update the food data in a database, means for the server to periodically scan the database to check inventory status, means for the server to check food expiration dates and generate alerts for foods approaching their expiration dates, means for transmitting alert data to a terminal and notifying the user, means for searching for and suggesting appropriate storage methods when a food name is input, means for searching for and suggesting recipes based on a list of foods in the refrigerator, means for automatically registering food inventory using an image recognition device with a barcode scanning function, and means for providing notifications based on inventory status and expiration dates to the user via a display device. This improves the efficiency of food management in stores, reduces food waste, and enables real-time inventory confirmation and expiration date management.
[0202] "Food data" refers to information about food managed in physical stores, including food name, purchase date, expiration date, and inventory quantity.
[0203] The "server" is a central management device that stores and updates food data, and also manages inventory status and expiration dates based on that data.
[0204] A "database" is a data storage system connected to a server that allows food data to be systematically stored, searched, and updated.
[0205] An "alert" is a warning message that is sent to users and store staff when a food product's expiration date is approaching or when a shortage of stock is detected.
[0206] An "image recognition device with barcode scanning functionality" is a device that reads barcodes and automatically recognizes and registers food data based on them.
[0207] The "display device" is a display device that visually presents inventory status and alert information to the user.
[0208] "Smart glasses" are electronic eyeglass-type devices equipped with barcode scanning and display functions, and are used to streamline food management in stores.
[0209] A "brick and mortar store" is a physical location where food and other goods are sold in person.
[0210] "Stock status" refers to information about the quantity and type of food currently available in the store.
[0211] "Best before date" is information related to the expiration date of food products, and is data indicating the period during which the quality of the food products will be maintained.
[0212] "Storage" refers to information about the means and methods for optimally storing a particular food product.
[0213] A "recipe" is step-by-step information that shows how to cook a dish or a method of making a dish using food.
[0214] A "terminal" is an electronic device that allows a user to input food data and check information, and includes smartphones, tablets, etc.
[0215] The present invention relates to a food management system for brick-and-mortar stores, specifically a system that manages food inventory and expiration dates and provides appropriate storage methods and notifications to users and store staff. This system is realized using hardware such as a user terminal, a server, smart glasses, an image recognition device with a barcode scanning function, and a display device.
[0216] System Overview
[0217] 1. Food data entry and automatic registration
[0218] When displaying food, the user wears the smart glasses and scans the food's barcode with an image recognition device, using the smart glasses' camera function.
[0219] Once the barcode is scanned, the information is automatically sent to a server and stored in a database, automating food data entry.
[0220] 2. Data storage and updating
[0221] The server stores the submitted food data in a database and updates existing data. The system uses SQL queries to store and update data.
[0222] 3. Check stock availability
[0223] The server periodically scans the database to check the availability of all food items in the store, and this information is reflected in real time on the smart glasses and display devices.
[0224] 4. Best before date management and alert notifications
[0225] The server monitors the expiration date of each food item and generates an alert when the expiration date approaches. The alert data is then sent to the smart glasses or a terminal, and the user or store staff are notified.
[0226] 5. Proposal for appropriate storage methods
[0227] When a user enters the name of a specific food item into the smart glasses or a device, the server searches the database for the appropriate storage method for that food and presents it to the user.
[0228] 6. Recipe suggestions
[0229] The device or smart glasses sends a list of available food items to the server, which then searches the database for available recipes based on the list and provides them to the user. The server then notifies the user of the results.
[0230] Hardware and software used
[0231] Smart Glasses: Electronic devices with barcode scanning and display capabilities (e.g., "Vuzix Blade").
[0232] Image recognition device: Used for barcode scanning.
[0233] Servers and databases: Used for data storage, updates, scanning, alert generation, and searching storage methods and recipes (e.g., MySQL®, SQLite).
[0234] Device: Smartphone or tablet (e.g., iOS, ANDROID (registered trademark)).
[0235] Specific examples
[0236] Examples of included data
[0237] Scanned barcode: 1234567890123 (fictitious barcode)
[0238] Database request: Send a JSON containing the barcode data using an INSERT statement
[0239] Inventory Check Request: Scans the database for stock availability and alert information
[0240] Example prompts to input to the generative AI model:
[0241] text
[0242] This invention shows an example of its application to food management in brick-and-mortar stores. Using smart glasses, the camera scans food barcodes, automatically registers and manages the information, and sends an alert when the expiration date is approaching.
[0243] Generate a concrete program and implement it using Python's OpenCV and requests libraries.
[0244] This system will make food management in physical stores more efficient, reduce food waste, and enable real-time inventory checking and expiration date management.
[0245] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0246] Step 1:
[0247] A user wears smart glasses and scans the barcode of a food item in a store. The smart glasses with barcode scanning function read the barcode of the food item. At this time, the image recognition device captures the barcode data and converts it into a digital format. The input data is the barcode information of the food item, and the output data is the digital barcode information.
[0248] Step 2:
[0249] The smart glasses send the scanned barcode information to the terminal, which receives the sent digital barcode information and formats it for sending to the server. The input data is the digital barcode information, and the output data is the formatted data for sending to the server.
[0250] Step 3:
[0251] The server stores the food data in a database based on the barcode information it receives. If the same food item already exists in the database, it updates that information. An "INSERT" or "UPDATE" operation is performed using an SQL query. The input data is the formatted barcode information, and the output data is the food data stored in the database.
[0252] Step 4:
[0253] The server periodically scans the database to check stock availability. The server runs a scheduled job to retrieve stock data for all foods. The input data is all food data in the database, and the output data is a list of stock availability.
[0254] Step 5:
[0255] The server checks the expiration date of each food item and generates alerts for foods that are approaching their expiration date. It filters out foods that are close to their expiration date and generates a list of alerts. The input data is a list of inventory status and expiration date data, and the output data is a list of alerts.
[0256] Step 6:
[0257] The server sends the generated alert data to the terminal. The terminal displays the received alert data on smart glasses or a display device to notify the user. The input data is a list of alerts, and the output data is the alert notification displayed to the user.
[0258] Step 7:
[0259] When a user inputs the name of a specific food, the server searches the database for the appropriate storage method for that food and presents it to the user. The input data is the food name, and the output data is information about the appropriate storage method.
[0260] Step 8:
[0261] The device or smart glasses sends the inventory list to the server, which then searches for and provides available recipes based on the list. The server then searches the recipe database, extracts appropriate recipes, and sends them to the device. The input data is the inventory list, and the output data is the suggested recipes.
[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] This invention combines an emotion engine with a food management system for use in a refrigerator. The system manages food inventory and expiration dates, suggests appropriate storage methods and recipes to users, and analyzes user emotions to make suggestions and notifications based on those analyses.
[0264] System Overview
[0265] 1. Food data entry and automatic registration
[0266] When a user puts new food in the refrigerator, they enter information such as the food name, purchase date, and expiration date via the device app. Food data can also be automatically registered using a barcode reader or photo recognition technology.
[0267] For example, if a user purchases a tomato, they can enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" into the terminal, or use a barcode reader to automatically enter the data.
[0268] 2. Introducing the Emotion Engine
[0269] The emotion engine installed in the device analyzes the emotions from the user's facial expressions and tone of voice when inputting, and obtains the emotional information (e.g., joy, sadness, stress, etc.) that the user is feeling at the time of input.
[0270] The terminal transmits the emotion data acquired by the emotion engine to the server.
[0271] 3. Data storage and updating
[0272] The device sends the input food data and emotion data to the server, which then stores the data in a database and updates existing data based on the new input information.
[0273] For example, the server executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[0274] 4. Check stock availability
[0275] The server periodically scans the database to check the availability of all food items in the refrigerator, and this information is updated in real time on the device for the user to view.
[0276] For example, it might say, "Current stock: Tomatoes (best before date: October 22, 2023)."
[0277] 5. Best before date management and alert notifications
[0278] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the terminal and notified to the user.
[0279] For example, when a tomato is nearing its expiration date, the server generates an alert stating, "The expiration date of the tomato is approaching. It is October 22, 2023," and notifies the terminal.
[0280] 6. Proposal for appropriate storage methods
[0281] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user.
[0282] For example, if you run an SQL query like "SELECT storage method FROM storage table WHERE food name = 'tomato'", the device will suggest, "It's best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0283] 7. Recipe Suggestions
[0284] The terminal sends a list of all the foods in the refrigerator to the server, which then searches a database for available recipes based on that list and provides them.
[0285] For example, a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'" is executed, and the terminal displays recipes such as "Easy salad with tomatoes" and "Tomato soup" to the user.
[0286] 8. Emotion-based suggestions and notifications
[0287] Based on the user's emotional data obtained by the server from the emotion engine, notifications are sent at appropriate times and in appropriate ways when suggesting food storage methods and recipes.
[0288] For example, if a user is feeling stressed, the app will suggest simple recipes that will help reduce stress.
[0289] The server also analyzes the user's past emotional data and makes customized suggestions based on their preferences and stress levels, such as "recently popular easy recipes" or "dishes that have a relaxing effect."
[0290] In this way, a system incorporating an emotion engine efficiently manages food in the refrigerator and makes flexible suggestions and notifications based on the user's emotions, thereby reducing food waste and easing the burden on the household budget.The system also contributes to improving user satisfaction and reducing stress.
[0291] The processing flow will be explained below.
[0292] Step 1:
[0293] When a user wants to put new food in the refrigerator, they open the app on their device and enter information such as the food name, purchase date, and expiration date, or they can use a barcode reader or photo recognition function to automatically enter food data.
[0294] Step 2:
[0295] The emotion engine installed on the device analyzes emotions from the user's facial expressions and tone of voice while they are typing. The camera and microphone capture the user's facial expressions and tone of voice while they are typing, and the emotion engine analyzes the data.
[0296] Step 3:
[0297] The device sends the emotional data (e.g., joy, sadness, stress) obtained as a result of the analysis to the server along with the food data. The emotional data is sent in a format such as JSON along with the food data.
[0298] Step 4:
[0299] The server stores the received food data and emotion data in a database. For example, it executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[0300] Step 5:
[0301] The server periodically scans the database to check the availability and expiry dates of all food items in the refrigerator, and this information is updated in real time on the device.
[0302] Step 6:
[0303] The terminal displays the inventory status sent from the server to the user. For example, it displays "Current inventory: Tomatoes (best before date: October 22, 2023)."
[0304] Step 7:
[0305] The server checks the expiration date of each food item and generates an alert for food items that are approaching their expiration date and sends it to the device. For example, it generates an alert saying, "The expiration date of tomatoes is approaching. The expiration date is October 22, 2023."
[0306] Step 8:
[0307] The device notifies the user of alerts received from the server, displaying them on the screen or in the notification bar so that the user can see them.
[0308] Step 9:
[0309] If a user wants to know how to preserve a particular food, he or she enters the name of the food into the terminal and sends a search request to the server, for example, "how to preserve tomatoes."
[0310] Step 10:
[0311] The server searches the database for the storage method and sends the results to the terminal. For example, it executes an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'".
[0312] Step 11:
[0313] The device displays the storage instructions received to the user, providing information such as "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0314] Step 12:
[0315] The device sends a list of all the foods in the refrigerator to the server, and the server searches for available recipes based on that list and sends the results to the device. For example, the following SQL query is executed: SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'.
[0316] Step 13:
[0317] The device displays the received recipes to the user, suggesting recipes such as "Easy salad with tomatoes" and "Tomato soup."
[0318] Step 14:
[0319] The server analyzes past emotional data and customizes storage methods and recipes based on the user's emotions. For example, if the user is feeling stressed, it will suggest simple and relaxing recipes.
[0320] Step 15:
[0321] The device will display personalized suggestions and notifications to the user based on their emotions, offering specific recipes such as "Relaxing Tomato Soup" to help users relax.
[0322] In this way, a system incorporating an emotion engine not only efficiently manages food in the refrigerator, but also makes flexible suggestions and notifications based on the user's emotions. This not only reduces food waste and eases the burden on the household budget, but also contributes to improving user satisfaction and reducing stress.
[0323] Example 2
[0324] 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."
[0325] Managing food in the refrigerator has become a major issue in modern households. Insufficient management of food inventory and expiration dates can lead to food waste and have adverse effects on consumers' health. Furthermore, there are few suggestions on how to store food or what recipes to use to cook it, placing a heavy burden on users. Furthermore, conventional systems do not take user emotions into consideration and are unable to provide personalized services.
[0326] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for inputting food data, a means for transmitting the input food data and user emotion data to the server, and a means for the server to store and update the food data and emotion data in a database. This makes it possible to efficiently manage food in the refrigerator and make personalized suggestions based on the user's emotions.
[0327] "Food data" refers to information including the name of the food, purchase date, expiration date, etc.
[0328] "Emotion data" is emotional information analyzed from the user's facial expressions, tone of voice, and the like.
[0329] A "terminal" is an electronic device that a user uses to input food data and emotion data.
[0330] The "server" is a central processing unit that stores, updates, and analyzes food data and emotion data in a database.
[0331] "Database" means an electronic data management system for storing food data and emotion data.
[0332] "Stock status" is information about the current status of all food items in the refrigerator.
[0333] The "best before" date is the date by which food is safe to consume and still delicious.
[0334] An "alert" is a warning message that notifies the user about food that is approaching its expiration date.
[0335] "Storage method" is information about how to store food under optimal conditions.
[0336] A "recipe" is a list of instructions and ingredients for cooking a particular food.
[0337] A "user" is a person who uses the system to manage food in a refrigerator.
[0338] The present invention combines an emotion engine with a food management system in a refrigerator, and is implemented in the following steps.
[0339] 1. System Configuration
[0340] This system consists of a terminal that accepts user input, a server that processes and stores food data and emotion data, and a database that stores this data.
[0341] The device is equipped with a barcode reader and photo recognition technology, as well as a built-in emotion engine.
[0342] The server has database management software installed to store and manage data.
[0343] 2. Food data entry and automatic registration
[0344] When a user puts new food in the refrigerator, the user uses a terminal application to input the food name, purchase date, expiration date, etc.
[0345] In addition, food data can be automatically registered using barcode readers and photo recognition technology.
[0346] For example, if a user purchases "tomatoes," they can directly enter "tomatoes, purchase date: October 15, 2023, expiration date: October 22, 2023" into the terminal application, or the data can be automatically obtained using a barcode reader.
[0347] 3. Acquiring and transmitting emotion data
[0348] When a user inputs food data, the device's built-in emotion engine analyzes the user's facial expressions and tone of voice to obtain emotional data such as joy, sadness, and stress.
[0349] The device transmits the acquired emotion data to the server in real time.
[0350] 4. Data storage and updating
[0351] The server receives the food data and emotion data sent from the terminal and stores them in a database.
[0352] The stored data is updated periodically based on new information.
[0353] 5. Availability Check and Notification
[0354] The server periodically scans the database to check the availability of all food items in the refrigerator, and this information is updated in real time on the device for the user to view.
[0355] For example, the server retrieves inventory status from the database and sends the information "Current inventory: Tomatoes (best before date: October 22, 2023)" to the terminal.
[0356] 6. Best before date management and alert notifications
[0357] The server monitors the expiration date of each food item and generates alerts for foods approaching their expiration date.
[0358] The alert is sent to the terminal and notified to the user.
[0359] For example, for tomatoes approaching their expiration date, the server generates an alert stating, "The expiration date of the tomatoes is approaching. The expiration date is October 22, 2023." and notifies the terminal.
[0360] 7. Proposal for appropriate storage methods
[0361] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it.
[0362] For example, when a user types in "tomato," the server will suggest, "It's best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2-3 days."
[0363] 8. Recipe Suggestions
[0364] The terminal sends a list of all the foods in the refrigerator to the server, which then searches a database for available recipes and provides them.
[0365] For example, recipes for "Easy salad with tomatoes" and "Tomato soup" will be displayed on the device.
[0366] 9. Emotion-based suggestions and notifications
[0367] The server analyzes the user's emotional data obtained from the emotion engine and suggests storage methods and recipes at the appropriate time and in the appropriate way.
[0368] In addition, customized suggestions are made based on past emotional and preference data.
[0369] For example, if the user is feeling stressed, the server will suggest "relaxing tomato soup" as an "easy recipe that reduces stress."
[0370] These features enable efficient food management in the refrigerator and flexible suggestions and notifications tailored to the user's mood, which is expected to reduce food waste, ease the burden on the household budget, and even increase user satisfaction and reduce stress.
[0371] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0372] Step 1:
[0373] When a user puts new food in the refrigerator, they use a terminal application to enter information such as the food name, purchase date, and expiration date. Input methods include manual entry, a barcode reader, and photo recognition technology. The input data includes the food name "Tomato," purchase date "October 15, 2023," and expiration date "October 22, 2023."
[0374] Step 2:
[0375] The emotion engine installed in the device analyzes the facial expressions and tone of voice when the user inputs data, and obtains emotion data such as joy, sadness, stress, etc. The input data includes images of the user's facial expressions and tone of voice, and the output is emotion data such as "joy."
[0376] Step 3:
[0377] The device sends the collected food data and emotion data to the server. Specifically, it sends a data packet containing the food name, purchase date, expiration date, and emotion data "joy" to the server.
[0378] Step 4:
[0379] The server stores the received food data and emotion data in a database. It generates the SQL query required to store the data in the database and saves the data in the format "INSERT INTO food table (food name, purchase date, expiration date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[0380] Step 5:
[0381] The server periodically scans the database to check the inventory status of all food items in the refrigerator. The server analyzes the inventory data retrieved from the database and sends it to the terminal in real time. The inventory data includes information such as "Current inventory: Tomatoes (best before date: October 22, 2023)."
[0382] Step 6:
[0383] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. It checks the expiration date field in the database and generates an alert message for food items approaching their expiration date. The generated alert message is sent to the terminal to notify the user. A specific alert message is in the format "The expiration date of tomatoes is approaching. The expiration date is October 22, 2023."
[0384] Step 7:
[0385] When a user inputs the name of a specific food item into the terminal, the server searches the database and suggests storage methods suitable for that food item. When "tomato" is given as input data, the SQL query "SELECT storage method FROM storage table WHERE food name = 'tomato'" is executed. The output is the storage method "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0386] Step 8:
[0387] When the device sends a list of all the foods in the refrigerator to the server, the server searches the database for available recipes based on that list. Specifically, if the food list includes "tomato," the SQL query "SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'" is executed. Recipes such as "Easy salad with tomatoes" and "Tomato soup" are displayed on the device as output.
[0388] Step 9:
[0389] The server customizes recipe and storage suggestions based on the user's emotional data obtained from the emotion engine. For example, if the user is feeling stressed, it will suggest recipes that have a stress-reducing effect. The emotional data "stress" is used as input, and the output is a suggestion such as "tomato soup with a relaxing effect."
[0390] (Application example 2)
[0391] 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."
[0392] Food management is a significant issue in modern society. In particular, insufficient management of food inventory and expiration dates can lead to increased food waste, placing a strain on household finances. Furthermore, applying the same management methods and alerts to users in different emotional states can reduce user satisfaction. Furthermore, current systems lack the ability to offer flexible suggestions tailored to users' emotions, resulting in limited user convenience. To address these issues, a system combining food management and emotion analysis is needed.
[0393] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0394] In this invention, the server includes a means for storing and updating food data in a database, a means for periodically scanning the database to check inventory status, and a means for checking food expiration dates and generating alerts for food items approaching their expiration dates. This not only enables efficient management of food inventory and expiration dates, but also enables analysis of user emotional data and the provision of suggestions and notifications based on that data. Specifically, the system provides a system that increases user satisfaction, reduces food waste, and alleviates the burden on household finances by customizing and suggesting appropriate storage methods and recipes based on the user's emotional state.
[0395] "Food data" refers to information such as the name of the food, purchase date, and expiration date.
[0396] The "server" is a computer system that stores food data and emotion data and processes and manages them.
[0397] A "database" is a collection of information including food data and emotion data managed by a server.
[0398] "Stock status" is information indicating the quantity and status of various foods stored in the refrigerator.
[0399] The "best before" date indicates the last day that food is tasty and safe to consume.
[0400] "Alerts" are warning messages that notify users about food that is nearing its expiration date or other important information.
[0401] "Terminal" refers to an input device such as a smartphone or tablet that allows a user to input and check data.
[0402] "Preservation method" refers to the method or technique for properly storing a particular food.
[0403] A "recipe" is a set of instructions or instructions for cooking using food.
[0404] "Emotion data" refers to information about emotions acquired from the user's facial expressions, voice tone, and the like.
[0405] An "emotion engine" is a technology that analyzes a user's emotions and makes appropriate suggestions and notifications based on those emotions.
[0406] "Customized suggestions" means providing preservation methods and recipes that are individually optimized according to the user's feelings and preferences.
[0407] The system of this invention inputs and automatically registers food data, introduces an emotion engine, saves and updates data, checks inventory status, manages expiration dates and sends alerts, suggests appropriate storage methods, suggests recipes, and makes suggestions and notifications based on emotions, thereby making food management more efficient and improving user satisfaction.
[0408] 1. Food data entry and automatic registration:
[0409] When a user puts new food in the refrigerator, they enter information such as the food name, purchase date, and expiration date via a device app. It is also possible to automatically register food data using a barcode reader or photo recognition technology. For example, if a user purchases a "tomato," they can enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" into the device, or use a barcode reader to automatically enter the data.
[0410] 2. Introducing the Emotion Engine:
[0411] The emotion engine installed in the device analyzes the emotions from the facial expressions and tone of voice of the user when they input information. This allows it to obtain the emotional information (e.g., joy, sadness, stress, etc.) that the user is feeling when they input information. The obtained emotional data is sent to the server.
[0412] 3. Data storage and updating:
[0413] The food data and emotion data sent from the device are stored on the server. The server records the data in a database and updates existing data based on the new input information. For example, data is saved using an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[0414] 4. Check availability:
[0415] The server periodically scans the database to check the availability of all food items in the refrigerator. This information is then updated in real time on the device, where the user can view it. For example, it might show "Current inventory: Tomatoes (best before date: October 22, 2023)."
[0416] 5. Best before date management and alert notifications:
[0417] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the device and notified to the user. For example, for tomatoes approaching their expiration date, an alert will be sent to the device stating, "The expiration date of your tomatoes is approaching. The expiration date is October 22, 2023."
[0418] 6. Proper storage suggestions:
[0419] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user. For example, by executing an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'", the terminal may suggest, "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0420] 7. Recipe Suggestions:
[0421] When a list of all the foods in the refrigerator is sent from the device to the server, the server searches the database for available recipes based on that information and provides them to the user. For example, a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'" is executed, and the device displays recipes such as "Easy salad with tomatoes" and "Tomato soup."
[0422] 8. Emotion-based suggestions and notifications:
[0423] The server will notify the user at the appropriate time and in the appropriate way when suggesting food preservation methods or recipes based on the user's emotional data obtained from the emotion engine. For example, if the user is feeling stressed, it will suggest simple recipes that have the effect of reducing stress. It will also analyze past emotional data and make customized suggestions based on the user's preferences and stress level. For example, it will suggest "easy recipes that are popular recently" or "dishes that have a relaxing effect."
[0424] Specific examples
[0425] Example prompt sentence:
[0426] "I have some tomatoes in the fridge. They're nearing their expiration date. Can you suggest a simple tomato salad recipe?"
[0427] "User is stressed. Can you suggest a recipe that will help reduce stress?"
[0428] This system not only improves the efficiency of food management, but also enables flexible and effective suggestions based on the user's emotions, which is expected to improve purchasing habits, reduce food waste, and further reduce the burden on household finances and increase user satisfaction.
[0429] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0430] Step 1:
[0431] Food data entry and automatic registration
[0432] When a user puts new food in the refrigerator, they input information such as the food name, purchase date, and expiration date via a terminal app. In addition, food data is automatically registered using a barcode reader and photo recognition technology. The input data is the food name, purchase date, and expiration date, and the output is the registered food data. For example, the data entered is "Tomato, purchase date: October 15, 2023, expiration date: October 22, 2023."
[0433] Step 2:
[0434] Acquiring emotion data
[0435] The emotion engine installed in the device analyzes the user's emotions from their facial expressions and tone of voice when they input. The input data is the user's facial expressions and tone of voice, and the output is the user's emotional information. For example, the emotion engine may analyze that the user is feeling "joy" when inputting.
[0436] Step 3:
[0437] Saving and updating data
[0438] The food data and emotion data sent from the device are stored on the server. The server records this data in a database and updates existing data based on new input information. The input is the newly registered food data and emotion data, and the output is the latest data stored in the database. For example, an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')" is executed.
[0439] Step 4:
[0440] Check stock availability
[0441] The server periodically scans the database to check the inventory status of all food items in the refrigerator. The input of the scan is all data in the database, and the output is real-time inventory status information. For example, information such as "Current inventory: Tomatoes (best before date: October 22, 2023)" is generated and reflected on the terminal.
[0442] Step 5:
[0443] Expiration date monitoring and alert notifications
[0444] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the terminal and notifies the user. The input is the expiration date of the food data, and the output is the generated alert message. For example, an alert saying "The expiration date of tomatoes is approaching. It is until October 22, 2023" is notified to the terminal.
[0445] Step 6:
[0446] Proposal for appropriate storage methods
[0447] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user. The input is the food name, and the output is a suggestion of an appropriate storage method. For example, by executing an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'", the terminal will suggest, "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0448] Step 7:
[0449] Recipe Suggestions
[0450] When a list of all the foods in the refrigerator is sent from the terminal to the server, the server searches the database for available recipes based on that information and provides them to the user. The input is the list of foods in the refrigerator, and the output is the available recipes. For example, a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'" is executed, and the terminal displays recipes such as "Easy salad with tomatoes" and "Tomato soup."
[0451] Step 8:
[0452] Emotion-based suggestions and notifications
[0453] The server will notify the user at the appropriate time and in the appropriate way when suggesting food preservation methods or recipes based on the user's emotional data obtained from the emotion engine. The input is the user's emotional data, and the output is customized suggestions based on the emotion. For example, if the user is feeling stressed, it will suggest simple recipes that have a stress-reducing effect. It will also analyze past emotional data and make customized suggestions based on preferences and stress levels. For example, it will suggest "easy recipes that are popular recently" or "dishes that have a relaxing effect."
[0454] 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.
[0455] 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.
[0456] 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.
[0457] [Second embodiment]
[0458] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0459] 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.
[0460] 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).
[0461] 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.
[0462] 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.
[0463] 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).
[0464] 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.
[0465] 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.
[0466] 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.
[0467] 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.
[0468] In the smart glasses 214, 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.
[0469] 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."
[0470] This invention relates to a food management system for refrigerators, specifically, a system that manages food inventory and expiration dates and suggests appropriate storage methods and recipes to users. This system features centralized data management using user terminals and a server.
[0471] System Overview
[0472] 1. Food data entry and automatic registration
[0473] When a user puts new food in the refrigerator, they enter information such as the food name, purchase date, and expiration date via the device app. It is also possible to automatically register food data using a barcode reader or photo recognition technology.
[0474] For example, if a user purchases a tomato, they can enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" into the terminal, or use a barcode reader to automatically enter the data.
[0475] 2. Data storage and updating
[0476] The device sends the entered food data to the server, which stores it in a database and also updates existing data based on the new information entered.
[0477] The server uses an SQL query to save the data in the database in the format "INSERT INTO food_table (food_name, purchase_date, best_before_date) VALUES ('tomato', '2023-10-15', '2023-10-22')".
[0478] 3. Check stock availability
[0479] The server periodically (e.g. once a day) scans the database to check the availability of all food items in the refrigerator. This information is then reflected in real time on the device and can be viewed by the user.
[0480] The terminal displays information to the user such as "Current stock: Tomatoes (best before date: October 22nd)."
[0481] 4. Best before date management and alert notifications
[0482] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the terminal and notified to the user.
[0483] For example, for tomatoes with a best-by date of October 22nd, an alert will be displayed on the device two days before the expiration date saying, "The best-by date of your tomatoes is approaching. The expiration date is October 22nd, 2023."
[0484] 5. Proposal for appropriate storage methods
[0485] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user.
[0486] The server executes a query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'", and the terminal suggests "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0487] 6. Recipe suggestions
[0488] The terminal sends a list of all the foods in the refrigerator to the server, and the server searches a database for available recipes based on the list and provides them.
[0489] The server executes a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'", and the terminal displays recipes such as "Easy salad with tomatoes" and "Tomato soup" to the user.
[0490] Specific examples
[0491] Example 1: Buying tomatoes and putting them in the refrigerator
[0492] The user places the tomatoes they have purchased in the refrigerator and enters the food data into the terminal app or uses a barcode reader to automatically register the information.
[0493] The device sends the data to the server, which stores it in a database.
[0494] The server periodically scans the database to check the availability and expiration dates of tomatoes.
[0495] When the expiration date approaches, the server generates an alert and notifies the terminal.
[0496] If a user wants to know how to store tomatoes, they search for "how to store tomatoes" on their device, and the server will suggest an appropriate method.
[0497] If a user wants to know about recipes using tomatoes, they send a request on their device, and the server searches for and suggests recipes.
[0498] This system allows for efficient management of food in the refrigerator, and is an effective way to reduce food waste and ease the burden on the household budget.
[0499] The processing flow will be explained below.
[0500] Step 1:
[0501] When a user wants to put new food in the refrigerator, they open the app on their device and enter information such as the food name, purchase date, and expiration date, or they can use a barcode reader or photo recognition function to automatically enter food data.
[0502] Step 2:
[0503] The device sends the food data entered to the server in standard formats such as JSON and XML.
[0504] Step 3:
[0505] The server stores the received food data in the database. For example, it executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, best_before_date) VALUES ('tomato', '2023-10-15', '2023-10-22')".
[0506] Step 4:
[0507] A server periodically (for example, once a day) scans the database to check food availability and expiration dates. This process is typically performed using a periodic job scheduler.
[0508] Step 5:
[0509] The server sends the scan results to the device, which then displays the inventory status to the user in real time. For example, it displays "Current inventory: Tomatoes (best before date: October 22, 2023)."
[0510] Step 6:
[0511] The server checks the expiration date of each food item and generates an alert if any food item is nearing its expiration date. The alert data includes the food name and expiration date.
[0512] Step 7:
[0513] The server sends the generated alert data to the device, which then notifies the user. The user's device displays the message, "The expiration date of the tomatoes is approaching. The expiration date is October 22, 2023."
[0514] Step 8:
[0515] A user searches on their device for information on how to preserve a particular food item. For example, if they want to know how to preserve tomatoes, they can type in "how to preserve tomatoes."
[0516] Step 9:
[0517] The terminal sends the user's request to the server, which searches for the storage method in the database, for example, by executing an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'".
[0518] Step 10:
[0519] The server sends the search results to the device, which displays them to the user, such as "It's best to store tomatoes in the vegetable compartment of your refrigerator and use them up within 2-3 days."
[0520] Step 11:
[0521] The device sends a list of all the foods in the refrigerator to the server, and the server searches for available recipes based on that list. For example, it executes a query such as "SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'".
[0522] Step 12:
[0523] The server sends the search result recipe list to the device, which displays it to the user. Recipes such as "Easy salad with tomatoes" and "Tomato soup" are suggested.
[0524] In this way, each step is carried out in cooperation with the user, the device, and the server, resulting in a system that efficiently manages food in the refrigerator, reduces food waste, and eases the burden on the household budget.
[0525] Example 1
[0526] 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."
[0527] Managing food in the refrigerator is a crucial issue for modern households. Without proper knowledge of food inventory and expiration dates, food waste increases, leading to wasteful spending and increased environmental impact. Food also often spoils quickly due to lack of proper storage methods. Furthermore, food waste can occur due to a lack of recipe suggestions for effectively utilizing food in the refrigerator. To solve these problems, a system is needed that allows users to easily manage food data, understand expiration dates and storage methods, and suggest appropriate recipes.
[0528] 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.
[0529] In this invention, the server includes means for a user to input food data, means for transmitting the input food data to the server, means for the server to save and update the food data in a database, means for the server to periodically scan the database to check inventory status, means for the server to check food expiration dates and generate alerts for foods approaching their expiration dates, means for transmitting alert data to a terminal and notifying the user, means for searching for and suggesting appropriate storage methods based on the food names entered by the user, and means for searching for and suggesting available recipes based on the list of foods in the refrigerator. This makes it possible to manage food in the refrigerator more efficiently, reduce food waste, and lighten the burden on the household budget.
[0530] "User" refers to a person who uses the refrigerator management system.
[0531] "Food data" refers to data that includes information such as the name of the food, purchase date, and expiration date.
[0532] "Server" refers to the central processing unit that stores, updates, monitors, and notifies food data.
[0533] "Terminal" refers to a device such as a smartphone or tablet operated by a user.
[0534] "Database" refers to an information storage system built within a server that stores various food data.
[0535] "Barcode reader" refers to a device that reads barcodes and obtains corresponding food data.
[0536] "Image recognition technology" refers to technology that analyzes images to identify foods and automatically input data.
[0537] "Stock status" refers to information indicating the type and amount of food currently stored in the refrigerator.
[0538] "Best before" refers to the last day that a food product can maintain its quality.
[0539] An "alert" refers to a warning message that notifies the user that the expiration date is approaching.
[0540] "Preservation method" refers to the method for properly preserving each food item.
[0541] A "recipe" refers to a list of instructions and ingredients for cooking a particular food product.
[0542] "Refrigerator food list" refers to a list of all the foods stored in the refrigerator.
[0543] "Automatic entry" refers to the use of barcode readers or image recognition technology to enter food data without the user having to manually enter it.
[0544] This invention relates to a food management system for refrigerators, specifically, a system that manages food inventory and expiration dates and suggests appropriate storage methods and recipes to users. This system features centralized data management using user terminals and a server.
[0545] Hardware and Software Overview
[0546] This system operates using a user's device (smartphone or tablet) and a central server. An application for entering food data is installed on the device, and the server has a database for storing and managing the food data. It is also possible to automatically enter food data using a barcode reader or image recognition technology. The server also manages the food data using a database management system such as SQL.
[0547] Specific operation of the system
[0548] 1. User operations
[0549] When a user puts new food in the refrigerator, they use the device app to enter information such as the food name, purchase date, and expiration date. Food data can also be automatically registered using a barcode reader or image recognition technology. For example, if a user buys a tomato and puts it in the refrigerator, they can enter "Tomato, Purchase Date: October 15, 2023, Best Before Date: October 22, 2023" into the device, or scan the barcode to automatically enter the data.
[0550] 2. Data transmission and storage
[0551] The terminal sends the entered food data to the server. The server saves the received data in the database and updates existing data as necessary. The server uses an SQL query to save the data in the database in the format "INSERT INTO food table (food name, purchase date, expiration date) VALUES ('tomato', '2023-10-15', '2023-10-22')".
[0552] 3. Check stock availability
[0553] The server periodically scans the database to check the availability of all food items in the refrigerator. This information is updated in real time on the device and can be viewed by the user. For example, the device might display information such as "Current inventory: Tomatoes (best before date: October 22, 2023)" to the user.
[0554] 4. Best before date management and alert notifications
[0555] The server monitors the expiration date of each food item and generates an alert for food items approaching the expiration date. The alert data is sent to the device and notified to the user. For example, for tomatoes with an expiration date of October 22nd, an alert will be displayed on the device two days before the expiration date saying, "The expiration date of the tomatoes is approaching. The expiration date is October 22nd, 2023."
[0556] 5. Storage suggestions
[0557] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user. The server executes the query "SELECT storage method FROM storage table WHERE food name = 'tomato'", and the terminal suggests, "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0558] 6. Recipe suggestions
[0559] The device sends a list of all the foods in the refrigerator to the server, and the server searches the database for available recipes based on that list. The server executes the query "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'", and the device displays recipes such as "Easy salad with tomatoes" and "Tomato soup" to the user.
[0560] Specific examples
[0561] Example 1: Buying tomatoes and putting them in the refrigerator
[0562] 1. The user places the purchased tomatoes in the refrigerator and enters the food data into the terminal app or uses a barcode reader to automatically register the information.
[0563] 2. The device sends the data to the server, which stores it in a database.
[0564] 3. The server periodically scans the database to check the availability and expiration dates of tomatoes.
[0565] 4. When the expiration date approaches, the server generates an alert and notifies the device.
[0566] 5. If the user wants to know how to store tomatoes, they search for "how to store tomatoes" on their device, and the server suggests an appropriate method.
[0567] 6. If a user wants to know about recipes using tomatoes, they send a request on their device and the server searches for and suggests recipes.
[0568] Example prompts for generative AI models
[0569] "Create a program that uses a refrigerator management system to register newly purchased food items and display alerts when the expiration date approaches. It also includes features that suggest storage methods and recipes."
[0570] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0571] Step 1:
[0572] When a user puts new food in the refrigerator, they use a device app to enter information such as the food name, purchase date, and expiration date.
[0573] Input: Information such as food name, purchase date, and expiration date.
[0574] How it works: The user enters food information on the app screen or scans the barcode using a barcode reader, and the food is automatically registered using image recognition.
[0575] Output: The entered food data is temporarily saved on the device.
[0576] Step 2:
[0577] The terminal transmits the input food data to the server.
[0578] Input: Food data entered by the user into the device.
[0579] How it works: The device makes an API call to send data to the server, typically in JSON format.
[0580] Output: Food data is sent to the server.
[0581] Step 3:
[0582] The server stores the received food data in a database and updates existing data as needed.
[0583] Input: Food data sent from the device.
[0584] Behavior: The server executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, best_before_date) VALUES ('tomato', '2023-10-15', '2023-10-22')" and saves it in the database. Also, if the same food name exists, it executes an update query.
[0585] Output: Food data is saved or updated in the database.
[0586] Step 4:
[0587] The server periodically scans the database to determine the availability of all food items in the refrigerator.
[0588] Input: All food data in the database.
[0589] Operation: The server periodically (for example, once a day) executes the query "SELECT FROM food table WHERE expiration date > current date" to check the inventory status in the refrigerator.
[0590] Output: A list of stock availability is generated and sent to the terminal.
[0591] Step 5:
[0592] The terminal displays the inventory list to the user.
[0593] Input: A list of stock availability sent from the server.
[0594] What it does: The device displays information such as "Current stock: Tomatoes (Best before date: October 22, 2023)" on the screen.
[0595] Output: User can check stock status in real time.
[0596] Step 6:
[0597] The server monitors the expiration date of each food item and generates alerts for foods approaching their expiration date.
[0598] Input: All food data in the database.
[0599] Operation: The server periodically executes the query "SELECT FROM food table WHERE expiration date <= current date + 2" to identify foods that are approaching their expiration date. It generates alert data and sends it to the device.
[0600] Output: An alert is generated and sent to the terminal.
[0601] Step 7:
[0602] The terminal notifies the user of the alert.
[0603] Input: Alert data sent from the server.
[0604] What it does: The device displays a notification to the user saying, "Your tomatoes are nearing their expiration date (October 22, 2023)."
[0605] Output: User receives expiration date alert.
[0606] Step 8:
[0607] The user enters the name of a specific food item into the device and searches for storage methods.
[0608] Input: The food name entered by the user.
[0609] Operation: The device sends the food name to the server, and the server searches for the storage method by executing the query "SELECT storage method FROM storage table WHERE food name = 'tomato'".
[0610] Output: Data on how it is saved is sent to the device.
[0611] Step 9:
[0612] The device will present the user with a method for saving.
[0613] Input: Storage method data sent from the server.
[0614] What it does: The device displays information to the user, such as "It's best to store tomatoes in the crisper of your refrigerator and use them within 2-3 days."
[0615] Output: User can see how to store food.
[0616] Step 10:
[0617] The device sends a list of all the food items in the refrigerator to the server and searches for available recipes.
[0618] Input: A list of all the food items in the refrigerator.
[0619] Operation: The device sends the entire food list to the server, and the server executes the query "SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'" to find available recipes.
[0620] Output: Available recipe data is sent to the terminal.
[0621] Step 11:
[0622] The terminal presents available recipes to the user.
[0623] Input: Recipe data sent from the server.
[0624] What it does: The device displays recipes to the user, such as "Easy Tomato Salad" and "Tomato Soup."
[0625] Output: User can see available recipes.
[0626] (Application example 1)
[0627] 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."
[0628] Food management in modern brick-and-mortar stores requires a lot of manual work, and checking inventory and managing expiration dates is labor-intensive, so there is a need for greater efficiency. Furthermore, in order to effectively reduce food waste and promote sales, real-time information management and prompt notification to users are important. Furthermore, reducing the burden on store staff and providing high-quality service to customers are also key challenges.
[0629] 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.
[0630] In this invention, the server includes means for inputting food data, means for transmitting the input food data to the server, means for the server to store and update the food data in a database, means for the server to periodically scan the database to check inventory status, means for the server to check food expiration dates and generate alerts for foods approaching their expiration dates, means for transmitting alert data to a terminal and notifying the user, means for searching for and suggesting appropriate storage methods when a food name is input, means for searching for and suggesting recipes based on a list of foods in the refrigerator, means for automatically registering food inventory using an image recognition device with a barcode scanning function, and means for providing notifications based on inventory status and expiration dates to the user via a display device. This improves the efficiency of food management in stores, reduces food waste, and enables real-time inventory confirmation and expiration date management.
[0631] "Food data" refers to information about food managed in physical stores, including food name, purchase date, expiration date, and inventory quantity.
[0632] The "server" is a central management device that stores and updates food data, and also manages inventory status and expiration dates based on that data.
[0633] A "database" is a data storage system connected to a server that allows food data to be systematically stored, searched, and updated.
[0634] An "alert" is a warning message that is sent to users and store staff when a food product's expiration date is approaching or when a shortage of stock is detected.
[0635] An "image recognition device with barcode scanning functionality" is a device that reads barcodes and automatically recognizes and registers food data based on them.
[0636] The "display device" is a display device that visually presents inventory status and alert information to the user.
[0637] "Smart glasses" are electronic eyeglass-type devices equipped with barcode scanning and display functions, and are used to streamline food management in stores.
[0638] A "brick and mortar store" is a physical location where food and other goods are sold in person.
[0639] "Stock status" refers to information about the quantity and type of food currently available in the store.
[0640] "Best before date" is information related to the expiration date of food products, and is data indicating the period during which the quality of the food products will be maintained.
[0641] "Storage" refers to information about the means and methods for optimally storing a particular food product.
[0642] A "recipe" is step-by-step information that shows how to cook a dish or a method of making a dish using food.
[0643] A "terminal" is an electronic device that allows a user to input food data and check information, and includes smartphones, tablets, etc.
[0644] The present invention relates to a food management system for brick-and-mortar stores, specifically a system that manages food inventory and expiration dates and provides appropriate storage methods and notifications to users and store staff. This system is realized using hardware such as a user terminal, a server, smart glasses, an image recognition device with a barcode scanning function, and a display device.
[0645] System Overview
[0646] 1. Food data entry and automatic registration
[0647] When displaying food, the user wears the smart glasses and scans the food's barcode with an image recognition device, using the smart glasses' camera function.
[0648] Once the barcode is scanned, the information is automatically sent to a server and stored in a database, automating food data entry.
[0649] 2. Data storage and updating
[0650] The server stores the submitted food data in a database and updates existing data. The system uses SQL queries to store and update data.
[0651] 3. Check stock availability
[0652] The server periodically scans the database to check the availability of all food items in the store, and this information is reflected in real time on the smart glasses and display devices.
[0653] 4. Best before date management and alert notifications
[0654] The server monitors the expiration date of each food item and generates an alert when the expiration date approaches. The alert data is then sent to the smart glasses or a terminal, and the user or store staff are notified.
[0655] 5. Proposal for appropriate storage methods
[0656] When a user enters the name of a specific food item into the smart glasses or a device, the server searches the database for the appropriate storage method for that food and presents it to the user.
[0657] 6. Recipe suggestions
[0658] The device or smart glasses sends a list of available food items to the server, which then searches the database for available recipes based on the list and provides them to the user. The server then notifies the user of the results.
[0659] Hardware and software used
[0660] Smart Glasses: Electronic devices with barcode scanning and display capabilities (e.g., "Vuzix Blade").
[0661] Image recognition device: Used for barcode scanning.
[0662] Servers and databases: Used for data storage, updates, scanning, alert generation, and searching storage methods and recipes (e.g., "MySQL", "SQLite").
[0663] Device: smartphone or tablet (e.g., iOS, Android).
[0664] Specific examples
[0665] Examples of included data
[0666] Scanned barcode: 1234567890123 (fictitious barcode)
[0667] Database request: Send a JSON containing the barcode data using an INSERT statement
[0668] Inventory Check Request: Scans the database for stock availability and alert information
[0669] Example prompts to input to the generative AI model:
[0670] text
[0671] This invention shows an example of its application to food management in brick-and-mortar stores. Using smart glasses, the camera scans food barcodes, automatically registers and manages the information, and sends an alert when the expiration date is approaching.
[0672] Generate a concrete program and implement it using Python's OpenCV and requests libraries.
[0673] This system will make food management in physical stores more efficient, reduce food waste, and enable real-time inventory checking and expiration date management.
[0674] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0675] Step 1:
[0676] A user wears smart glasses and scans the barcode of a food item in a store. The smart glasses with barcode scanning function read the barcode of the food item. At this time, the image recognition device captures the barcode data and converts it into a digital format. The input data is the barcode information of the food item, and the output data is the digital barcode information.
[0677] Step 2:
[0678] The smart glasses send the scanned barcode information to the terminal, which receives the sent digital barcode information and formats it for sending to the server. The input data is the digital barcode information, and the output data is the formatted data for sending to the server.
[0679] Step 3:
[0680] The server stores the food data in a database based on the barcode information it receives. If the same food item already exists in the database, it updates that information. An "INSERT" or "UPDATE" operation is performed using an SQL query. The input data is the formatted barcode information, and the output data is the food data stored in the database.
[0681] Step 4:
[0682] The server periodically scans the database to check stock availability. The server runs a scheduled job to retrieve stock data for all foods. The input data is all food data in the database, and the output data is a list of stock availability.
[0683] Step 5:
[0684] The server checks the expiration date of each food item and generates alerts for foods that are approaching their expiration date. It filters out foods that are close to their expiration date and generates a list of alerts. The input data is a list of inventory status and expiration date data, and the output data is a list of alerts.
[0685] Step 6:
[0686] The server sends the generated alert data to the terminal. The terminal displays the received alert data on smart glasses or a display device to notify the user. The input data is a list of alerts, and the output data is the alert notification displayed to the user.
[0687] Step 7:
[0688] When a user inputs the name of a specific food, the server searches the database for the appropriate storage method for that food and presents it to the user. The input data is the food name, and the output data is information about the appropriate storage method.
[0689] Step 8:
[0690] The device or smart glasses sends the inventory list to the server, which then searches for and provides available recipes based on the list. The server then searches the recipe database, extracts appropriate recipes, and sends them to the device. The input data is the inventory list, and the output data is the suggested recipes.
[0691] 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.
[0692] This invention combines an emotion engine with a food management system for use in a refrigerator. The system manages food inventory and expiration dates, suggests appropriate storage methods and recipes to users, and analyzes user emotions to make suggestions and notifications based on those analyses.
[0693] System Overview
[0694] 1. Food data entry and automatic registration
[0695] When a user puts new food in the refrigerator, they enter information such as the food name, purchase date, and expiration date via the device app. Food data can also be automatically registered using a barcode reader or photo recognition technology.
[0696] For example, if a user purchases a tomato, they can enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" into the terminal, or use a barcode reader to automatically enter the data.
[0697] 2. Introducing the Emotion Engine
[0698] The emotion engine installed in the device analyzes the emotions from the user's facial expressions and tone of voice when inputting, and obtains the emotional information (e.g., joy, sadness, stress, etc.) that the user is feeling at the time of input.
[0699] The terminal transmits the emotion data acquired by the emotion engine to the server.
[0700] 3. Data storage and updating
[0701] The device sends the input food data and emotion data to the server, which then stores the data in a database and updates existing data based on the new input information.
[0702] For example, the server executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[0703] 4. Check stock availability
[0704] The server periodically scans the database to check the availability of all food items in the refrigerator, and this information is updated in real time on the device for the user to view.
[0705] For example, it might say, "Current stock: Tomatoes (best before date: October 22, 2023)."
[0706] 5. Best before date management and alert notifications
[0707] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the terminal and notified to the user.
[0708] For example, when a tomato is nearing its expiration date, the server generates an alert stating, "The expiration date of the tomato is approaching. It is October 22, 2023," and notifies the terminal.
[0709] 6. Proposal for appropriate storage methods
[0710] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user.
[0711] For example, if you run an SQL query like "SELECT storage method FROM storage table WHERE food name = 'tomato'", the device will suggest, "It's best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0712] 7. Recipe Suggestions
[0713] The terminal sends a list of all the foods in the refrigerator to the server, which then searches a database for available recipes based on that list and provides them.
[0714] For example, a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'" is executed, and the terminal displays recipes such as "Easy salad with tomatoes" and "Tomato soup" to the user.
[0715] 8. Emotion-based suggestions and notifications
[0716] Based on the user's emotional data obtained by the server from the emotion engine, notifications are sent at appropriate times and in appropriate ways when suggesting food storage methods and recipes.
[0717] For example, if a user is feeling stressed, the app will suggest simple recipes that will help reduce stress.
[0718] The server also analyzes the user's past emotional data and makes customized suggestions based on their preferences and stress levels, such as "recently popular easy recipes" or "dishes that have a relaxing effect."
[0719] In this way, a system incorporating an emotion engine efficiently manages food in the refrigerator and makes flexible suggestions and notifications based on the user's emotions, thereby reducing food waste and easing the burden on the household budget.The system also contributes to improving user satisfaction and reducing stress.
[0720] The processing flow will be explained below.
[0721] Step 1:
[0722] When a user wants to put new food in the refrigerator, they open the app on their device and enter information such as the food name, purchase date, and expiration date, or they can use a barcode reader or photo recognition function to automatically enter food data.
[0723] Step 2:
[0724] The emotion engine installed on the device analyzes emotions from the user's facial expressions and tone of voice while they are typing. The camera and microphone capture the user's facial expressions and tone of voice while they are typing, and the emotion engine analyzes the data.
[0725] Step 3:
[0726] The device sends the emotional data (e.g., joy, sadness, stress) obtained as a result of the analysis to the server along with the food data. The emotional data is sent in a format such as JSON along with the food data.
[0727] Step 4:
[0728] The server stores the received food data and emotion data in a database. For example, it executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[0729] Step 5:
[0730] The server periodically scans the database to check the availability and expiry dates of all food items in the refrigerator, and this information is updated in real time on the device.
[0731] Step 6:
[0732] The terminal displays the inventory status sent from the server to the user. For example, it displays "Current inventory: Tomatoes (best before date: October 22, 2023)."
[0733] Step 7:
[0734] The server checks the expiration date of each food item and generates an alert for food items that are approaching their expiration date and sends it to the device. For example, it generates an alert saying, "The expiration date of tomatoes is approaching. The expiration date is October 22, 2023."
[0735] Step 8:
[0736] The device notifies the user of alerts received from the server, displaying them on the screen or in the notification bar so that the user can see them.
[0737] Step 9:
[0738] If a user wants to know how to preserve a particular food, he or she enters the name of the food into the terminal and sends a search request to the server, for example, "how to preserve tomatoes."
[0739] Step 10:
[0740] The server searches the database for the storage method and sends the results to the terminal. For example, it executes an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'".
[0741] Step 11:
[0742] The device displays the storage instructions received to the user, providing information such as "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0743] Step 12:
[0744] The device sends a list of all the foods in the refrigerator to the server, and the server searches for available recipes based on that list and sends the results to the device. For example, the following SQL query is executed: SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'.
[0745] Step 13:
[0746] The device displays the received recipes to the user, suggesting recipes such as "Easy salad with tomatoes" and "Tomato soup."
[0747] Step 14:
[0748] The server analyzes past emotional data and customizes storage methods and recipes based on the user's emotions. For example, if the user is feeling stressed, it will suggest simple and relaxing recipes.
[0749] Step 15:
[0750] The device will display personalized suggestions and notifications to the user based on their emotions, offering specific recipes such as "Relaxing Tomato Soup" to help users relax.
[0751] In this way, a system incorporating an emotion engine not only efficiently manages food in the refrigerator, but also makes flexible suggestions and notifications based on the user's emotions. This not only reduces food waste and eases the burden on the household budget, but also contributes to improving user satisfaction and reducing stress.
[0752] Example 2
[0753] 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."
[0754] Managing food in the refrigerator has become a major issue in modern households. Insufficient management of food inventory and expiration dates can lead to food waste and have adverse effects on consumers' health. Furthermore, there are few suggestions on how to store food or what recipes to use to cook it, placing a heavy burden on users. Furthermore, conventional systems do not take user emotions into consideration and are unable to provide personalized services.
[0755] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for inputting food data, a means for transmitting the input food data and user emotion data to the server, and a means for the server to store and update the food data and emotion data in a database. This makes it possible to efficiently manage food in the refrigerator and make personalized suggestions based on the user's emotions.
[0756] "Food data" refers to information including the name of the food, purchase date, expiration date, etc.
[0757] "Emotion data" is emotional information analyzed from the user's facial expressions, tone of voice, and the like.
[0758] A "terminal" is an electronic device that a user uses to input food data and emotion data.
[0759] The "server" is a central processing unit that stores, updates, and analyzes food data and emotion data in a database.
[0760] "Database" means an electronic data management system for storing food data and emotion data.
[0761] "Stock status" is information about the current status of all food items in the refrigerator.
[0762] The "best before" date is the date by which food is safe to consume and still delicious.
[0763] An "alert" is a warning message that notifies the user about food that is approaching its expiration date.
[0764] "Storage method" is information about how to store food under optimal conditions.
[0765] A "recipe" is a list of instructions and ingredients for cooking a particular food.
[0766] A "user" is a person who uses the system to manage food in a refrigerator.
[0767] The present invention combines an emotion engine with a food management system in a refrigerator, and is implemented in the following steps.
[0768] 1. System Configuration
[0769] This system consists of a terminal that accepts user input, a server that processes and stores food data and emotion data, and a database that stores this data.
[0770] The device is equipped with a barcode reader and photo recognition technology, as well as a built-in emotion engine.
[0771] The server has database management software installed to store and manage data.
[0772] 2. Food data entry and automatic registration
[0773] When a user puts new food in the refrigerator, the user uses a terminal application to input the food name, purchase date, expiration date, etc.
[0774] In addition, food data can be automatically registered using barcode readers and photo recognition technology.
[0775] For example, if a user purchases a tomato, they can either enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" directly into the terminal application, or use a barcode reader to automatically obtain the data.
[0776] 3. Acquiring and transmitting emotion data
[0777] When a user inputs food data, the device's built-in emotion engine analyzes the user's facial expressions and tone of voice to obtain emotional data such as joy, sadness, and stress.
[0778] The device transmits the acquired emotion data to the server in real time.
[0779] 4. Data storage and updating
[0780] The server receives the food data and emotion data sent from the terminal and stores them in a database.
[0781] The stored data is updated periodically based on new information.
[0782] 5. Availability Check and Notification
[0783] The server periodically scans the database to check the availability of all food items in the refrigerator, and this information is updated in real time on the device for the user to view.
[0784] For example, the server retrieves inventory status from the database and sends the information "Current inventory: Tomatoes (best before date: October 22, 2023)" to the terminal.
[0785] 6. Best before date management and alert notifications
[0786] The server monitors the expiration date of each food item and generates alerts for foods approaching their expiration date.
[0787] The alert is sent to the terminal and notified to the user.
[0788] For example, for tomatoes approaching their expiration date, the server generates an alert stating, "The expiration date of the tomatoes is approaching. The expiration date is October 22, 2023." and notifies the terminal.
[0789] 7. Proposal for appropriate storage methods
[0790] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it.
[0791] For example, when a user types in "tomato," the server will suggest, "It's best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2-3 days."
[0792] 8. Recipe Suggestions
[0793] The terminal sends a list of all the foods in the refrigerator to the server, which then searches a database for available recipes and provides them.
[0794] For example, recipes for "Easy salad with tomatoes" and "Tomato soup" will be displayed on the device.
[0795] 9. Emotion-based suggestions and notifications
[0796] The server analyzes the user's emotional data obtained from the emotion engine and suggests storage methods and recipes at the appropriate time and in the appropriate way.
[0797] In addition, customized suggestions are made based on past emotional and preference data.
[0798] For example, if the user is feeling stressed, the server will suggest "relaxing tomato soup" as an "easy recipe that reduces stress."
[0799] These features enable efficient food management in the refrigerator and flexible suggestions and notifications tailored to the user's mood, which is expected to reduce food waste, ease the burden on the household budget, and even increase user satisfaction and reduce stress.
[0800] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0801] Step 1:
[0802] When a user puts new food in the refrigerator, they use a terminal application to enter information such as the food name, purchase date, and expiration date. Input methods include manual entry, a barcode reader, and photo recognition technology. The input data includes the food name "Tomato," purchase date "October 15, 2023," and expiration date "October 22, 2023."
[0803] Step 2:
[0804] The emotion engine installed in the device analyzes the facial expressions and tone of voice when the user inputs data, and obtains emotion data such as joy, sadness, stress, etc. The input data includes images of the user's facial expressions and tone of voice, and the output is emotion data such as "joy."
[0805] Step 3:
[0806] The device sends the collected food data and emotion data to the server. Specifically, it sends a data packet containing the food name, purchase date, expiration date, and emotion data "joy" to the server.
[0807] Step 4:
[0808] The server stores the received food data and emotion data in a database. It generates the SQL query required to store the data in the database and saves the data in the format "INSERT INTO food table (food name, purchase date, expiration date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[0809] Step 5:
[0810] The server periodically scans the database to check the inventory status of all food items in the refrigerator. The server analyzes the inventory data retrieved from the database and sends it to the terminal in real time. The inventory data includes information such as "Current inventory: Tomatoes (best before date: October 22, 2023)."
[0811] Step 6:
[0812] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. It checks the expiration date field in the database and generates an alert message for food items approaching their expiration date. The generated alert message is sent to the terminal to notify the user. A specific alert message is in the format "The expiration date of tomatoes is approaching. The expiration date is October 22, 2023."
[0813] Step 7:
[0814] When a user inputs the name of a specific food item into the terminal, the server searches the database and suggests storage methods suitable for that food item. When "tomato" is given as input data, the SQL query "SELECT storage method FROM storage table WHERE food name = 'tomato'" is executed. The output is the storage method "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0815] Step 8:
[0816] When the device sends a list of all the foods in the refrigerator to the server, the server searches the database for available recipes based on that list. Specifically, if the food list includes "tomato," the SQL query "SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'" is executed. Recipes such as "Easy salad with tomatoes" and "Tomato soup" are displayed on the device as output.
[0817] Step 9:
[0818] The server customizes recipe and storage suggestions based on the user's emotional data obtained from the emotion engine. For example, if the user is feeling stressed, it will suggest recipes that have a stress-reducing effect. The emotional data "stress" is used as input, and the output is a suggestion such as "tomato soup with a relaxing effect."
[0819] (Application example 2)
[0820] 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."
[0821] Food management is a significant issue in modern society. In particular, insufficient management of food inventory and expiration dates can lead to increased food waste, placing a strain on household finances. Furthermore, applying the same management methods and alerts to users in different emotional states can reduce user satisfaction. Furthermore, current systems lack the ability to offer flexible suggestions tailored to users' emotions, resulting in limited user convenience. To address these issues, a system combining food management and emotion analysis is needed.
[0822] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0823] In this invention, the server includes a means for storing and updating food data in a database, a means for periodically scanning the database to check inventory status, and a means for checking food expiration dates and generating alerts for food items approaching their expiration dates. This not only enables efficient management of food inventory and expiration dates, but also enables analysis of user emotional data and the provision of suggestions and notifications based on that data. Specifically, the system provides a system that increases user satisfaction, reduces food waste, and alleviates the burden on household finances by customizing and suggesting appropriate storage methods and recipes based on the user's emotional state.
[0824] "Food data" refers to information such as the name of the food, purchase date, and expiration date.
[0825] The "server" is a computer system that stores food data and emotion data and processes and manages them.
[0826] A "database" is a collection of information including food data and emotion data managed by a server.
[0827] "Stock status" is information indicating the quantity and status of various foods stored in the refrigerator.
[0828] The "best before" date indicates the last day that food is tasty and safe to consume.
[0829] "Alerts" are warning messages that notify users about food that is nearing its expiration date or other important information.
[0830] "Terminal" refers to an input device such as a smartphone or tablet that allows a user to input and check data.
[0831] "Preservation method" refers to the method or technique for properly storing a particular food.
[0832] A "recipe" is a set of instructions or instructions for cooking using food.
[0833] "Emotion data" refers to information about emotions acquired from the user's facial expressions, voice tone, and the like.
[0834] An "emotion engine" is a technology that analyzes a user's emotions and makes appropriate suggestions and notifications based on those emotions.
[0835] "Customized suggestions" means providing preservation methods and recipes that are individually optimized according to the user's feelings and preferences.
[0836] The system of this invention inputs and automatically registers food data, introduces an emotion engine, saves and updates data, checks inventory status, manages expiration dates and sends alerts, suggests appropriate storage methods, suggests recipes, and makes suggestions and notifications based on emotions, thereby making food management more efficient and improving user satisfaction.
[0837] 1. Food data entry and automatic registration:
[0838] When a user puts new food in the refrigerator, they enter information such as the food name, purchase date, and expiration date via a device app. It is also possible to automatically register food data using a barcode reader or photo recognition technology. For example, if a user purchases a "tomato," they can enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" into the device, or use a barcode reader to automatically enter the data.
[0839] 2. Introducing the Emotion Engine:
[0840] The emotion engine installed in the device analyzes the emotions from the facial expressions and tone of voice of the user when they input information. This allows it to obtain the emotional information (e.g., joy, sadness, stress, etc.) that the user is feeling when they input information. The obtained emotional data is sent to the server.
[0841] 3. Data storage and updating:
[0842] The food data and emotion data sent from the device are stored on the server. The server records the data in a database and updates existing data based on the new input information. For example, data is saved using an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[0843] 4. Check availability:
[0844] The server periodically scans the database to check the availability of all food items in the refrigerator. This information is then updated in real time on the device, where the user can view it. For example, it might show "Current inventory: Tomatoes (best before date: October 22, 2023)."
[0845] 5. Best before date management and alert notifications:
[0846] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the device and notified to the user. For example, for tomatoes approaching their expiration date, an alert will be sent to the device stating, "The expiration date of your tomatoes is approaching. The expiration date is October 22, 2023."
[0847] 6. Proper storage suggestions:
[0848] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user. For example, by executing an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'", the terminal may suggest, "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0849] 7. Recipe Suggestions:
[0850] When a list of all the foods in the refrigerator is sent from the device to the server, the server searches the database for available recipes based on that information and provides them to the user. For example, a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'" is executed, and the device displays recipes such as "Easy salad with tomatoes" and "Tomato soup."
[0851] 8. Emotion-based suggestions and notifications:
[0852] The server will notify the user at the appropriate time and in the appropriate way when suggesting food preservation methods or recipes based on the user's emotional data obtained from the emotion engine. For example, if the user is feeling stressed, it will suggest simple recipes that have the effect of reducing stress. It will also analyze past emotional data and make customized suggestions based on the user's preferences and stress level. For example, it will suggest "easy recipes that are popular recently" or "dishes that have a relaxing effect."
[0853] Specific examples
[0854] Example prompt sentence:
[0855] "I have some tomatoes in the fridge. They're nearing their expiration date. Can you suggest a simple tomato salad recipe?"
[0856] "User is stressed. Can you suggest a recipe that will help reduce stress?"
[0857] This system not only improves the efficiency of food management, but also enables flexible and effective suggestions based on the user's emotions, which is expected to improve purchasing habits, reduce food waste, and further reduce the burden on household finances and increase user satisfaction.
[0858] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0859] Step 1:
[0860] Food data entry and automatic registration
[0861] When a user puts new food in the refrigerator, they input information such as the food name, purchase date, and expiration date via a terminal app. In addition, food data is automatically registered using a barcode reader and photo recognition technology. The input data is the food name, purchase date, and expiration date, and the output is the registered food data. For example, the data entered is "Tomato, purchase date: October 15, 2023, expiration date: October 22, 2023."
[0862] Step 2:
[0863] Acquiring emotion data
[0864] The emotion engine installed in the device analyzes the user's emotions from their facial expressions and tone of voice when they input. The input data is the user's facial expressions and tone of voice, and the output is the user's emotional information. For example, the emotion engine may analyze that the user is feeling "joy" when inputting.
[0865] Step 3:
[0866] Saving and updating data
[0867] The food data and emotion data sent from the device are stored on the server. The server records this data in a database and updates existing data based on new input information. The input is the newly registered food data and emotion data, and the output is the latest data stored in the database. For example, an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')" is executed.
[0868] Step 4:
[0869] Check stock availability
[0870] The server periodically scans the database to check the inventory status of all food items in the refrigerator. The input of the scan is all data in the database, and the output is real-time inventory status information. For example, information such as "Current inventory: Tomatoes (best before date: October 22, 2023)" is generated and reflected on the terminal.
[0871] Step 5:
[0872] Expiration date monitoring and alert notifications
[0873] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the terminal and notifies the user. The input is the expiration date of the food data, and the output is the generated alert message. For example, an alert saying "The expiration date of tomatoes is approaching. It is until October 22, 2023" is notified to the terminal.
[0874] Step 6:
[0875] Proposal for appropriate storage methods
[0876] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user. The input is the food name, and the output is a suggestion of an appropriate storage method. For example, by executing an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'", the terminal will suggest, "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0877] Step 7:
[0878] Recipe Suggestions
[0879] When a list of all the foods in the refrigerator is sent from the terminal to the server, the server searches the database for available recipes based on that information and provides them to the user. The input is the list of foods in the refrigerator, and the output is the available recipes. For example, a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'" is executed, and the terminal displays recipes such as "Easy salad with tomatoes" and "Tomato soup."
[0880] Step 8:
[0881] Emotion-based suggestions and notifications
[0882] The server will notify the user at the appropriate time and in the appropriate way when suggesting food preservation methods or recipes based on the user's emotional data obtained from the emotion engine. The input is the user's emotional data, and the output is customized suggestions based on the emotion. For example, if the user is feeling stressed, it will suggest simple recipes that have a stress-reducing effect. It will also analyze past emotional data and make customized suggestions based on preferences and stress levels. For example, it will suggest "easy recipes that are popular recently" or "dishes that have a relaxing effect."
[0883] 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.
[0884] 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.
[0885] 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.
[0886] [Third embodiment]
[0887] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0888] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0889] 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).
[0890] 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.
[0891] 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.
[0892] 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).
[0893] 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.
[0894] 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.
[0895] 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.
[0896] 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.
[0897] 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.
[0898] 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."
[0899] This invention relates to a food management system for refrigerators, specifically, a system that manages food inventory and expiration dates and suggests appropriate storage methods and recipes to users. This system features centralized data management using user terminals and a server.
[0900] System Overview
[0901] 1. Food data entry and automatic registration
[0902] When a user puts new food in the refrigerator, they enter information such as the food name, purchase date, and expiration date via the device app. It is also possible to automatically register food data using a barcode reader or photo recognition technology.
[0903] For example, if a user purchases a tomato, they can enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" into the terminal, or use a barcode reader to automatically enter the data.
[0904] 2. Data storage and updating
[0905] The device sends the entered food data to the server, which stores it in a database and also updates existing data based on the new information entered.
[0906] The server uses an SQL query to save the data in the database in the format "INSERT INTO food_table (food_name, purchase_date, best_before_date) VALUES ('tomato', '2023-10-15', '2023-10-22')".
[0907] 3. Check stock availability
[0908] The server periodically (e.g. once a day) scans the database to check the availability of all food items in the refrigerator. This information is then reflected in real time on the device and can be viewed by the user.
[0909] The terminal displays information to the user such as "Current stock: Tomatoes (best before date: October 22nd)."
[0910] 4. Best before date management and alert notifications
[0911] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the terminal and notified to the user.
[0912] For example, for tomatoes with a best-by date of October 22nd, an alert will be displayed on the device two days before the expiration date saying, "The best-by date of your tomatoes is approaching. The expiration date is October 22nd, 2023."
[0913] 5. Proposal for appropriate storage methods
[0914] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user.
[0915] The server executes a query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'", and the terminal suggests "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0916] 6. Recipe suggestions
[0917] The terminal sends a list of all the foods in the refrigerator to the server, and the server searches a database for available recipes based on the list and provides them.
[0918] The server executes a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'", and the terminal displays recipes such as "Easy salad with tomatoes" and "Tomato soup" to the user.
[0919] Specific examples
[0920] Example 1: Buying tomatoes and putting them in the refrigerator
[0921] The user places the tomatoes they have purchased in the refrigerator and enters the food data into the terminal app or uses a barcode reader to automatically register the information.
[0922] The device sends the data to the server, which stores it in a database.
[0923] The server periodically scans the database to check the availability and expiration dates of tomatoes.
[0924] When the expiration date approaches, the server generates an alert and notifies the terminal.
[0925] If a user wants to know how to store tomatoes, they search for "how to store tomatoes" on their device, and the server will suggest an appropriate method.
[0926] If a user wants to know about recipes using tomatoes, they send a request on their device, and the server searches for and suggests recipes.
[0927] This system allows for efficient management of food in the refrigerator, and is an effective way to reduce food waste and ease the burden on the household budget.
[0928] The processing flow will be explained below.
[0929] Step 1:
[0930] When a user wants to put new food in the refrigerator, they open the app on their device and enter information such as the food name, purchase date, and expiration date, or they can use a barcode reader or photo recognition function to automatically enter food data.
[0931] Step 2:
[0932] The device sends the food data entered to the server in standard formats such as JSON and XML.
[0933] Step 3:
[0934] The server stores the received food data in the database. For example, it executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, best_before_date) VALUES ('tomato', '2023-10-15', '2023-10-22')".
[0935] Step 4:
[0936] A server periodically (for example, once a day) scans the database to check food availability and expiration dates. This process is typically performed using a periodic job scheduler.
[0937] Step 5:
[0938] The server sends the scan results to the device, which then displays the inventory status to the user in real time. For example, it displays "Current inventory: Tomatoes (best before date: October 22, 2023)."
[0939] Step 6:
[0940] The server checks the expiration date of each food item and generates an alert if any food item is nearing its expiration date. The alert data includes the food name and expiration date.
[0941] Step 7:
[0942] The server sends the generated alert data to the device, which then notifies the user. The user's device displays the message, "The expiration date of the tomatoes is approaching. The expiration date is October 22, 2023."
[0943] Step 8:
[0944] A user searches on their device for information on how to preserve a particular food item. For example, if they want to know how to preserve tomatoes, they can type in "how to preserve tomatoes."
[0945] Step 9:
[0946] The terminal sends the user's request to the server, which searches for the storage method in the database, for example, by executing an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'".
[0947] Step 10:
[0948] The server sends the search results to the device, which displays them to the user, such as "It's best to store tomatoes in the vegetable compartment of your refrigerator and use them up within 2-3 days."
[0949] Step 11:
[0950] The device sends a list of all the foods in the refrigerator to the server, and the server searches for available recipes based on that list. For example, it executes a query such as "SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'".
[0951] Step 12:
[0952] The server sends the search result recipe list to the device, which displays it to the user. Recipes such as "Easy salad with tomatoes" and "Tomato soup" are suggested.
[0953] In this way, each step is carried out in cooperation with the user, the device, and the server, resulting in a system that efficiently manages food in the refrigerator, reduces food waste, and eases the burden on the household budget.
[0954] Example 1
[0955] 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."
[0956] Managing food in the refrigerator is a crucial issue for modern households. Without proper knowledge of food inventory and expiration dates, food waste increases, leading to wasteful spending and increased environmental impact. Food also often spoils quickly due to lack of proper storage methods. Furthermore, food waste can occur due to a lack of recipe suggestions for effectively utilizing food in the refrigerator. To solve these problems, a system is needed that allows users to easily manage food data, understand expiration dates and storage methods, and suggest appropriate recipes.
[0957] 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.
[0958] In this invention, the server includes means for a user to input food data, means for transmitting the input food data to the server, means for the server to save and update the food data in a database, means for the server to periodically scan the database to check inventory status, means for the server to check food expiration dates and generate alerts for foods approaching their expiration dates, means for transmitting alert data to a terminal and notifying the user, means for searching for and suggesting appropriate storage methods based on the food names entered by the user, and means for searching for and suggesting available recipes based on the list of foods in the refrigerator. This makes it possible to manage food in the refrigerator more efficiently, reduce food waste, and lighten the burden on the household budget.
[0959] "User" refers to a person who uses the refrigerator management system.
[0960] "Food data" refers to data that includes information such as the name of the food, purchase date, and expiration date.
[0961] "Server" refers to the central processing unit that stores, updates, monitors, and notifies food data.
[0962] "Terminal" refers to a device such as a smartphone or tablet operated by a user.
[0963] "Database" refers to an information storage system built within a server that stores various food data.
[0964] "Barcode reader" refers to a device that reads barcodes and obtains corresponding food data.
[0965] "Image recognition technology" refers to technology that analyzes images to identify foods and automatically input data.
[0966] "Stock status" refers to information indicating the type and amount of food currently stored in the refrigerator.
[0967] "Best before" refers to the last day that a food product can maintain its quality.
[0968] An "alert" refers to a warning message that notifies the user that the expiration date is approaching.
[0969] "Preservation method" refers to the method for properly preserving each food item.
[0970] A "recipe" refers to a list of instructions and ingredients for cooking a particular food product.
[0971] "Refrigerator food list" refers to a list of all the foods stored in the refrigerator.
[0972] "Automatic entry" refers to the use of barcode readers or image recognition technology to enter food data without the user having to manually enter it.
[0973] This invention relates to a food management system for refrigerators, specifically, a system that manages food inventory and expiration dates and suggests appropriate storage methods and recipes to users. This system features centralized data management using user terminals and a server.
[0974] Hardware and Software Overview
[0975] This system operates using a user's device (smartphone or tablet) and a central server. An application for entering food data is installed on the device, and the server has a database for storing and managing the food data. It is also possible to automatically enter food data using a barcode reader or image recognition technology. The server also manages the food data using a database management system such as SQL.
[0976] Specific operation of the system
[0977] 1. User operations
[0978] When a user puts new food in the refrigerator, they use the device app to enter information such as the food name, purchase date, and expiration date. Food data can also be automatically registered using a barcode reader or image recognition technology. For example, if a user buys a tomato and puts it in the refrigerator, they can enter "Tomato, Purchase Date: October 15, 2023, Best Before Date: October 22, 2023" into the device, or scan the barcode to automatically enter the data.
[0979] 2. Data transmission and storage
[0980] The terminal sends the entered food data to the server. The server saves the received data in the database and updates existing data as necessary. The server uses an SQL query to save the data in the database in the format "INSERT INTO food table (food name, purchase date, expiration date) VALUES ('tomato', '2023-10-15', '2023-10-22')".
[0981] 3. Check stock availability
[0982] The server periodically scans the database to check the availability of all food items in the refrigerator. This information is updated in real time on the device and can be viewed by the user. For example, the device might display information such as "Current inventory: Tomatoes (best before date: October 22, 2023)" to the user.
[0983] 4. Best before date management and alert notifications
[0984] The server monitors the expiration date of each food item and generates an alert for food items approaching the expiration date. The alert data is sent to the device and notified to the user. For example, for tomatoes with an expiration date of October 22nd, an alert will be displayed on the device two days before the expiration date saying, "The expiration date of the tomatoes is approaching. The expiration date is October 22nd, 2023."
[0985] 5. Storage suggestions
[0986] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user. The server executes the query "SELECT storage method FROM storage table WHERE food name = 'tomato'", and the terminal suggests, "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[0987] 6. Recipe suggestions
[0988] The device sends a list of all the foods in the refrigerator to the server, and the server searches the database for available recipes based on that list. The server executes the query "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'", and the device displays recipes such as "Easy salad with tomatoes" and "Tomato soup" to the user.
[0989] Specific examples
[0990] Example 1: Buying tomatoes and putting them in the refrigerator
[0991] 1. The user places the purchased tomatoes in the refrigerator and enters the food data into the terminal app or uses a barcode reader to automatically register the information.
[0992] 2. The device sends the data to the server, which stores it in a database.
[0993] 3. The server periodically scans the database to check the availability and expiration dates of tomatoes.
[0994] 4. When the expiration date approaches, the server generates an alert and notifies the device.
[0995] 5. If the user wants to know how to store tomatoes, they search for "how to store tomatoes" on their device, and the server suggests an appropriate method.
[0996] 6. If a user wants to know about recipes using tomatoes, they send a request on their device and the server searches for and suggests recipes.
[0997] Example prompts for generative AI models
[0998] "Create a program that uses a refrigerator management system to register newly purchased food items and display alerts when the expiration date approaches. It also includes features that suggest storage methods and recipes."
[0999] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1000] Step 1:
[1001] When a user puts new food in the refrigerator, they use a device app to enter information such as the food name, purchase date, and expiration date.
[1002] Input: Information such as food name, purchase date, and expiration date.
[1003] How it works: The user enters food information on the app screen or scans the barcode using a barcode reader, and the food is automatically registered using image recognition.
[1004] Output: The entered food data is temporarily saved on the device.
[1005] Step 2:
[1006] The terminal transmits the input food data to the server.
[1007] Input: Food data entered by the user into the device.
[1008] How it works: The device makes an API call to send data to the server, typically in JSON format.
[1009] Output: Food data is sent to the server.
[1010] Step 3:
[1011] The server stores the received food data in a database and updates existing data as needed.
[1012] Input: Food data sent from the device.
[1013] Behavior: The server executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, best_before_date) VALUES ('tomato', '2023-10-15', '2023-10-22')" and saves it in the database. Also, if the same food name exists, it executes an update query.
[1014] Output: Food data is saved or updated in the database.
[1015] Step 4:
[1016] The server periodically scans the database to determine the availability of all food items in the refrigerator.
[1017] Input: All food data in the database.
[1018] Operation: The server periodically (for example, once a day) executes the query "SELECT FROM food table WHERE expiration date > current date" to check the inventory status in the refrigerator.
[1019] Output: A list of stock availability is generated and sent to the terminal.
[1020] Step 5:
[1021] The terminal displays the inventory list to the user.
[1022] Input: A list of stock availability sent from the server.
[1023] What it does: The device displays information such as "Current stock: Tomatoes (Best before date: October 22, 2023)" on the screen.
[1024] Output: User can check stock status in real time.
[1025] Step 6:
[1026] The server monitors the expiration date of each food item and generates alerts for foods approaching their expiration date.
[1027] Input: All food data in the database.
[1028] Operation: The server periodically executes the query "SELECT FROM food table WHERE expiration date <= current date + 2" to identify foods that are approaching their expiration date. It generates alert data and sends it to the device.
[1029] Output: An alert is generated and sent to the terminal.
[1030] Step 7:
[1031] The terminal notifies the user of the alert.
[1032] Input: Alert data sent from the server.
[1033] What it does: The device displays a notification to the user saying, "Your tomatoes are nearing their expiration date (October 22, 2023)."
[1034] Output: User receives expiration date alert.
[1035] Step 8:
[1036] The user enters the name of a specific food item into the device and searches for storage methods.
[1037] Input: The food name entered by the user.
[1038] Operation: The device sends the food name to the server, and the server searches for the storage method by executing the query "SELECT storage method FROM storage table WHERE food name = 'tomato'".
[1039] Output: Data on how it is saved is sent to the device.
[1040] Step 9:
[1041] The device will present the user with a method for saving.
[1042] Input: Storage method data sent from the server.
[1043] What it does: The device displays information to the user, such as "It's best to store tomatoes in the crisper of your refrigerator and use them within 2-3 days."
[1044] Output: User can see how to store food.
[1045] Step 10:
[1046] The device sends a list of all the food items in the refrigerator to the server and searches for available recipes.
[1047] Input: A list of all the food items in the refrigerator.
[1048] Operation: The device sends the entire food list to the server, and the server executes the query "SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'" to find available recipes.
[1049] Output: Available recipe data is sent to the terminal.
[1050] Step 11:
[1051] The terminal presents available recipes to the user.
[1052] Input: Recipe data sent from the server.
[1053] What it does: The device displays recipes to the user, such as "Easy Tomato Salad" and "Tomato Soup."
[1054] Output: User can see available recipes.
[1055] (Application example 1)
[1056] 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."
[1057] Food management in modern brick-and-mortar stores requires a lot of manual work, and checking inventory and managing expiration dates is labor-intensive, so there is a need for greater efficiency. Furthermore, in order to effectively reduce food waste and promote sales, real-time information management and prompt notification to users are important. Furthermore, reducing the burden on store staff and providing high-quality service to customers are also key challenges.
[1058] 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.
[1059] In this invention, the server includes means for inputting food data, means for transmitting the input food data to the server, means for the server to store and update the food data in a database, means for the server to periodically scan the database to check inventory status, means for the server to check food expiration dates and generate alerts for foods approaching their expiration dates, means for transmitting alert data to a terminal and notifying the user, means for searching for and suggesting appropriate storage methods when a food name is input, means for searching for and suggesting recipes based on a list of foods in the refrigerator, means for automatically registering food inventory using an image recognition device with a barcode scanning function, and means for providing notifications based on inventory status and expiration dates to the user via a display device. This improves the efficiency of food management in stores, reduces food waste, and enables real-time inventory confirmation and expiration date management.
[1060] "Food data" refers to information about food managed in physical stores, including food name, purchase date, expiration date, and inventory quantity.
[1061] The "server" is a central management device that stores and updates food data, and also manages inventory status and expiration dates based on that data.
[1062] A "database" is a data storage system connected to a server that allows food data to be systematically stored, searched, and updated.
[1063] An "alert" is a warning message that is sent to users and store staff when a food product's expiration date is approaching or when a shortage of stock is detected.
[1064] An "image recognition device with barcode scanning functionality" is a device that reads barcodes and automatically recognizes and registers food data based on them.
[1065] The "display device" is a display device that visually presents inventory status and alert information to the user.
[1066] "Smart glasses" are electronic eyeglass-type devices equipped with barcode scanning and display functions, and are used to streamline food management in stores.
[1067] A "brick and mortar store" is a physical location where food and other goods are sold in person.
[1068] "Stock status" refers to information about the quantity and type of food currently available in the store.
[1069] "Best before date" is information related to the expiration date of food products, and is data indicating the period during which the quality of the food products will be maintained.
[1070] "Storage" refers to information about the means and methods for optimally storing a particular food product.
[1071] A "recipe" is step-by-step information that shows how to cook a dish or a method of making a dish using food.
[1072] A "terminal" is an electronic device that allows a user to input food data and check information, and includes smartphones, tablets, etc.
[1073] The present invention relates to a food management system for brick-and-mortar stores, specifically a system that manages food inventory and expiration dates and provides appropriate storage methods and notifications to users and store staff. This system is realized using hardware such as a user terminal, a server, smart glasses, an image recognition device with a barcode scanning function, and a display device.
[1074] System Overview
[1075] 1. Food data entry and automatic registration
[1076] When displaying food, the user wears the smart glasses and scans the food's barcode with an image recognition device, using the smart glasses' camera function.
[1077] Once the barcode is scanned, the information is automatically sent to a server and stored in a database, automating food data entry.
[1078] 2. Data storage and updating
[1079] The server stores the submitted food data in a database and updates existing data. The system uses SQL queries to store and update data.
[1080] 3. Check stock availability
[1081] The server periodically scans the database to check the availability of all food items in the store, and this information is reflected in real time on the smart glasses and display devices.
[1082] 4. Best before date management and alert notifications
[1083] The server monitors the expiration date of each food item and generates an alert when the expiration date approaches. The alert data is then sent to the smart glasses or a terminal, and the user or store staff are notified.
[1084] 5. Proposal for appropriate storage methods
[1085] When a user enters the name of a specific food item into the smart glasses or a device, the server searches the database for the appropriate storage method for that food and presents it to the user.
[1086] 6. Recipe suggestions
[1087] The device or smart glasses sends a list of available food items to the server, which then searches the database for available recipes based on the list and provides them to the user. The server then notifies the user of the results.
[1088] Hardware and software used
[1089] Smart Glasses: Electronic devices with barcode scanning and display capabilities (e.g., "Vuzix Blade").
[1090] Image recognition device: Used for barcode scanning.
[1091] Servers and databases: Used for data storage, updates, scanning, alert generation, and searching storage methods and recipes (e.g., "MySQL", "SQLite").
[1092] Device: smartphone or tablet (e.g., iOS, Android).
[1093] Specific examples
[1094] Examples of included data
[1095] Scanned barcode: 1234567890123 (fictitious barcode)
[1096] Database request: Send a JSON containing the barcode data using an INSERT statement
[1097] Inventory Check Request: Scans the database for stock availability and alert information
[1098] Example prompts to input to the generative AI model:
[1099] text
[1100] This invention shows an example of its application to food management in brick-and-mortar stores. Using smart glasses, the camera scans food barcodes, automatically registers and manages the information, and sends an alert when the expiration date is approaching.
[1101] Generate a concrete program and implement it using Python's OpenCV and requests libraries.
[1102] This system will make food management in physical stores more efficient, reduce food waste, and enable real-time inventory checking and expiration date management.
[1103] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1104] Step 1:
[1105] A user wears smart glasses and scans the barcode of a food item in a store. The smart glasses with barcode scanning function read the barcode of the food item. At this time, the image recognition device captures the barcode data and converts it into a digital format. The input data is the barcode information of the food item, and the output data is the digital barcode information.
[1106] Step 2:
[1107] The smart glasses send the scanned barcode information to the terminal, which receives the sent digital barcode information and formats it for sending to the server. The input data is the digital barcode information, and the output data is the formatted data for sending to the server.
[1108] Step 3:
[1109] The server stores the food data in a database based on the barcode information it receives. If the same food item already exists in the database, it updates that information. An "INSERT" or "UPDATE" operation is performed using an SQL query. The input data is the formatted barcode information, and the output data is the food data stored in the database.
[1110] Step 4:
[1111] The server periodically scans the database to check stock availability. The server runs a scheduled job to retrieve stock data for all foods. The input data is all food data in the database, and the output data is a list of stock availability.
[1112] Step 5:
[1113] The server checks the expiration date of each food item and generates alerts for foods that are approaching their expiration date. It filters out foods that are close to their expiration date and generates a list of alerts. The input data is a list of inventory status and expiration date data, and the output data is a list of alerts.
[1114] Step 6:
[1115] The server sends the generated alert data to the terminal. The terminal displays the received alert data on smart glasses or a display device to notify the user. The input data is a list of alerts, and the output data is the alert notification displayed to the user.
[1116] Step 7:
[1117] When a user inputs the name of a specific food, the server searches the database for the appropriate storage method for that food and presents it to the user. The input data is the food name, and the output data is information about the appropriate storage method.
[1118] Step 8:
[1119] The device or smart glasses sends the inventory list to the server, which then searches for and provides available recipes based on the list. The server then searches the recipe database, extracts appropriate recipes, and sends them to the device. The input data is the inventory list, and the output data is the suggested recipes.
[1120] 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.
[1121] This invention combines an emotion engine with a food management system for use in a refrigerator. The system manages food inventory and expiration dates, suggests appropriate storage methods and recipes to users, and analyzes user emotions to make suggestions and notifications based on those analyses.
[1122] System Overview
[1123] 1. Food data entry and automatic registration
[1124] When a user puts new food in the refrigerator, they enter information such as the food name, purchase date, and expiration date via the device app. Food data can also be automatically registered using a barcode reader or photo recognition technology.
[1125] For example, if a user purchases a tomato, they can enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" into the terminal, or use a barcode reader to automatically enter the data.
[1126] 2. Introducing the Emotion Engine
[1127] The emotion engine installed in the device analyzes the emotions from the user's facial expressions and tone of voice when inputting, and obtains the emotional information (e.g., joy, sadness, stress, etc.) that the user is feeling at the time of input.
[1128] The terminal transmits the emotion data acquired by the emotion engine to the server.
[1129] 3. Data storage and updating
[1130] The device sends the input food data and emotion data to the server, which then stores the data in a database and updates existing data based on the new input information.
[1131] For example, the server executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[1132] 4. Check stock availability
[1133] The server periodically scans the database to check the availability of all food items in the refrigerator, and this information is updated in real time on the device for the user to view.
[1134] For example, it might say, "Current stock: Tomatoes (best before date: October 22, 2023)."
[1135] 5. Best before date management and alert notifications
[1136] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the terminal and notified to the user.
[1137] For example, when a tomato is nearing its expiration date, the server generates an alert stating, "The expiration date of the tomato is approaching. It is October 22, 2023," and notifies the terminal.
[1138] 6. Proposal for appropriate storage methods
[1139] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user.
[1140] For example, if you run an SQL query like "SELECT storage method FROM storage table WHERE food name = 'tomato'", the device will suggest, "It's best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[1141] 7. Recipe Suggestions
[1142] The terminal sends a list of all the foods in the refrigerator to the server, which then searches a database for available recipes based on that list and provides them.
[1143] For example, a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'" is executed, and the terminal displays recipes such as "Easy salad with tomatoes" and "Tomato soup" to the user.
[1144] 8. Emotion-based suggestions and notifications
[1145] Based on the user's emotional data obtained by the server from the emotion engine, notifications are sent at appropriate times and in appropriate ways when suggesting food storage methods and recipes.
[1146] For example, if a user is feeling stressed, the app will suggest simple recipes that will help reduce stress.
[1147] The server also analyzes the user's past emotional data and makes customized suggestions based on their preferences and stress levels, such as "recently popular easy recipes" or "dishes that have a relaxing effect."
[1148] In this way, a system incorporating an emotion engine efficiently manages food in the refrigerator and makes flexible suggestions and notifications based on the user's emotions, thereby reducing food waste and easing the burden on the household budget.The system also contributes to improving user satisfaction and reducing stress.
[1149] The processing flow will be explained below.
[1150] Step 1:
[1151] When a user wants to put new food in the refrigerator, they open the app on their device and enter information such as the food name, purchase date, and expiration date, or they can use a barcode reader or photo recognition function to automatically enter food data.
[1152] Step 2:
[1153] The emotion engine installed on the device analyzes emotions from the user's facial expressions and tone of voice while they are typing. The camera and microphone capture the user's facial expressions and tone of voice while they are typing, and the emotion engine analyzes the data.
[1154] Step 3:
[1155] The device sends the emotional data (e.g., joy, sadness, stress) obtained as a result of the analysis to the server along with the food data. The emotional data is sent in a format such as JSON along with the food data.
[1156] Step 4:
[1157] The server stores the received food data and emotion data in a database. For example, it executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[1158] Step 5:
[1159] The server periodically scans the database to check the availability and expiry dates of all food items in the refrigerator, and this information is updated in real time on the device.
[1160] Step 6:
[1161] The terminal displays the inventory status sent from the server to the user. For example, it displays "Current inventory: Tomatoes (best before date: October 22, 2023)."
[1162] Step 7:
[1163] The server checks the expiration date of each food item and generates an alert for food items that are approaching their expiration date and sends it to the device. For example, it generates an alert saying, "The expiration date of tomatoes is approaching. The expiration date is October 22, 2023."
[1164] Step 8:
[1165] The device notifies the user of alerts received from the server, displaying them on the screen or in the notification bar so that the user can see them.
[1166] Step 9:
[1167] If a user wants to know how to preserve a particular food, he or she enters the name of the food into the terminal and sends a search request to the server, for example, "how to preserve tomatoes."
[1168] Step 10:
[1169] The server searches the database for the storage method and sends the results to the terminal. For example, it executes an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'".
[1170] Step 11:
[1171] The device displays the storage instructions received to the user, providing information such as "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[1172] Step 12:
[1173] The device sends a list of all the foods in the refrigerator to the server, and the server searches for available recipes based on that list and sends the results to the device. For example, the following SQL query is executed: SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'.
[1174] Step 13:
[1175] The device displays the received recipes to the user, suggesting recipes such as "Easy salad with tomatoes" and "Tomato soup."
[1176] Step 14:
[1177] The server analyzes past emotional data and customizes storage methods and recipes based on the user's emotions. For example, if the user is feeling stressed, it will suggest simple and relaxing recipes.
[1178] Step 15:
[1179] The device will display personalized suggestions and notifications to the user based on their emotions, offering specific recipes such as "Relaxing Tomato Soup" to help users relax.
[1180] In this way, a system incorporating an emotion engine not only efficiently manages food in the refrigerator, but also makes flexible suggestions and notifications based on the user's emotions. This not only reduces food waste and eases the burden on the household budget, but also contributes to improving user satisfaction and reducing stress.
[1181] Example 2
[1182] 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."
[1183] Managing food in the refrigerator has become a major issue in modern households. Insufficient management of food inventory and expiration dates can lead to food waste and have adverse effects on consumers' health. Furthermore, there are few suggestions on how to store food or what recipes to use to cook it, placing a heavy burden on users. Furthermore, conventional systems do not take user emotions into consideration and are unable to provide personalized services.
[1184] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for inputting food data, a means for transmitting the input food data and user emotion data to the server, and a means for the server to store and update the food data and emotion data in a database. This makes it possible to efficiently manage food in the refrigerator and make personalized suggestions based on the user's emotions.
[1185] "Food data" refers to information including the name of the food, purchase date, expiration date, etc.
[1186] "Emotion data" is emotional information analyzed from the user's facial expressions, tone of voice, and the like.
[1187] A "terminal" is an electronic device that a user uses to input food data and emotion data.
[1188] The "server" is a central processing unit that stores, updates, and analyzes food data and emotion data in a database.
[1189] "Database" means an electronic data management system for storing food data and emotion data.
[1190] "Stock status" is information about the current status of all food items in the refrigerator.
[1191] The "best before" date is the date by which food is safe to consume and still delicious.
[1192] An "alert" is a warning message that notifies the user about food that is approaching its expiration date.
[1193] "Storage method" is information about how to store food under optimal conditions.
[1194] A "recipe" is a list of instructions and ingredients for cooking a particular food.
[1195] A "user" is a person who uses the system to manage food in a refrigerator.
[1196] The present invention combines an emotion engine with a food management system in a refrigerator, and is implemented in the following steps.
[1197] 1. System Configuration
[1198] This system consists of a terminal that accepts user input, a server that processes and stores food data and emotion data, and a database that stores this data.
[1199] The device is equipped with a barcode reader and photo recognition technology, as well as a built-in emotion engine.
[1200] The server has database management software installed to store and manage data.
[1201] 2. Food data entry and automatic registration
[1202] When a user puts new food in the refrigerator, the user uses a terminal application to input the food name, purchase date, expiration date, etc.
[1203] In addition, food data can be automatically registered using barcode readers and photo recognition technology.
[1204] For example, if a user purchases a tomato, they can either enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" directly into the terminal application, or use a barcode reader to automatically obtain the data.
[1205] 3. Acquiring and transmitting emotion data
[1206] When a user inputs food data, the device's built-in emotion engine analyzes the user's facial expressions and tone of voice to obtain emotional data such as joy, sadness, and stress.
[1207] The device transmits the acquired emotion data to the server in real time.
[1208] 4. Data storage and updating
[1209] The server receives the food data and emotion data sent from the terminal and stores them in a database.
[1210] The stored data is updated periodically based on new information.
[1211] 5. Availability Check and Notification
[1212] The server periodically scans the database to check the availability of all food items in the refrigerator, and this information is updated in real time on the device for the user to view.
[1213] For example, the server retrieves inventory status from the database and sends the information "Current inventory: Tomatoes (best before date: October 22, 2023)" to the terminal.
[1214] 6. Best before date management and alert notifications
[1215] The server monitors the expiration date of each food item and generates alerts for foods approaching their expiration date.
[1216] The alert is sent to the terminal and notified to the user.
[1217] For example, for tomatoes approaching their expiration date, the server generates an alert stating, "The expiration date of the tomatoes is approaching. The expiration date is October 22, 2023." and notifies the terminal.
[1218] 7. Proposal for appropriate storage methods
[1219] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it.
[1220] For example, when a user types in "tomato," the server will suggest, "It's best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2-3 days."
[1221] 8. Recipe Suggestions
[1222] The terminal sends a list of all the foods in the refrigerator to the server, which then searches a database for available recipes and provides them.
[1223] For example, recipes for "Easy salad with tomatoes" and "Tomato soup" will be displayed on the device.
[1224] 9. Emotion-based suggestions and notifications
[1225] The server analyzes the user's emotional data obtained from the emotion engine and suggests storage methods and recipes at the appropriate time and in the appropriate way.
[1226] In addition, customized suggestions are made based on past emotional and preference data.
[1227] For example, if the user is feeling stressed, the server will suggest "relaxing tomato soup" as an "easy recipe that reduces stress."
[1228] These features enable efficient food management in the refrigerator and flexible suggestions and notifications tailored to the user's mood, which is expected to reduce food waste, ease the burden on the household budget, and even increase user satisfaction and reduce stress.
[1229] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1230] Step 1:
[1231] When a user puts new food in the refrigerator, they use a terminal application to enter information such as the food name, purchase date, and expiration date. Input methods include manual entry, a barcode reader, and photo recognition technology. The input data includes the food name "Tomato," purchase date "October 15, 2023," and expiration date "October 22, 2023."
[1232] Step 2:
[1233] The emotion engine installed in the device analyzes the facial expressions and tone of voice when the user inputs data, and obtains emotion data such as joy, sadness, stress, etc. The input data includes images of the user's facial expressions and tone of voice, and the output is emotion data such as "joy."
[1234] Step 3:
[1235] The device sends the collected food data and emotion data to the server. Specifically, it sends a data packet containing the food name, purchase date, expiration date, and emotion data "joy" to the server.
[1236] Step 4:
[1237] The server stores the received food data and emotion data in a database. It generates the SQL query required to store the data in the database and saves the data in the format "INSERT INTO food table (food name, purchase date, expiration date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[1238] Step 5:
[1239] The server periodically scans the database to check the inventory status of all food items in the refrigerator. The server analyzes the inventory data retrieved from the database and sends it to the terminal in real time. The inventory data includes information such as "Current inventory: Tomatoes (best before date: October 22, 2023)."
[1240] Step 6:
[1241] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. It checks the expiration date field in the database and generates an alert message for food items approaching their expiration date. The generated alert message is sent to the terminal to notify the user. A specific alert message is in the format "The expiration date of tomatoes is approaching. The expiration date is October 22, 2023."
[1242] Step 7:
[1243] When a user inputs the name of a specific food item into the terminal, the server searches the database and suggests storage methods suitable for that food item. When "tomato" is given as input data, the SQL query "SELECT storage method FROM storage table WHERE food name = 'tomato'" is executed. The output is the storage method "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[1244] Step 8:
[1245] When the device sends a list of all the foods in the refrigerator to the server, the server searches the database for available recipes based on that list. Specifically, if the food list includes "tomato," the SQL query "SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'" is executed. Recipes such as "Easy salad with tomatoes" and "Tomato soup" are displayed on the device as output.
[1246] Step 9:
[1247] The server customizes recipe and storage suggestions based on the user's emotional data obtained from the emotion engine. For example, if the user is feeling stressed, it will suggest recipes that have a stress-reducing effect. The emotional data "stress" is used as input, and the output is a suggestion such as "tomato soup with a relaxing effect."
[1248] (Application example 2)
[1249] 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."
[1250] Food management is a significant issue in modern society. In particular, insufficient management of food inventory and expiration dates can lead to increased food waste, placing a strain on household finances. Furthermore, applying the same management methods and alerts to users in different emotional states can reduce user satisfaction. Furthermore, current systems lack the ability to offer flexible suggestions tailored to users' emotions, resulting in limited user convenience. To address these issues, a system combining food management and emotion analysis is needed.
[1251] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1252] In this invention, the server includes a means for storing and updating food data in a database, a means for periodically scanning the database to check inventory status, and a means for checking food expiration dates and generating alerts for food items approaching their expiration dates. This not only enables efficient management of food inventory and expiration dates, but also enables analysis of user emotional data and the provision of suggestions and notifications based on that data. Specifically, the system provides a system that increases user satisfaction, reduces food waste, and alleviates the burden on household finances by customizing and suggesting appropriate storage methods and recipes based on the user's emotional state.
[1253] "Food data" refers to information such as the name of the food, purchase date, and expiration date.
[1254] The "server" is a computer system that stores food data and emotion data and processes and manages them.
[1255] A "database" is a collection of information including food data and emotion data managed by a server.
[1256] "Stock status" is information indicating the quantity and status of various foods stored in the refrigerator.
[1257] The "best before" date indicates the last day that food is tasty and safe to consume.
[1258] "Alerts" are warning messages that notify users about food that is nearing its expiration date or other important information.
[1259] "Terminal" refers to an input device such as a smartphone or tablet that allows a user to input and check data.
[1260] "Preservation method" refers to the method or technique for properly storing a particular food.
[1261] A "recipe" is a set of instructions or instructions for cooking using food.
[1262] "Emotion data" refers to information about emotions acquired from the user's facial expressions, voice tone, and the like.
[1263] An "emotion engine" is a technology that analyzes a user's emotions and makes appropriate suggestions and notifications based on those emotions.
[1264] "Customized suggestions" means providing preservation methods and recipes that are individually optimized according to the user's feelings and preferences.
[1265] The system of this invention inputs and automatically registers food data, introduces an emotion engine, saves and updates data, checks inventory status, manages expiration dates and sends alerts, suggests appropriate storage methods, suggests recipes, and makes suggestions and notifications based on emotions, thereby making food management more efficient and improving user satisfaction.
[1266] 1. Food data entry and automatic registration:
[1267] When a user puts new food in the refrigerator, they enter information such as the food name, purchase date, and expiration date via a device app. It is also possible to automatically register food data using a barcode reader or photo recognition technology. For example, if a user purchases a "tomato," they can enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" into the device, or use a barcode reader to automatically enter the data.
[1268] 2. Introducing the Emotion Engine:
[1269] The emotion engine installed in the device analyzes the emotions from the facial expressions and tone of voice of the user when they input information. This allows it to obtain the emotional information (e.g., joy, sadness, stress, etc.) that the user is feeling when they input information. The obtained emotional data is sent to the server.
[1270] 3. Data storage and updating:
[1271] The food data and emotion data sent from the device are stored on the server. The server records the data in a database and updates existing data based on the new input information. For example, data is saved using an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[1272] 4. Check availability:
[1273] The server periodically scans the database to check the availability of all food items in the refrigerator. This information is then updated in real time on the device, where the user can view it. For example, it might show "Current inventory: Tomatoes (best before date: October 22, 2023)."
[1274] 5. Best before date management and alert notifications:
[1275] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the device and notified to the user. For example, for tomatoes approaching their expiration date, an alert will be sent to the device stating, "The expiration date of your tomatoes is approaching. The expiration date is October 22, 2023."
[1276] 6. Proper storage suggestions:
[1277] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user. For example, by executing an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'", the terminal may suggest, "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[1278] 7. Recipe Suggestions:
[1279] When a list of all the foods in the refrigerator is sent from the device to the server, the server searches the database for available recipes based on that information and provides them to the user. For example, a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'" is executed, and the device displays recipes such as "Easy salad with tomatoes" and "Tomato soup."
[1280] 8. Emotion-based suggestions and notifications:
[1281] The server will notify the user at the appropriate time and in the appropriate way when suggesting food preservation methods or recipes based on the user's emotional data obtained from the emotion engine. For example, if the user is feeling stressed, it will suggest simple recipes that have the effect of reducing stress. It will also analyze past emotional data and make customized suggestions based on the user's preferences and stress level. For example, it will suggest "easy recipes that are popular recently" or "dishes that have a relaxing effect."
[1282] Specific examples
[1283] Example prompt sentence:
[1284] "I have some tomatoes in the fridge. They're nearing their expiration date, so can you suggest a simple tomato salad recipe?"
[1285] "User is stressed. Can you suggest a recipe that will help reduce stress?"
[1286] This system not only improves the efficiency of food management, but also enables flexible and effective suggestions based on the user's emotions, which is expected to improve purchasing habits, reduce food waste, and further reduce the burden on household finances and increase user satisfaction.
[1287] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1288] Step 1:
[1289] Food data entry and automatic registration
[1290] When a user puts new food in the refrigerator, they input information such as the food name, purchase date, and expiration date via a terminal app. In addition, food data is automatically registered using a barcode reader and photo recognition technology. The input data is the food name, purchase date, and expiration date, and the output is the registered food data. For example, the data entered is "Tomato, purchase date: October 15, 2023, expiration date: October 22, 2023."
[1291] Step 2:
[1292] Acquiring emotion data
[1293] The emotion engine installed in the device analyzes the user's emotions from their facial expressions and tone of voice when they input. The input data is the user's facial expressions and tone of voice, and the output is the user's emotional information. For example, the emotion engine may analyze that the user is feeling "joy" when inputting.
[1294] Step 3:
[1295] Saving and updating data
[1296] The food data and emotion data sent from the device are stored on the server. The server records this data in a database and updates existing data based on new input information. The input is the newly registered food data and emotion data, and the output is the latest data stored in the database. For example, an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')" is executed.
[1297] Step 4:
[1298] Check stock availability
[1299] The server periodically scans the database to check the inventory status of all food items in the refrigerator. The input of the scan is all data in the database, and the output is real-time inventory status information. For example, information such as "Current inventory: Tomatoes (best before date: October 22, 2023)" is generated and reflected on the terminal.
[1300] Step 5:
[1301] Expiration date monitoring and alert notifications
[1302] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the terminal and notifies the user. The input is the expiration date of the food data, and the output is the generated alert message. For example, an alert saying "The expiration date of tomatoes is approaching. It is until October 22, 2023" is notified to the terminal.
[1303] Step 6:
[1304] Proposal for appropriate storage methods
[1305] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user. The input is the food name, and the output is a suggestion of an appropriate storage method. For example, by executing an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'", the terminal will suggest, "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[1306] Step 7:
[1307] Recipe Suggestions
[1308] When a list of all the foods in the refrigerator is sent from the terminal to the server, the server searches the database for available recipes based on that information and provides them to the user. The input is the list of foods in the refrigerator, and the output is the available recipes. For example, a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'" is executed, and the terminal displays recipes such as "Easy salad with tomatoes" and "Tomato soup."
[1309] Step 8:
[1310] Emotion-based suggestions and notifications
[1311] The server will notify the user at the appropriate time and in the appropriate way when suggesting food preservation methods or recipes based on the user's emotional data obtained from the emotion engine. The input is the user's emotional data, and the output is customized suggestions based on the emotion. For example, if the user is feeling stressed, it will suggest simple recipes that have a stress-reducing effect. It will also analyze past emotional data and make customized suggestions based on preferences and stress levels. For example, it will suggest "easy recipes that are popular recently" or "dishes that have a relaxing effect."
[1312] 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.
[1313] 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.
[1314] 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.
[1315] [Fourth embodiment]
[1316] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1317] 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.
[1318] 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).
[1319] 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.
[1320] 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.
[1321] 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).
[1322] 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.
[1323] 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.
[1324] 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.
[1325] 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.
[1326] 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.
[1327] 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.
[1328] 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."
[1329] This invention relates to a food management system for refrigerators, specifically, a system that manages food inventory and expiration dates and suggests appropriate storage methods and recipes to users. This system features centralized data management using user terminals and a server.
[1330] System Overview
[1331] 1. Food data entry and automatic registration
[1332] When a user puts new food in the refrigerator, they enter information such as the food name, purchase date, and expiration date via the device app. It is also possible to automatically register food data using a barcode reader or photo recognition technology.
[1333] For example, if a user purchases a tomato, they can enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" into the terminal, or use a barcode reader to automatically enter the data.
[1334] 2. Data storage and updating
[1335] The device sends the entered food data to the server, which stores it in a database and also updates existing data based on the new information entered.
[1336] The server uses an SQL query to save the data in the database in the format "INSERT INTO food_table (food_name, purchase_date, best_before_date) VALUES ('tomato', '2023-10-15', '2023-10-22')".
[1337] 3. Check stock availability
[1338] The server periodically (e.g. once a day) scans the database to check the availability of all food items in the refrigerator. This information is then reflected in real time on the device and can be viewed by the user.
[1339] The terminal displays information to the user such as "Current stock: Tomatoes (best before date: October 22nd)."
[1340] 4. Best before date management and alert notifications
[1341] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the terminal and notified to the user.
[1342] For example, for tomatoes with a best-by date of October 22nd, an alert will be displayed on the device two days before the expiration date saying, "The best-by date of your tomatoes is approaching. The expiration date is October 22nd, 2023."
[1343] 5. Proposal for appropriate storage methods
[1344] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user.
[1345] The server executes a query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'", and the terminal suggests "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[1346] 6. Recipe suggestions
[1347] The terminal sends a list of all the foods in the refrigerator to the server, and the server searches a database for available recipes based on the list and provides them.
[1348] The server executes a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'", and the terminal displays recipes such as "Easy salad with tomatoes" and "Tomato soup" to the user.
[1349] Specific examples
[1350] Example 1: Buying tomatoes and putting them in the refrigerator
[1351] The user places the tomatoes they have purchased in the refrigerator and enters the food data into the terminal app or uses a barcode reader to automatically register the information.
[1352] The device sends the data to the server, which stores it in a database.
[1353] The server periodically scans the database to check the availability and expiration dates of tomatoes.
[1354] When the expiration date approaches, the server generates an alert and notifies the terminal.
[1355] If a user wants to know how to store tomatoes, they search for "how to store tomatoes" on their device, and the server will suggest an appropriate method.
[1356] If a user wants to know about recipes using tomatoes, they send a request on their device, and the server searches for and suggests recipes.
[1357] This system allows for efficient management of food in the refrigerator, and is an effective way to reduce food waste and ease the burden on the household budget.
[1358] The processing flow will be explained below.
[1359] Step 1:
[1360] When a user wants to put new food in the refrigerator, they open the app on their device and enter information such as the food name, purchase date, and expiration date, or they can use a barcode reader or photo recognition function to automatically enter food data.
[1361] Step 2:
[1362] The device sends the food data entered to the server in standard formats such as JSON and XML.
[1363] Step 3:
[1364] The server stores the received food data in the database. For example, it executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, best_before_date) VALUES ('tomato', '2023-10-15', '2023-10-22')".
[1365] Step 4:
[1366] A server periodically (for example, once a day) scans the database to check food availability and expiration dates. This process is typically performed using a periodic job scheduler.
[1367] Step 5:
[1368] The server sends the scan results to the device, which then displays the inventory status to the user in real time. For example, it displays "Current inventory: Tomatoes (best before date: October 22, 2023)."
[1369] Step 6:
[1370] The server checks the expiration date of each food item and generates an alert if any food item is nearing its expiration date. The alert data includes the food name and expiration date.
[1371] Step 7:
[1372] The server sends the generated alert data to the device, which then notifies the user. The user's device displays the message, "The expiration date of the tomatoes is approaching. The expiration date is October 22, 2023."
[1373] Step 8:
[1374] A user searches on their device for information on how to preserve a particular food item. For example, if they want to know how to preserve tomatoes, they can type in "how to preserve tomatoes."
[1375] Step 9:
[1376] The terminal sends the user's request to the server, which searches for the storage method in the database, for example, by executing an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'".
[1377] Step 10:
[1378] The server sends the search results to the device, which displays them to the user, such as "It's best to store tomatoes in the vegetable compartment of your refrigerator and use them up within 2-3 days."
[1379] Step 11:
[1380] The device sends a list of all the foods in the refrigerator to the server, and the server searches for available recipes based on that list. For example, it executes a query such as "SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'".
[1381] Step 12:
[1382] The server sends the search result recipe list to the device, which displays it to the user. Recipes such as "Easy salad with tomatoes" and "Tomato soup" are suggested.
[1383] In this way, each step is carried out in cooperation with the user, the device, and the server, resulting in a system that efficiently manages food in the refrigerator, reduces food waste, and eases the burden on the household budget.
[1384] Example 1
[1385] 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."
[1386] Managing food in the refrigerator is a crucial issue for modern households. Without proper knowledge of food inventory and expiration dates, food waste increases, leading to wasteful spending and increased environmental impact. Food also often spoils quickly due to lack of proper storage methods. Furthermore, food waste can occur due to a lack of recipe suggestions for effectively utilizing food in the refrigerator. To solve these problems, a system is needed that allows users to easily manage food data, understand expiration dates and storage methods, and suggest appropriate recipes.
[1387] 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.
[1388] In this invention, the server includes means for a user to input food data, means for transmitting the input food data to the server, means for the server to save and update the food data in a database, means for the server to periodically scan the database to check inventory status, means for the server to check food expiration dates and generate alerts for foods approaching their expiration dates, means for transmitting alert data to a terminal and notifying the user, means for searching for and suggesting appropriate storage methods based on the food names entered by the user, and means for searching for and suggesting available recipes based on the list of foods in the refrigerator. This makes it possible to manage food in the refrigerator more efficiently, reduce food waste, and lighten the burden on the household budget.
[1389] "User" refers to a person who uses the refrigerator management system.
[1390] "Food data" refers to data that includes information such as the name of the food, purchase date, and expiration date.
[1391] "Server" refers to the central processing unit that stores, updates, monitors, and notifies food data.
[1392] "Terminal" refers to a device such as a smartphone or tablet operated by a user.
[1393] "Database" refers to an information storage system built within a server that stores various food data.
[1394] "Barcode reader" refers to a device that reads barcodes and obtains corresponding food data.
[1395] "Image recognition technology" refers to technology that analyzes images to identify foods and automatically input data.
[1396] "Stock status" refers to information indicating the type and amount of food currently stored in the refrigerator.
[1397] "Best before" refers to the last day that a food product can maintain its quality.
[1398] An "alert" refers to a warning message that notifies the user that the expiration date is approaching.
[1399] "Preservation method" refers to the method for properly preserving each food item.
[1400] A "recipe" refers to a list of instructions and ingredients for cooking a particular food product.
[1401] "Refrigerator food list" refers to a list of all the foods stored in the refrigerator.
[1402] "Automatic entry" refers to the use of barcode readers or image recognition technology to enter food data without the user having to manually enter it.
[1403] This invention relates to a food management system for refrigerators, specifically, a system that manages food inventory and expiration dates and suggests appropriate storage methods and recipes to users. This system features centralized data management using user terminals and a server.
[1404] Hardware and Software Overview
[1405] This system operates using a user's device (smartphone or tablet) and a central server. An application for entering food data is installed on the device, and the server has a database for storing and managing the food data. It is also possible to automatically enter food data using a barcode reader or image recognition technology. The server also manages the food data using a database management system such as SQL.
[1406] Specific operation of the system
[1407] 1. User operations
[1408] When a user puts new food in the refrigerator, they use the device app to enter information such as the food name, purchase date, and expiration date. Food data can also be automatically registered using a barcode reader or image recognition technology. For example, if a user buys a tomato and puts it in the refrigerator, they can enter "Tomato, Purchase Date: October 15, 2023, Best Before Date: October 22, 2023" into the device, or scan the barcode to automatically enter the data.
[1409] 2. Data transmission and storage
[1410] The terminal sends the entered food data to the server. The server saves the received data in the database and updates existing data as necessary. The server uses an SQL query to save the data in the database in the format "INSERT INTO food table (food name, purchase date, expiration date) VALUES ('tomato', '2023-10-15', '2023-10-22')".
[1411] 3. Check stock availability
[1412] The server periodically scans the database to check the availability of all food items in the refrigerator. This information is updated in real time on the device and can be viewed by the user. For example, the device might display information such as "Current inventory: Tomatoes (best before date: October 22, 2023)" to the user.
[1413] 4. Best before date management and alert notifications
[1414] The server monitors the expiration date of each food item and generates an alert for food items approaching the expiration date. The alert data is sent to the device and notified to the user. For example, for tomatoes with an expiration date of October 22nd, an alert will be displayed on the device two days before the expiration date saying, "The expiration date of the tomatoes is approaching. The expiration date is October 22nd, 2023."
[1415] 5. Storage suggestions
[1416] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user. The server executes the query "SELECT storage method FROM storage table WHERE food name = 'tomato'", and the terminal suggests, "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[1417] 6. Recipe suggestions
[1418] The device sends a list of all the foods in the refrigerator to the server, and the server searches the database for available recipes based on that list. The server executes the query "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'", and the device displays recipes such as "Easy salad with tomatoes" and "Tomato soup" to the user.
[1419] Specific examples
[1420] Example 1: Buying tomatoes and putting them in the refrigerator
[1421] 1. The user places the purchased tomatoes in the refrigerator and enters the food data into the terminal app or uses a barcode reader to automatically register the information.
[1422] 2. The device sends the data to the server, which stores it in a database.
[1423] 3. The server periodically scans the database to check the availability and expiration dates of tomatoes.
[1424] 4. When the expiration date approaches, the server generates an alert and notifies the device.
[1425] 5. If the user wants to know how to store tomatoes, they search for "how to store tomatoes" on their device, and the server suggests an appropriate method.
[1426] 6. If a user wants to know about recipes using tomatoes, they send a request on their device and the server searches for and suggests recipes.
[1427] Example prompts for generative AI models
[1428] "Create a program that uses a refrigerator management system to register newly purchased food items and display alerts when the expiration date approaches. It also includes features that suggest storage methods and recipes."
[1429] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1430] Step 1:
[1431] When a user puts new food in the refrigerator, they use a device app to enter information such as the food name, purchase date, and expiration date.
[1432] Input: Information such as food name, purchase date, and expiration date.
[1433] How it works: The user enters food information on the app screen or scans the barcode using a barcode reader, and the food is automatically registered using image recognition.
[1434] Output: The entered food data is temporarily saved on the device.
[1435] Step 2:
[1436] The terminal transmits the input food data to the server.
[1437] Input: Food data entered by the user into the device.
[1438] How it works: The device makes an API call to send data to the server, typically in JSON format.
[1439] Output: Food data is sent to the server.
[1440] Step 3:
[1441] The server stores the received food data in a database and updates existing data as needed.
[1442] Input: Food data sent from the device.
[1443] Behavior: The server executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, best_before_date) VALUES ('tomato', '2023-10-15', '2023-10-22')" and saves it in the database. Also, if the same food name exists, it executes an update query.
[1444] Output: Food data is saved or updated in the database.
[1445] Step 4:
[1446] The server periodically scans the database to determine the availability of all food items in the refrigerator.
[1447] Input: All food data in the database.
[1448] Operation: The server periodically (for example, once a day) executes the query "SELECT FROM food table WHERE expiration date > current date" to check the inventory status in the refrigerator.
[1449] Output: A list of stock availability is generated and sent to the terminal.
[1450] Step 5:
[1451] The terminal displays the inventory list to the user.
[1452] Input: A list of stock availability sent from the server.
[1453] What it does: The device displays information such as "Current stock: Tomatoes (Best before date: October 22, 2023)" on the screen.
[1454] Output: User can check stock status in real time.
[1455] Step 6:
[1456] The server monitors the expiration date of each food item and generates alerts for foods approaching their expiration date.
[1457] Input: All food data in the database.
[1458] Operation: The server periodically executes the query "SELECT FROM food table WHERE expiration date <= current date + 2" to identify foods that are approaching their expiration date. It generates alert data and sends it to the device.
[1459] Output: An alert is generated and sent to the terminal.
[1460] Step 7:
[1461] The terminal notifies the user of the alert.
[1462] Input: Alert data sent from the server.
[1463] What it does: The device displays a notification to the user saying, "Your tomatoes are nearing their expiration date (October 22, 2023)."
[1464] Output: User receives expiration date alert.
[1465] Step 8:
[1466] The user enters the name of a specific food item into the device and searches for storage methods.
[1467] Input: The food name entered by the user.
[1468] Operation: The device sends the food name to the server, and the server searches for the storage method by executing the query "SELECT storage method FROM storage table WHERE food name = 'tomato'".
[1469] Output: Data on how it is saved is sent to the device.
[1470] Step 9:
[1471] The device will present the user with a method for saving.
[1472] Input: Storage method data sent from the server.
[1473] What it does: The device displays information to the user, such as "It's best to store tomatoes in the crisper of your refrigerator and use them within 2-3 days."
[1474] Output: User can see how to store food.
[1475] Step 10:
[1476] The device sends a list of all the food items in the refrigerator to the server and searches for available recipes.
[1477] Input: A list of all the food items in the refrigerator.
[1478] Operation: The device sends the entire food list to the server, and the server executes the query "SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'" to find available recipes.
[1479] Output: Available recipe data is sent to the terminal.
[1480] Step 11:
[1481] The terminal presents available recipes to the user.
[1482] Input: Recipe data sent from the server.
[1483] What it does: The device displays recipes to the user, such as "Easy Tomato Salad" and "Tomato Soup."
[1484] Output: User can see available recipes.
[1485] (Application example 1)
[1486] 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."
[1487] Food management in modern brick-and-mortar stores requires a lot of manual work, and checking inventory and managing expiration dates is labor-intensive, so there is a need for greater efficiency. Furthermore, in order to effectively reduce food waste and promote sales, real-time information management and prompt notification to users are important. Furthermore, reducing the burden on store staff and providing high-quality service to customers are also key challenges.
[1488] 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.
[1489] In this invention, the server includes means for inputting food data, means for transmitting the input food data to the server, means for the server to store and update the food data in a database, means for the server to periodically scan the database to check inventory status, means for the server to check food expiration dates and generate alerts for foods approaching their expiration dates, means for transmitting alert data to a terminal and notifying the user, means for searching for and suggesting appropriate storage methods when a food name is input, means for searching for and suggesting recipes based on a list of foods in the refrigerator, means for automatically registering food inventory using an image recognition device with a barcode scanning function, and means for providing notifications based on inventory status and expiration dates to the user via a display device. This improves the efficiency of food management in stores, reduces food waste, and enables real-time inventory confirmation and expiration date management.
[1490] "Food data" refers to information about food managed in physical stores, including food name, purchase date, expiration date, and inventory quantity.
[1491] The "server" is a central management device that stores and updates food data, and also manages inventory status and expiration dates based on that data.
[1492] A "database" is a data storage system connected to a server that allows food data to be systematically stored, searched, and updated.
[1493] An "alert" is a warning message that is sent to users and store staff when a food product's expiration date is approaching or when a shortage of stock is detected.
[1494] An "image recognition device with barcode scanning functionality" is a device that reads barcodes and automatically recognizes and registers food data based on them.
[1495] The "display device" is a display device that visually presents inventory status and alert information to the user.
[1496] "Smart glasses" are electronic eyeglass-type devices equipped with barcode scanning and display functions, and are used to streamline food management in stores.
[1497] A "brick and mortar store" is a physical location where food and other goods are sold in person.
[1498] "Stock status" refers to information about the quantity and type of food currently available in the store.
[1499] "Best before date" is information related to the expiration date of food products, and is data indicating the period during which the quality of the food products will be maintained.
[1500] "Storage" refers to information about the means and methods for optimally storing a particular food product.
[1501] A "recipe" is step-by-step information that shows how to cook a dish or a method of making a dish using food.
[1502] A "terminal" is an electronic device that allows a user to input food data and check information, and includes smartphones, tablets, etc.
[1503] The present invention relates to a food management system for brick-and-mortar stores, specifically a system that manages food inventory and expiration dates and provides appropriate storage methods and notifications to users and store staff. This system is realized using hardware such as a user terminal, a server, smart glasses, an image recognition device with a barcode scanning function, and a display device.
[1504] System Overview
[1505] 1. Food data entry and automatic registration
[1506] When displaying food, the user wears the smart glasses and scans the food's barcode with an image recognition device, using the smart glasses' camera function.
[1507] Once the barcode is scanned, the information is automatically sent to a server and stored in a database, automating food data entry.
[1508] 2. Data storage and updating
[1509] The server stores the submitted food data in a database and updates existing data. The system uses SQL queries to store and update data.
[1510] 3. Check stock availability
[1511] The server periodically scans the database to check the availability of all food items in the store, and this information is reflected in real time on the smart glasses and display devices.
[1512] 4. Best before date management and alert notifications
[1513] The server monitors the expiration date of each food item and generates an alert when the expiration date approaches. The alert data is then sent to the smart glasses or a terminal, and the user or store staff are notified.
[1514] 5. Proposal for appropriate storage methods
[1515] When a user enters the name of a specific food item into the smart glasses or a device, the server searches the database for the appropriate storage method for that food and presents it to the user.
[1516] 6. Recipe suggestions
[1517] The device or smart glasses sends a list of available food items to the server, which then searches the database for available recipes based on the list and provides them to the user. The server then notifies the user of the results.
[1518] Hardware and software used
[1519] Smart Glasses: Electronic devices with barcode scanning and display capabilities (e.g., "Vuzix Blade").
[1520] Image recognition device: Used for barcode scanning.
[1521] Servers and databases: Used for data storage, updates, scanning, alert generation, and searching storage methods and recipes (e.g., "MySQL", "SQLite").
[1522] Device: smartphone or tablet (e.g., iOS, Android).
[1523] Specific examples
[1524] Examples of included data
[1525] Scanned barcode: 1234567890123 (fictitious barcode)
[1526] Database request: Send a JSON containing the barcode data using an INSERT statement
[1527] Inventory Check Request: Scans the database for stock availability and alert information
[1528] Example prompts to input to the generative AI model:
[1529] text
[1530] This invention shows an example of its application to food management in brick-and-mortar stores. Using smart glasses, the camera scans food barcodes, automatically registers and manages the information, and sends an alert when the expiration date is approaching.
[1531] Generate a concrete program and implement it using Python's OpenCV and requests libraries.
[1532] This system will make food management in physical stores more efficient, reduce food waste, and enable real-time inventory checking and expiration date management.
[1533] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1534] Step 1:
[1535] A user wears smart glasses and scans the barcode of a food item in a store. The smart glasses with barcode scanning function read the barcode of the food item. At this time, the image recognition device captures the barcode data and converts it into a digital format. The input data is the barcode information of the food item, and the output data is the digital barcode information.
[1536] Step 2:
[1537] The smart glasses send the scanned barcode information to the terminal, which receives the sent digital barcode information and formats it for sending to the server. The input data is the digital barcode information, and the output data is the formatted data for sending to the server.
[1538] Step 3:
[1539] The server stores the food data in a database based on the barcode information it receives. If the same food item already exists in the database, it updates that information. An "INSERT" or "UPDATE" operation is performed using an SQL query. The input data is the formatted barcode information, and the output data is the food data stored in the database.
[1540] Step 4:
[1541] The server periodically scans the database to check stock availability. The server runs a scheduled job to retrieve stock data for all foods. The input data is all food data in the database, and the output data is a list of stock availability.
[1542] Step 5:
[1543] The server checks the expiration date of each food item and generates alerts for foods that are approaching their expiration date. It filters out foods that are close to their expiration date and generates a list of alerts. The input data is a list of inventory status and expiration date data, and the output data is a list of alerts.
[1544] Step 6:
[1545] The server sends the generated alert data to the terminal. The terminal displays the received alert data on smart glasses or a display device to notify the user. The input data is a list of alerts, and the output data is the alert notification displayed to the user.
[1546] Step 7:
[1547] When a user inputs the name of a specific food, the server searches the database for the appropriate storage method for that food and presents it to the user. The input data is the food name, and the output data is information about the appropriate storage method.
[1548] Step 8:
[1549] The device or smart glasses sends the inventory list to the server, which then searches for and provides available recipes based on the list. The server then searches the recipe database, extracts appropriate recipes, and sends them to the device. The input data is the inventory list, and the output data is the suggested recipes.
[1550] 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.
[1551] This invention combines an emotion engine with a food management system for use in a refrigerator. The system manages food inventory and expiration dates, suggests appropriate storage methods and recipes to users, and analyzes user emotions to make suggestions and notifications based on those analyses.
[1552] System Overview
[1553] 1. Food data entry and automatic registration
[1554] When a user puts new food in the refrigerator, they enter information such as the food name, purchase date, and expiration date via the device app. Food data can also be automatically registered using a barcode reader or photo recognition technology.
[1555] For example, if a user purchases a tomato, they can enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" into the terminal, or use a barcode reader to automatically enter the data.
[1556] 2. Introducing the Emotion Engine
[1557] The emotion engine installed in the device analyzes the emotions from the user's facial expressions and tone of voice when inputting, and obtains the emotional information (e.g., joy, sadness, stress, etc.) that the user is feeling at the time of input.
[1558] The terminal transmits the emotion data acquired by the emotion engine to the server.
[1559] 3. Data storage and updating
[1560] The device sends the input food data and emotion data to the server, which then stores the data in a database and updates existing data based on the new input information.
[1561] For example, the server executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[1562] 4. Check stock availability
[1563] The server periodically scans the database to check the availability of all food items in the refrigerator, and this information is updated in real time on the device for the user to view.
[1564] For example, it might say, "Current stock: Tomatoes (best before date: October 22, 2023)."
[1565] 5. Best before date management and alert notifications
[1566] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the terminal and notified to the user.
[1567] For example, when a tomato is nearing its expiration date, the server generates an alert stating, "The expiration date of the tomato is approaching. It is October 22, 2023," and notifies the terminal.
[1568] 6. Proposal for appropriate storage methods
[1569] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user.
[1570] For example, if you run an SQL query like "SELECT storage method FROM storage table WHERE food name = 'tomato'", the device will suggest, "It's best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[1571] 7. Recipe Suggestions
[1572] The terminal sends a list of all the foods in the refrigerator to the server, which then searches a database for available recipes based on that list and provides them.
[1573] For example, a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'" is executed, and the terminal displays recipes such as "Easy salad with tomatoes" and "Tomato soup" to the user.
[1574] 8. Emotion-based suggestions and notifications
[1575] Based on the user's emotional data obtained by the server from the emotion engine, notifications are sent at appropriate times and in appropriate ways when suggesting food storage methods and recipes.
[1576] For example, if a user is feeling stressed, the app will suggest simple recipes that will help reduce stress.
[1577] The server also analyzes the user's past emotional data and makes customized suggestions based on their preferences and stress levels, such as "recently popular easy recipes" or "dishes that have a relaxing effect."
[1578] In this way, a system incorporating an emotion engine efficiently manages food in the refrigerator and makes flexible suggestions and notifications based on the user's emotions, thereby reducing food waste and easing the burden on the household budget.The system also contributes to improving user satisfaction and reducing stress.
[1579] The processing flow will be explained below.
[1580] Step 1:
[1581] When a user wants to put new food in the refrigerator, they open the app on their device and enter information such as the food name, purchase date, and expiration date, or they can use a barcode reader or photo recognition function to automatically enter food data.
[1582] Step 2:
[1583] The emotion engine installed on the device analyzes emotions from the user's facial expressions and tone of voice while they are typing. The camera and microphone capture the user's facial expressions and tone of voice while they are typing, and the emotion engine analyzes the data.
[1584] Step 3:
[1585] The device sends the emotional data (e.g., joy, sadness, stress) obtained as a result of the analysis to the server along with the food data. The emotional data is sent in a format such as JSON along with the food data.
[1586] Step 4:
[1587] The server stores the received food data and emotion data in a database. For example, it executes an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[1588] Step 5:
[1589] The server periodically scans the database to check the availability and expiry dates of all food items in the refrigerator, and this information is updated in real time on the device.
[1590] Step 6:
[1591] The terminal displays the inventory status sent from the server to the user. For example, it displays "Current inventory: Tomatoes (best before date: October 22, 2023)."
[1592] Step 7:
[1593] The server checks the expiration date of each food item and generates an alert for food items that are approaching their expiration date and sends it to the device. For example, it generates an alert saying, "The expiration date of tomatoes is approaching. The expiration date is October 22, 2023."
[1594] Step 8:
[1595] The device notifies the user of alerts received from the server, displaying them on the screen or in the notification bar so that the user can see them.
[1596] Step 9:
[1597] If a user wants to know how to preserve a particular food, he or she enters the name of the food into the terminal and sends a search request to the server, for example, "how to preserve tomatoes."
[1598] Step 10:
[1599] The server searches the database for the storage method and sends the results to the terminal. For example, it executes an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'".
[1600] Step 11:
[1601] The device displays the storage instructions received to the user, providing information such as "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[1602] Step 12:
[1603] The device sends a list of all the foods in the refrigerator to the server, and the server searches for available recipes based on that list and sends the results to the device. For example, the following SQL query is executed: SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'.
[1604] Step 13:
[1605] The device displays the received recipes to the user, suggesting recipes such as "Easy salad with tomatoes" and "Tomato soup."
[1606] Step 14:
[1607] The server analyzes past emotional data and customizes storage methods and recipes based on the user's emotions. For example, if the user is feeling stressed, it will suggest simple and relaxing recipes.
[1608] Step 15:
[1609] The device will display personalized suggestions and notifications to the user based on their emotions, offering specific recipes such as "Relaxing Tomato Soup" to help users relax.
[1610] In this way, a system incorporating an emotion engine not only efficiently manages food in the refrigerator, but also makes flexible suggestions and notifications based on the user's emotions. This not only reduces food waste and eases the burden on the household budget, but also contributes to improving user satisfaction and reducing stress.
[1611] Example 2
[1612] 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."
[1613] Managing food in the refrigerator has become a major issue in modern households. Insufficient management of food inventory and expiration dates can lead to food waste and have adverse effects on consumers' health. Furthermore, there are few suggestions on how to store food or what recipes to use to cook it, placing a heavy burden on users. Furthermore, conventional systems do not take user emotions into consideration and are unable to provide personalized services.
[1614] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes a means for inputting food data, a means for transmitting the input food data and user emotion data to the server, and a means for the server to store and update the food data and emotion data in a database. This makes it possible to efficiently manage food in the refrigerator and make personalized suggestions based on the user's emotions.
[1615] "Food data" refers to information including the name of the food, purchase date, expiration date, etc.
[1616] "Emotion data" is emotional information analyzed from the user's facial expressions, tone of voice, and the like.
[1617] A "terminal" is an electronic device that a user uses to input food data and emotion data.
[1618] The "server" is a central processing unit that stores, updates, and analyzes food data and emotion data in a database.
[1619] "Database" means an electronic data management system for storing food data and emotion data.
[1620] "Stock status" is information about the current status of all food items in the refrigerator.
[1621] The "best before" date is the date by which food is safe to consume and still delicious.
[1622] An "alert" is a warning message that notifies the user about food that is approaching its expiration date.
[1623] "Storage method" is information about how to store food under optimal conditions.
[1624] A "recipe" is a list of instructions and ingredients for cooking a particular food.
[1625] A "user" is a person who uses the system to manage food in a refrigerator.
[1626] The present invention combines an emotion engine with a food management system in a refrigerator, and is implemented in the following steps.
[1627] 1. System Configuration
[1628] This system consists of a terminal that accepts user input, a server that processes and stores food data and emotion data, and a database that stores this data.
[1629] The device is equipped with a barcode reader and photo recognition technology, as well as a built-in emotion engine.
[1630] The server has database management software installed to store and manage data.
[1631] 2. Food data entry and automatic registration
[1632] When a user puts new food in the refrigerator, the user uses a terminal application to input the food name, purchase date, expiration date, etc.
[1633] In addition, food data can be automatically registered using barcode readers and photo recognition technology.
[1634] For example, if a user purchases a tomato, they can either enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" directly into the terminal application, or use a barcode reader to automatically obtain the data.
[1635] 3. Acquiring and transmitting emotion data
[1636] When a user inputs food data, the device's built-in emotion engine analyzes the user's facial expressions and tone of voice to obtain emotional data such as joy, sadness, and stress.
[1637] The device transmits the acquired emotion data to the server in real time.
[1638] 4. Data storage and updating
[1639] The server receives the food data and emotion data sent from the terminal and stores them in a database.
[1640] The stored data is updated periodically based on new information.
[1641] 5. Availability Check and Notification
[1642] The server periodically scans the database to check the availability of all food items in the refrigerator, and this information is updated in real time on the device for the user to view.
[1643] For example, the server retrieves inventory status from the database and sends the information "Current inventory: Tomatoes (best before date: October 22, 2023)" to the terminal.
[1644] 6. Best before date management and alert notifications
[1645] The server monitors the expiration date of each food item and generates alerts for foods approaching their expiration date.
[1646] The alert is sent to the terminal and notified to the user.
[1647] For example, for tomatoes approaching their expiration date, the server generates an alert stating, "The expiration date of the tomatoes is approaching. The expiration date is October 22, 2023." and notifies the terminal.
[1648] 7. Proposal for appropriate storage methods
[1649] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it.
[1650] For example, when a user types in "tomato," the server will suggest, "It's best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2-3 days."
[1651] 8. Recipe Suggestions
[1652] The terminal sends a list of all the foods in the refrigerator to the server, which then searches a database for available recipes and provides them.
[1653] For example, recipes for "Easy salad with tomatoes" and "Tomato soup" will be displayed on the device.
[1654] 9. Emotion-based suggestions and notifications
[1655] The server analyzes the user's emotional data obtained from the emotion engine and suggests storage methods and recipes at the appropriate time and in the appropriate way.
[1656] In addition, customized suggestions are made based on past emotional and preference data.
[1657] For example, if the user is feeling stressed, the server will suggest "relaxing tomato soup" as an "easy recipe that reduces stress."
[1658] These features enable efficient food management in the refrigerator and flexible suggestions and notifications tailored to the user's mood, which is expected to reduce food waste, ease the burden on the household budget, and even increase user satisfaction and reduce stress.
[1659] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1660] Step 1:
[1661] When a user puts new food in the refrigerator, they use a terminal application to enter information such as the food name, purchase date, and expiration date. Input methods include manual entry, a barcode reader, and photo recognition technology. The input data includes the food name "Tomato," purchase date "October 15, 2023," and expiration date "October 22, 2023."
[1662] Step 2:
[1663] The emotion engine installed in the device analyzes the facial expressions and tone of voice when the user inputs data, and obtains emotion data such as joy, sadness, stress, etc. The input data includes images of the user's facial expressions and tone of voice, and the output is emotion data such as "joy."
[1664] Step 3:
[1665] The device sends the collected food data and emotion data to the server. Specifically, it sends a data packet containing the food name, purchase date, expiration date, and emotion data "joy" to the server.
[1666] Step 4:
[1667] The server stores the received food data and emotion data in a database. It generates the SQL query required to store the data in the database and saves the data in the format "INSERT INTO food table (food name, purchase date, expiration date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[1668] Step 5:
[1669] The server periodically scans the database to check the inventory status of all food items in the refrigerator. The server analyzes the inventory data retrieved from the database and sends it to the terminal in real time. The inventory data includes information such as "Current inventory: Tomatoes (best before date: October 22, 2023)."
[1670] Step 6:
[1671] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. It checks the expiration date field in the database and generates an alert message for food items approaching their expiration date. The generated alert message is sent to the terminal to notify the user. A specific alert message is in the format "The expiration date of tomatoes is approaching. The expiration date is October 22, 2023."
[1672] Step 7:
[1673] When a user inputs the name of a specific food item into the terminal, the server searches the database and suggests storage methods suitable for that food item. When "tomato" is given as input data, the SQL query "SELECT storage method FROM storage table WHERE food name = 'tomato'" is executed. The output is the storage method "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[1674] Step 8:
[1675] When the device sends a list of all the foods in the refrigerator to the server, the server searches the database for available recipes based on that list. Specifically, if the food list includes "tomato," the SQL query "SELECT recipe_name, ingredients FROM recipe_table WHERE ingredients LIKE '%tomato%'" is executed. Recipes such as "Easy salad with tomatoes" and "Tomato soup" are displayed on the device as output.
[1676] Step 9:
[1677] The server customizes recipe and storage suggestions based on the user's emotional data obtained from the emotion engine. For example, if the user is feeling stressed, it will suggest recipes that have a stress-reducing effect. The emotional data "stress" is used as input, and the output is a suggestion such as "tomato soup with a relaxing effect."
[1678] (Application example 2)
[1679] 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."
[1680] Food management is a significant issue in modern society. In particular, insufficient management of food inventory and expiration dates can lead to increased food waste, placing a strain on household finances. Furthermore, applying the same management methods and alerts to users in different emotional states can reduce user satisfaction. Furthermore, current systems lack the ability to offer flexible suggestions tailored to users' emotions, resulting in limited user convenience. To address these issues, a system combining food management and emotion analysis is needed.
[1681] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1682] In this invention, the server includes a means for storing and updating food data in a database, a means for periodically scanning the database to check inventory status, and a means for checking food expiration dates and generating alerts for food items approaching their expiration dates. This not only enables efficient management of food inventory and expiration dates, but also enables analysis of user emotional data and the provision of suggestions and notifications based on that data. Specifically, the system provides a system that increases user satisfaction, reduces food waste, and alleviates the burden on household finances by customizing and suggesting appropriate storage methods and recipes based on the user's emotional state.
[1683] "Food data" refers to information such as the name of the food, purchase date, and expiration date.
[1684] The "server" is a computer system that stores food data and emotion data and processes and manages them.
[1685] A "database" is a collection of information including food data and emotion data managed by a server.
[1686] "Stock status" is information indicating the quantity and status of various foods stored in the refrigerator.
[1687] The "best before" date indicates the last day that food is tasty and safe to consume.
[1688] "Alerts" are warning messages that notify users about food that is nearing its expiration date or other important information.
[1689] "Terminal" refers to an input device such as a smartphone or tablet that allows a user to input and check data.
[1690] "Preservation method" refers to the method or technique for properly storing a particular food.
[1691] A "recipe" is a set of instructions or instructions for cooking using food.
[1692] "Emotion data" refers to information about emotions acquired from the user's facial expressions, voice tone, and the like.
[1693] An "emotion engine" is a technology that analyzes a user's emotions and makes appropriate suggestions and notifications based on those emotions.
[1694] "Customized suggestions" means providing preservation methods and recipes that are individually optimized according to the user's feelings and preferences.
[1695] The system of this invention inputs and automatically registers food data, introduces an emotion engine, saves and updates data, checks inventory status, manages expiration dates and sends alerts, suggests appropriate storage methods, suggests recipes, and makes suggestions and notifications based on emotions, thereby making food management more efficient and improving user satisfaction.
[1696] 1. Food data entry and automatic registration:
[1697] When a user puts new food in the refrigerator, they enter information such as the food name, purchase date, and expiration date via a device app. It is also possible to automatically register food data using a barcode reader or photo recognition technology. For example, if a user purchases a "tomato," they can enter "tomato, purchase date: October 15, 2023, expiration date: October 22, 2023" into the device, or use a barcode reader to automatically enter the data.
[1698] 2. Introducing the Emotion Engine:
[1699] The emotion engine installed in the device analyzes the emotions from the facial expressions and tone of voice of the user when they input their message. This allows the device to acquire the emotional information (e.g., joy, sadness, stress, etc.) that the user is feeling when they input their message. The acquired emotional data is then sent to the server.
[1700] 3. Data storage and updating:
[1701] The food data and emotion data sent from the device are stored on the server. The server records the data in a database and updates existing data based on the new input information. For example, data is saved using an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')".
[1702] 4. Check availability:
[1703] The server periodically scans the database to check the availability of all food items in the refrigerator. This information is then updated in real time on the device, where the user can view it. For example, it might show "Current inventory: Tomatoes (best before date: October 22, 2023)."
[1704] 5. Best before date management and alert notifications:
[1705] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the device and notified to the user. For example, for tomatoes approaching their expiration date, an alert will be sent to the device stating, "The expiration date of your tomatoes is approaching. The expiration date is October 22, 2023."
[1706] 6. Proper storage suggestions:
[1707] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user. For example, by executing an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'", the terminal may suggest, "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[1708] 7. Recipe Suggestions:
[1709] When a list of all the foods in the refrigerator is sent from the device to the server, the server searches the database for available recipes based on that information and provides them to the user. For example, a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'" is executed, and the device displays recipes such as "Easy salad with tomatoes" and "Tomato soup."
[1710] 8. Emotion-based suggestions and notifications:
[1711] The server will notify the user at the appropriate time and in the appropriate way when suggesting food preservation methods or recipes based on the user's emotional data obtained from the emotion engine. For example, if the user is feeling stressed, it will suggest simple recipes that have the effect of reducing stress. It will also analyze past emotional data and make customized suggestions based on the user's preferences and stress level. For example, it will suggest "easy recipes that are popular recently" or "dishes that have a relaxing effect."
[1712] Specific examples
[1713] Example prompt sentence:
[1714] "I have some tomatoes in the fridge. They're nearing their expiration date. Can you suggest a simple tomato salad recipe?"
[1715] "User is stressed. Can you suggest a recipe that will help reduce stress?"
[1716] This system not only improves the efficiency of food management, but also enables flexible and effective suggestions based on the user's emotions, which is expected to improve purchasing habits, reduce food waste, and further reduce the burden on household finances and increase user satisfaction.
[1717] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1718] Step 1:
[1719] Food data entry and automatic registration
[1720] When a user puts new food in the refrigerator, they input information such as the food name, purchase date, and expiration date via a terminal app. In addition, food data is automatically registered using a barcode reader and photo recognition technology. The input data is the food name, purchase date, and expiration date, and the output is the registered food data. For example, the data entered is "Tomato, purchase date: October 15, 2023, expiration date: October 22, 2023."
[1721] Step 2:
[1722] Acquiring emotion data
[1723] The emotion engine installed in the device analyzes the user's emotions from their facial expressions and tone of voice when they input. The input data is the user's facial expressions and tone of voice, and the output is the user's emotional information. For example, the emotion engine may analyze that the user is feeling "joy" when inputting.
[1724] Step 3:
[1725] Saving and updating data
[1726] The food data and emotion data sent from the device are stored on the server. The server records this data in a database and updates existing data based on new input information. The input is the newly registered food data and emotion data, and the output is the latest data stored in the database. For example, an SQL query such as "INSERT INTO food_table (food_name, purchase_date, expiration_date, emotion) VALUES ('tomato', '2023-10-15', '2023-10-22', 'joy')" is executed.
[1727] Step 4:
[1728] Check stock availability
[1729] The server periodically scans the database to check the inventory status of all food items in the refrigerator. The input of the scan is all data in the database, and the output is real-time inventory status information. For example, information such as "Current inventory: Tomatoes (best before date: October 22, 2023)" is generated and reflected on the terminal.
[1730] Step 5:
[1731] Expiration date monitoring and alert notifications
[1732] The server monitors the expiration date of each food item and generates an alert for food items approaching their expiration date. The alert data is sent to the terminal and notifies the user. The input is the expiration date of the food data, and the output is the generated alert message. For example, an alert saying "The expiration date of tomatoes is approaching. It is until October 22, 2023" is notified to the terminal.
[1733] Step 6:
[1734] Proposal for appropriate storage methods
[1735] When a user inputs the name of a specific food item into the terminal, the server searches the database for the appropriate storage method for that food item and presents it to the user. The input is the food name, and the output is a suggestion of an appropriate storage method. For example, by executing an SQL query such as "SELECT storage method FROM storage table WHERE food name = 'tomato'", the terminal will suggest, "It is best to store tomatoes in the vegetable compartment of the refrigerator and use them up within 2 to 3 days."
[1736] Step 7:
[1737] Recipe Suggestions
[1738] When a list of all the foods in the refrigerator is sent from the terminal to the server, the server searches the database for available recipes based on that information and provides them to the user. The input is the list of foods in the refrigerator, and the output is the available recipes. For example, a query such as "SELECT recipe name, ingredients FROM recipe table WHERE ingredients LIKE '%tomato%'" is executed, and the terminal displays recipes such as "Easy salad with tomatoes" and "Tomato soup."
[1739] Step 8:
[1740] Emotion-based suggestions and notifications
[1741] The server will notify the user at the appropriate time and in the appropriate way when suggesting food preservation methods or recipes based on the user's emotional data obtained from the emotion engine. The input is the user's emotional data, and the output is customized suggestions based on the emotion. For example, if the user is feeling stressed, it will suggest simple recipes that have a stress-reducing effect. It will also analyze past emotional data and make customized suggestions based on preferences and stress levels. For example, it will suggest "easy recipes that are popular recently" or "dishes that have a relaxing effect."
[1742] 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.
[1743] 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.
[1744] 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 robot 414.
[1745] 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.
[1746] FIG. 9 illustrates 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 behaviors 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.
[1747] 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.
[1748] 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).
[1749] 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.
[1750] 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."
[1751] 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.
[1752] 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).
[1753] 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.
[1754] 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.
[1755] 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.
[1756] 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.
[1757] 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.
[1758] 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.
[1759] 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.
[1760] 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.
[1761] 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.
[1762] 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.
[1763] The following is further disclosed regarding the above embodiment.
[1764] (Claim 1)
[1765] a means for inputting food data;
[1766] means for transmitting the input food data to a server;
[1767] a means for the server to store and update the food data in a database;
[1768] A means for the server to periodically scan the database to check inventory status;
[1769] a means for the server to check expiration dates on food products and generate alerts for food products approaching expiration;
[1770] means for transmitting alert data to a terminal and notifying a user;
[1771] When you enter the name of a food item, it searches for and suggests appropriate storage methods.
[1772] The system includes a means for searching and suggesting recipes based on a list of foods in the refrigerator.
[1773] (Claim 2)
[1774] A means for a user to input the name, purchase date, and expiration date of food when putting food into the refrigerator;
[1775] 10. The system of claim 1, including means for automatically inputting food data using a barcode reader or photo recognition technology.
[1776] (Claim 3)
[1777] When proposing a search and storage method for the database, a means for searching an appropriate storage method from the database, and the server transmitting the searched method to the terminal and displaying it to the user;
[1778] 2. The system according to claim 1, further comprising means for transmitting a list of foods in the refrigerator to a server, searching for available recipes based on the list, and the server then transmitting the searched recipes to the terminal.
[1779] "Example 1"
[1780] (Claim 1)
[1781] a means for a user to input food data;
[1782] means for transmitting the input food data to a server;
[1783] a means for the server to store and update the food data in a database;
[1784] A means for the server to periodically scan the database to check inventory status;
[1785] a means for the server to check expiratio...
Claims
1. a means for inputting food data; means for transmitting the input food data to a server; a means for the server to store and update the food data in a database; A means for the server to periodically scan the database to check inventory status; a means for the server to check expiration dates on food products and generate alerts for food products approaching expiration; means for transmitting alert data to a terminal and notifying a user; When you enter the name of a food item, it searches for and suggests appropriate storage methods. and a means for searching and suggesting recipes based on a list of foods in the refrigerator.
2. A means for a user to input the name, purchase date, and expiration date of food when putting food into the refrigerator; 10. The system of claim 1, further comprising means for automatically inputting food data using a barcode reader or photo recognition technology.
3. When proposing a search and storage method for the database, a means for searching an appropriate storage method from the database, and the server transmitting the searched method to the terminal and displaying it to the user; 2. The system according to claim 1, further comprising means for transmitting a list of foods in the refrigerator to a server, searching for available recipes based on the list, and the server then transmitting the searched recipes to the terminal.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A