System

The system addresses food expiration date management and ingredient utilization by using a terminal and server for image capture and processing, reducing waste and enhancing cooking efficiency through timely reminders and recipe suggestions.

JP2026038227APending Publication Date: 2026-03-06SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-22
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Consumers face challenges in managing food expiration dates and lack recipe suggestions for efficiently using ingredients, leading to food waste and inefficient cooking.

Method used

A system that includes a terminal for capturing food images, a server for optical character recognition, processing to extract expiration dates, and generating reminder messages and recipe suggestions, which are transmitted to the terminal.

Benefits of technology

Enables efficient management of food expiration dates, reduces waste, and optimizes ingredient use by providing timely reminders and recipe suggestions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026038227000001_ABST
    Figure 2026038227000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: The system includes a terminal for photographing an image of a food, a server for receiving the photographed image, an optical character recognition means for recognizing character information in the image, a processing means for extracting an expiration date in the image, a means for generating a reminder message and a dish proposal when the expiration date approaches, and a means for transmitting the reminder message and the dish proposal to the terminal.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

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 expiration dates and best-before dates is an important issue in everyday life. However, it is difficult for consumers to keep track of the expiration dates of all food items and consume them appropriately, resulting in frequent food waste. In addition, the lack of recipe suggestions for making effective use of ingredients in the refrigerator makes it difficult for users to cook efficiently. An effective system to solve these problems is needed. [Means for solving the problem]

[0005] This invention provides a system that includes a terminal for capturing images of food, a server that receives the captured images, optical character recognition means for recognizing text information in the images, processing means for extracting expiration dates from the images, means for generating reminder messages and recipe suggestions when the expiration date approaches, and means for transmitting the reminder messages and recipe suggestions to the terminal. This allows users to efficiently manage food expiration dates and prevent food waste by receiving reminders based on that information. Furthermore, the recipe suggestions enable users to effectively utilize ingredients in their refrigerators.

[0006] "Food" refers to fresh foods, processed foods, condiments, etc. for human consumption.

[0007] An "image" is optically acquired visual information expressed as digital data, and includes photographs, scanned images, and the like.

[0008] A "terminal" is a device that a user directly operates, and includes a smartphone, tablet, camera, etc.

[0009] A "server" is a computer system that communicates with terminals over a network and receives, processes, and stores data.

[0010] "Optical character recognition" is a technology that extracts character information from an image as digital text, and is also known as OCR.

[0011] "Processing means" refers to the part that has the function of analyzing and transforming data using specific algorithms or programs.

[0012] "Best before date" refers to the date by which food is guaranteed to retain its appropriate quality.

[0013] A "reminding message" is a notification provided to remind the user of a particular matter.

[0014] "Cooking suggestions" refer to suggestions for cooking methods or recipes using specific ingredients.

[0015] A "database" is a system for efficiently storing, retrieving, and managing structured data. [Brief explanation of the drawings]

[0016] [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

[0017] 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.

[0018] First, the terms used in the following description will be explained.

[0019] 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).

[0020] 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.

[0021] 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.

[0022] 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.

[0023] 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."

[0024] [First embodiment]

[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0026] 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.

[0027] 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).

[0028] 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.

[0029] 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.

[0030] 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.

[0031] 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.

[0032] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0033] 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.

[0034] 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.

[0035] 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.

[0036] 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."

[0037] System Overview

[0038] This invention is a system for managing the expiration dates of food products, sending reminders to users when the expiration date is approaching, and also providing recipe suggestions. The system mainly consists of a terminal for taking images of food products, a server for receiving the taken images, optical character recognition means for recognizing text information in the images, processing means for extracting the expiration date, means for generating reminder messages and recipe suggestions, and means for transmitting them to the terminal.

[0039] System Operation

[0040] 1. User takes a photo of food

[0041] Before putting food in the refrigerator, users take a photo of the food using a device such as a smartphone, and the photo is saved on the device.

[0042] 2. The device uploads the photo to the server

[0043] Users upload photos they have taken to the server through an application on their device. To upload photos, the device generates an HTTP POST request and sends it to a specified endpoint on the server.

[0044] 3. The server receives and saves the image.

[0045] When the server receives an HTTP request, it saves the image file in a dedicated directory. It internally records the path of the saved image file and uses it for subsequent processing.

[0046] 4. The server performs OCR and extracts the text.

[0047] The server reads the stored image file and uses optical character recognition (OCR) to extract the textual information in the image as digital text, which is then used to determine the expiration date.

[0048] 5. The server identifies the expiration date

[0049] The expiration date information is identified from the extracted text data using a dedicated analysis method, and the identified expiration date information is stored in a database.

[0050] 6. Best before date management

[0051] The server periodically checks the database to see the expiration date of each stored food item, and if any food is nearing its expiration date, generates a reminder message based on that information.

[0052] 7. Generate reminder messages and recipe suggestions

[0053] The server generates reminder messages for food items that are nearing their expiration date, along with related recipe suggestions, improving the quality of information provided to users.

[0054] 8. Send reminder messages to your device

[0055] The server sends the generated reminder message and recipe suggestions to the device as an HTTP response, and the device notifies the user of the received information.

[0056] Specific examples

[0057] For example, suppose a user takes a photo of a pack of pork with their smartphone before putting it in the refrigerator. The user uploads the photo to a server using an application. The server receives the image and performs OCR to extract text information such as "Best before: 2023 / 10 / 10." The server stores the extracted expiration date information in a database and periodically checks the information. When 2023 / 10 / 07 arrives, the server generates a reminder message saying, "The pork's expiration date is approaching (3 days left until the expiration date)," along with a cooking suggestion such as, "We recommend making ginger pork with the ginger in the refrigerator." This reminder and suggestion are then sent to the device and notified to the user.

[0058] The specific operation of this system is to help users consume food efficiently without missing its expiration date, thereby reducing food waste and making users' lives more convenient.

[0059] The processing flow will be explained below.

[0060] Step 1:

[0061] Before putting food in the refrigerator, the user takes a photo of the food with their device (smartphone), and the photo is saved in the device's camera roll.

[0062] Step 2:

[0063] Photos taken on the device are selected and uploaded to the server using a dedicated application. The user presses the "Upload" button to send the photos to the server.

[0064] Step 3:

[0065] The server analyzes the HTTP POST request received from the device, saves the sent photo file in a specific directory (e.g., . / images / ), and keeps an internal record of the path of the saved file.

[0066] Step 4:

[0067] The server reads the stored image file and performs optical character recognition (OCR), which extracts the textual information in the image as digital text.

[0068] Step 5:

[0069] The server parses the expiration date information from the text data extracted by OCR, using regular expressions and other text analysis techniques to identify date information such as "Expiration Date: 2023 / 10 / 10".

[0070] Step 6:

[0071] The server stores the identified expiration date information in a database. The database uses structures and dictionaries to manage food information (image paths, expiration dates, upload dates, etc.).

[0072] Step 7:

[0073] The server runs a periodically scheduled job that checks the expiration dates of food items in the database, comparing the current date with the stored expiration dates to see if they are approaching their expiration date.

[0074] Step 8:

[0075] The server lists foods that are nearing their expiration date and generates reminder messages based on that, for example, "It's about time to use some pork (3 days left until expiration date)."

[0076] Step 9:

[0077] The server also generates recipe suggestions for approaching expiration dates, e.g., "I recommend ginger pork with the ginger in your fridge."

[0078] Step 10:

[0079] The server sends the generated reminder message and recipe suggestions to the device as an HTTP response, and the device notifies the user of the received information.

[0080] Step 11:

[0081] Users can check reminder messages and recipe suggestions on their devices and prevent food waste by using food that is close to its expiration date appropriately.

[0082] Example 1

[0083] 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."

[0084] In conventional food management systems, users have to manage food expiration dates themselves, which makes it easy to forget and frequently results in expiry dates being missed. This leads to increased food waste and inefficient food management within the home. Another problem is that the system does not suggest appropriate recipes when the expiration date is approaching, making it difficult to optimize food usage.

[0085] 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.

[0086] In this invention, the server includes a device for a user to take an image of food, a device for receiving the taken image, optical character recognition means for recognizing text information in the image, processing means for extracting the expiration date from the recognized text information, means for generating a reminder message and recipe suggestions when the expiration date approaches, and means for transmitting the generated reminder message and recipe suggestions to the user's device. This allows the user to easily manage the expiration date of food, and automatic reminders are sent when the expiration date approaches, thereby reducing food waste. Furthermore, the provision of recipe suggestions optimizes the user's ingredient use and realizes efficient food management.

[0087] A "user device" is a hardware device that a user uses to take images of food and send and receive data.

[0088] A "server" is a computer system that receives image data sent from a user, processes it, and returns the results of the processing to the user's device.

[0089] "Optical character recognition means" refers to a technology or device for recognizing and extracting character information from an image as digital data.

[0090] The "processing means" is software or hardware for extracting the expiration date from the recognized character information and storing and managing it in an appropriate database.

[0091] A "remind message" is a notification that notifies the user that the expiration date of food is approaching.

[0092] "Cooking suggestions" are suggestions for recipes and cooking methods to make effective use of food that is approaching its expiration date.

[0093] The "database" is a digital storage system for storing and managing food information and expiration date information obtained from users.

[0094] "Batch processing" refers to a series of automated data processing operations that are performed on a regular basis.

[0095] The present invention relates to a system for assisting a user in managing the expiration dates of food products and consuming them efficiently. The system is configured as follows.

[0096] System configuration

[0097] 1. User Device

[0098] A device used by a user to take pictures of food. Specifically, it includes devices with camera functions such as smartphones and tablets. An application for sending the captured image data to a server is installed on the user device.

[0099] 2. Server

[0100] The server is a central processing unit that receives, analyzes, and processes image data sent by users. The server is equipped with multiple software modules, including optical character recognition (OCR), a database, and a reminder message generator.

[0101] 3. Optical Character Recognition (OCR)

[0102] The server uses optical character recognition technology, such as the Tesseract OCR engine, to recognize and extract text information from images. OCR extracts text data from images and uses this text data for further analysis.

[0103] 4. Processing Means

[0104] The server uses regular expressions and machine learning models to identify expiration dates from the text data extracted by OCR, and stores the expiration date information in a database.

[0105] 5. Reminder message generation method

[0106] The server periodically checks expiration dates stored in the database and generates reminder messages and recipe suggestions when the expiration date approaches, using an algorithm that personalizes the suggestions based on the user's cooking history and preferences.

[0107] 6. Database

[0108] This is a digital storage system for managing expiration date information and related cooking suggestions. Food information is organized for each user, and expiration dates can be checked.

[0109] Specific examples

[0110] For example, a user takes a photo of a carton of milk with their smartphone before putting it in the refrigerator. After taking the photo, the user uses an application to upload the photo to the server. The server receives the HTTP request and saves the image file in a dedicated directory. It then reads the saved image and uses the Tesseract OCR engine to extract the text "Best before date: 2023 / 05 / 15". The server then saves the extracted date information as the best before date in the database.

[0111] On May 12, 2023, three days before the expiration date, the server checks the database in a batch process and generates a reminder message saying, "The milk's expiration date is approaching (three days left until the expiration date)" and a cooking suggestion saying, "We recommend a pancake recipe using milk." These messages are sent to the user's device, and the user is notified in the notification area of ​​their smartphone or within the app.

[0112] Prompt Sentence Examples

[0113] "Take a photo of your food before putting it in the fridge."

[0114] "Please upload the photos you have taken to the server through the application."

[0115] As described above, this system helps users efficiently manage food expiration dates and consume food without waste, thereby reducing food waste and making users' lives more convenient.

[0116] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0117] Step 1:

[0118] User takes a photo of food

[0119] The user takes a picture of food using a smartphone. The input is the food image, and the output is the image data stored in the device's photo gallery.

[0120] Specific behavior:

[0121] The user opens the camera app on their smartphone, focuses on the milk carton, and presses the shutter button to take a photo. After taking the photo, the image data is saved in the photo gallery.

[0122] Step 2:

[0123] The device uploads the photo to the server

[0124] The user starts a specific application on the device, selects a saved image, and sends it to the server. The input is the saved image data, and the output is the image file sent to the server.

[0125] Specific behavior:

[0126] The user launches the application, clicks the "Upload Image" button, selects a photo of a milk carton from the image selection dialog, and presses the "Submit" button, causing the application to send an HTTP POST request to the " / upload" endpoint on the server.

[0127] Step 3:

[0128] The server receives and saves the image.

[0129] The server receives HTTP requests and saves the image files in a dedicated directory. The input is the HTTP request, and the output is the image file and its path in the directory.

[0130] Specific behavior:

[0131] The server receives a request at the " / upload" endpoint, retrieves the binary image data from the request, saves it in the / images directory, and records the path of the saved file in the database.

[0132] Step 4:

[0133] The server performs OCR and extracts the text

[0134] The server reads the saved image file and extracts the text information using optical character recognition technology. The input is the path of the saved image file, and the output is the extracted text data.

[0135] Specific behavior:

[0136] The server calls the Tesseract OCR engine with the path to the image file as input. The OCR engine extracts the text information "Best before date: 2023 / 10 / 10" from the image and saves it as text data.

[0137] Step 5:

[0138] The server identifies the expiration date

[0139] The server identifies the expiration date from the text data extracted by OCR and stores it in a database. The input is the extracted text data, and the output is a database containing expiration date information.

[0140] Specific behavior:

[0141] The server uses regular expressions to extract the date format "2023 / 10 / 10" from the text data. The extracted date information is saved in the database as the expiration date along with the food name.

[0142] Step 6:

[0143] The server periodically checks expiration date information

[0144] The server periodically scans the database for food items approaching their expiration date. The input is the expiration date information from the database, and the output is a request to generate a reminder message.

[0145] Specific behavior:

[0146] The server runs a batch job every night at midnight to scan the expiration date information in the database, listing foods that are within three days of their expiration date and adding them to a queue for generating reminder messages.

[0147] Step 7:

[0148] Server generates reminder messages and food suggestions

[0149] The server generates a reminder message along with recipe suggestions. The input is a list of food items that are nearing their expiration date, and the output is a reminder message and recipe suggestions.

[0150] Specific behavior:

[0151] The server generates a reminder message saying "The milk's expiration date is approaching (3 days left until expiration date)" and a cooking suggestion saying "We recommend a pancake recipe using milk."

[0152] Step 8:

[0153] The server sends reminder messages and recipe suggestions to the device.

[0154] The generated reminder message and recipe suggestions are sent to the device as an HTTP response. The input is the generated reminder message and recipe suggestions, and the output is a notification on the user's device.

[0155] Specific behavior:

[0156] The server sends a reminder message and cooking suggestions via HTTP response. The device analyzes the received message and notifies the user, "The milk's expiration date is approaching. Check out the pancake recipe."

[0157] (Application example 1)

[0158] 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."

[0159] Conventional food management systems require users to manually input information for expiration date management, which is inefficient. Furthermore, they may not receive appropriate notifications when the expiration date approaches, which can lead to food waste. Furthermore, it is difficult to develop an efficient sales strategy for food products with approaching expiration dates. The present invention aims to solve these problems and automate food expiration date management and efficient sales strategies.

[0160] 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.

[0161] In this invention, the server includes optical character recognition means for recognizing character information in the image, processing means for extracting the expiration date in the image, means for generating a reminder message and a discount offer when the expiration date is approaching, and means for transmitting the reminder message and the discount offer to the terminal, thereby enabling automatic management of expiration dates and efficient sales offers for products approaching their expiration date.

[0162] A "terminal" is a device that allows a user to take an image of food and send the image to a server.

[0163] The "server" is a central processing unit that processes images received from the terminals, manages expiration dates, and generates reminder messages and discount offers.

[0164] "Optical character recognition" is a technology that recognizes character information in an image as digital text.

[0165] The "processing means" is a function for identifying the expiration date from the character information extracted by the optical character recognition means and storing the date in a database.

[0166] A "reminding message" is a message that notifies users and store staff about food items that are approaching their expiration date.

[0167] A "discount proposal" is a price adjustment proposal to promote efficient sales of food products that are approaching their expiration date.

[0168] The "database" is a data management system that stores the extracted expiration date information and product information so that it can be used for later processing.

[0169] "Promotion" is a mechanism for notifying users and store staff of reminder messages and discount offers.

[0170] System program generation

[0171] The program for building a system that realizes this application example works as follows: For example, the Python program uses the Tesseract OCR library for OCR processing and MongoDB for database management.

[0172] Server Processing

[0173] The server receives images of food sent from the device. The received images are first saved in a dedicated directory on the server. The server then uses the Tesseract OCR library to extract text from the saved images. It identifies expiration date data from the extracted text and saves this information in a MongoDB database. The server periodically crawls the database and generates reminder messages and discount offers for products approaching their expiration date. The generated reminder messages and discount offers are then sent to store staff via push notifications or other means.

[0174] The main software and hardware used are:

[0175] Tesseract OCR Library: Used to convert character information in images into text data.

[0176] MongoDB: A database system that manages expiration date information and product information.

[0177] Push Notification Service: A notification service for sending reminder messages and discount offers to your device.

[0178] Terminal handling

[0179] The terminal provides a tool that allows store staff to take a photo of the food product label and send the image to the server, where it is automatically uploaded to a specified endpoint using an HTTP POST request.

[0180] User Action

[0181] The user, in this case a store staff member, takes pictures of products using a terminal and uploads them to the system. When they receive reminder messages or discount offers, they can take appropriate action to achieve efficient inventory management and sales strategies.

[0182] Specific examples

[0183] For example, consider the case where a store staff member is managing the expiration date of "pork" in the refrigerator. First, the store staff member takes a photo of the label with the expiration date on the "pork" with their smartphone and uploads the image to the server via an application. The server analyzes the received image using Tesseract OCR and extracts the information written on the label, such as "Expiration date: 10 / 10 / 2023." This information is stored in MongoDB, and when the expiration date approaches, a reminder message stating "The pork's expiration date is approaching. We recommend applying a discount" is displayed on the terminal along with a discount offer.

[0184] An example prompt might be, "Generate a Python program that extracts expiration dates from food images, stores them in a database, and notifies you when the expiration date is approaching. Use MongoDB as the database and Tesseract OCR to extract text from the images."

[0185] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0186] Step 1:

[0187] The user takes a picture of the food using the device. The image data is saved in the device.

[0188] Step 2:

[0189] The device uploads the captured image data to the server. The input is the image data saved in step 1, and the output is the image data sent in the HTTP POST request format.

[0190] Step 3:

[0191] The server receives and stores uploaded image data. The input is image data sent from the device, and the output is an image file stored in a dedicated directory on the server. Specifically, the server receives an HTTP request and stores the image file on disk.

[0192] Step 4:

[0193] The server performs OCR processing on the received image file to extract text information. The input is the saved image file, and the output is the extracted text data. Specifically, the server uses the Tesseract OCR library to analyze the text in the image and extract it as digital text.

[0194] Step 5:

[0195] The server identifies expiration date information from the extracted text data and stores it in a database. The input is the text data obtained by OCR processing, and the output is the expiration date information stored in the database. Specifically, the server runs a Python script to analyze the text data, extract the expiration date, and store it in MongoDB.

[0196] Step 6:

[0197] The server periodically crawls the database, detects products approaching their expiration date, and generates reminder messages and discount offers. The input is the expiration date information in the database, and the output is the generated reminder messages and discount offers. Specifically, the server uses a scheduler to periodically check the database and generates reminder messages and discount offers using a Python script.

[0198] Step 7:

[0199] The server notifies the device of the generated reminder message and discount offer. The input is the generated reminder message and discount offer, and the output is a message sent to the device as a notification. Specifically, the server uses a push notification service to send the reminder message and discount offer to the device.

[0200] Step 8:

[0201] The user checks the reminder message and discount offer received on the device and takes appropriate action. The input is the reminder message and discount offer displayed on the device, and the output is the user's decision and action. Specific actions include the user checking the message and taking appropriate action, such as applying a discount if necessary or moving the product to a specific area.

[0202] 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.

[0203] System Overview

[0204] This invention is a system that manages the expiration date of food, sends reminders to the user when the expiration date is approaching, and also makes cooking suggestions, and is further combined with an emotion engine that recognizes the user's emotions.The system includes a terminal for taking images of food, a server that receives the taken images, optical character recognition means that recognizes text information in the images, processing means that extracts the expiration date, means for generating reminder messages and cooking suggestions, means for sending the reminder messages and cooking suggestions to the terminal, and an emotion engine that recognizes the user's emotions.

[0205] System Operation

[0206] 1. User takes a photo of food

[0207] Before putting food in the refrigerator, users take a photo of the food using a device such as a smartphone, and the photo is saved on the device.

[0208] 2. The device uploads the photo to the server

[0209] The user uploads the photographs they have taken to the server through the application on their device. The user presses the "upload" button to send the photographs to the server.

[0210] 3. The server receives and saves the image.

[0211] The server analyzes the HTTP POST request received from the device, saves the sent photo file in a specific directory (e.g., . / images / ), and keeps an internal record of the path of the saved file.

[0212] 4. The server performs OCR and extracts the text.

[0213] The server reads the stored image file and performs optical character recognition (OCR), which extracts the textual information in the image as digital text.

[0214] 5. The server identifies the expiration date

[0215] The server parses the expiration date information from the text data extracted by OCR, using regular expressions and other text analysis techniques to identify date information such as "Expiration Date: 2023 / 10 / 10".

[0216] 6. The server stores the expiration date in a database

[0217] The server stores the identified expiration date information in a database. The database uses structures and dictionaries to manage food information (image paths, expiration dates, upload dates, etc.).

[0218] 7. The server manages the expiration date

[0219] The server runs a periodically scheduled job that checks the expiration dates of food items in the database, comparing the current date with the stored expiration dates to see if they are approaching their expiration date.

[0220] 8. The server generates reminder messages and recipe suggestions

[0221] The server lists foods that are nearing their expiration date and generates reminder messages based on that, for example, "It's about time to use some pork (3 days left until expiration date)."

[0222] 9. Emotion Recognition with Emotion Engine

[0223] The device uses the user's facial expressions and voice to recognize the user's emotions through an emotion engine, which can identify whether the user is happy, sad, tired, or other such states.

[0224] 10. Tailor messages and offers based on emotions

[0225] The server adjusts the content of reminder messages and recipe suggestions based on the user's emotional state as recognized by the emotion engine, for example, suggesting simple recipes to a tired user.

[0226] 11. Send reminder messages and recipe suggestions to your device

[0227] The server generates reminder messages and recipe suggestions, adjusts them based on the user's emotions, and sends them to the device, which then notifies the user of the received information.

[0228] Specific examples

[0229] For example, a user takes a photo of a pack of pork with their smartphone before putting it in the refrigerator and uploads it to the server via an application. The server receives the image and performs OCR to extract the text information "Best before: 2023 / 10 / 10." The server stores this expiration date information in a database and periodically checks it. On 2023 / 10 / 07, the server generates a reminder message saying "The pork's expiration date is approaching (3 days left until the expiration date)" along with a recipe suggestion such as "We recommend ginger pork with the ginger in your refrigerator." If the server detects that the user is feeling tired, it will make a simple recipe suggestion such as "How about an easy dish to make with roast pork?" The server then sends the adjusted message and suggestion to the device and notifies the user.

[0230] The specific operation of this system not only enables users to manage food expiration dates without missing them, but also allows them to receive reminders and cooking suggestions that match their emotional state at the time, making daily life more convenient and comfortable.

[0231] The processing flow will be explained below.

[0232] Step 1:

[0233] Before putting food in the refrigerator, the user takes a photo of the food with their device (smartphone), and the photo is saved in the device's camera roll.

[0234] Step 2:

[0235] The user uploads the photographs they have taken to the server using an application on their device. Specifically, the user presses the "upload" button in the application to send the photograph files to the server.

[0236] Step 3:

[0237] The server receives the HTTP POST request sent from the device, saves the uploaded photo file in a specific directory (e.g., . / images / ), and records the path of the saved image file.

[0238] Step 4:

[0239] The server reads the stored image file and performs optical character recognition (OCR), which extracts the textual information in the image as digital text.

[0240] Step 5:

[0241] The server analyzes the text data extracted by OCR to identify information related to expiration dates. Using text analysis techniques such as regular expressions, date information such as "Expiration date: 2023 / 10 / 10" is extracted.

[0242] Step 6:

[0243] The server stores the identified expiration date information in a database, which stores the image path of the food, the expiration date, the upload date and time, etc.

[0244] Step 7:

[0245] The server periodically runs a scheduled job to check the expiration dates of food items in the database, comparing the current date with the stored expiration dates to see if the expiration date is approaching.

[0246] Step 8:

[0247] The server lists foods that are nearing their expiration date and generates reminder messages based on that, for example, "It's about time to use some pork (3 days left until expiration date)."

[0248] Step 9:

[0249] The device recognizes the user's facial expressions and voice, and the emotion engine determines the user's emotions. Based on data collected through the device's camera and microphone, the emotion engine identifies whether the user is happy, sad, tired, etc.

[0250] Step 10:

[0251] The server adjusts the content of the reminder message and recipe suggestions based on the user's emotional state as recognized by the emotion engine. For example, if a user is tired, the server changes the tone and content of the message, suggesting "easy-to-make dishes."

[0252] Step 11:

[0253] The server sends the tailored reminder message and recipe suggestions to the device, which then notifies the user of the received information.

[0254] Step 12:

[0255] Users can view the reminder message and cooking suggestions on their device. Specifically, they can receive a notification, open the application, check detailed information, and use the food appropriately when it is nearing its expiration date.

[0256] Example 2

[0257] 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."

[0258] In modern households, it is important to manage food expiration dates, but many people tend to neglect this, resulting in frequent food waste. Furthermore, receiving optimal recipe suggestions tailored to the emotional state of household members would improve the quality of daily life, but conventional systems lack this functionality. Therefore, there is a need for a system that manages expiration dates and suggests recipes based on emotional states.

[0259] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0260] In this invention, the server

[0261] analysis means for extracting expiration dates from the images;

[0262] means for storing the extracted expiration date information in a database;

[0263] means for generating reminder messages and cooking suggestions when expiration dates are approaching;

[0264] an emotion engine for recognizing a user's emotion;

[0265] means for adjusting the reminder messages and recipe suggestions based on the user's emotional state recognized by the emotion engine;

[0266] Includes:

[0267] This makes it possible to efficiently manage food expiration dates and provide optimal recipe suggestions tailored to the user's emotional state.

[0268] A "terminal" is an electronic device that has the ability to take pictures of food and send the pictures to a server.

[0269] The "server" is a computer system that processes and stores data received from the device, and generates and sends reminder messages and recipe suggestions.

[0270] "Optical character recognition" refers to techniques and devices that extract character information from an image as digital text.

[0271] "Analysis means" refers to techniques and devices for identifying information related to expiration dates from the extracted text data.

[0272] The "database" is a system for systematically storing and managing extracted expiration date information and related information.

[0273] A "remind message" is a notification message that notifies the user that the expiration date is approaching.

[0274] "Cooking suggestions" are suggestions about dishes that can be made using food that is nearing its expiration date.

[0275] An "emotion engine" refers to technology and devices for recognizing and analyzing emotions from a user's facial expressions and voice.

[0276] "Adjustment Means" refers to the technology and devices for modifying and optimizing the content of reminder messages and recipe suggestions based on the user's emotional state recognized by the Emotion Engine.

[0277] The system of this invention manages the expiration dates of food products, sends reminders to users when the expiration date is approaching, and also provides recipe suggestions. In addition, by combining it with an emotion engine that recognizes the user's emotions, it has the function of providing emotion-based reminder messages and recipe suggestions.

[0278] This system uses the following hardware and software.

[0279] Device: A device such as a smartphone or tablet that takes pictures of food and sends the images to a server.

[0280] Server: A computer system that processes and stores data, and generates and sends reminder messages and cooking suggestions.

[0281] Optical Character Recognition (OCR): A technique that uses an OCR library such as Tesseract to extract character information from an image as digital text.

[0282] Database: A system for storing and managing expiration date information and food-related information, such as MySQL (registered trademark) or PostgreSQL

[0283] Emotion engine: Technology that uses services such as Amazon Rekognition and Google® Cloud Speech-to-Text to recognize and analyze emotions from the user's facial expressions and voice.

[0284] A specific example of the operation will be described.

[0285] Before putting food in the refrigerator, the user takes a photo of the food with their smartphone. For example, they take a photo of a pack of pork. This photo is saved on the device and sent to the server by pressing the "Upload" button in the application. The server receives the HTTP POST request and saves the sent photo in a specified directory (e.g., . / images / ). The path of the saved file is recorded in the database.

[0286] The server then reads the saved image file and extracts text information using Tesseract OCR. It then uses regular expressions to identify the expiration date from the extracted text data and stores it in a database. The server periodically uses a cron job or similar to check for food products approaching their expiration date and creates a list. For example, if a piece of pork with an expiration date of 10 / 10 / 2023 is determined to be nearing its expiration date, it generates a reminder message and recipe suggestions, such as "Your pork is nearing its expiration date (3 days left until the expiration date)" or "We recommend making ginger pork with the ginger in your refrigerator."

[0287] Furthermore, if the emotion engine analyzes the user's facial expressions and voice and determines that the user is tired, the server adjusts the content of the reminder message and recipe suggestions. For example, it may suggest, "How about an easy-to-make dish using roast pork?" The adjusted reminder message and recipe suggestions are then sent to the device in JSON format and notified to the user.

[0288] Example prompt sentence:

[0289] "The expiration date for the pork is approaching (3 days left until the expiration date). I recommend making ginger pork using the ginger in the refrigerator."

[0290] → If the emotion engine recognizes that the user is "tired":

[0291] "How about an easy dish to make with roast pork?"

[0292] This allows the system to not only help users manage their food so they don't miss expiration dates, but also to receive reminders and cooking suggestions that match the user's emotional state.

[0293] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0294] System program processing flow

[0295] Step 1:

[0296] User takes a photo of food

[0297] Users take a photo of food using a smartphone or other device. For example, they take a photo of a pack of pork before putting it in the refrigerator. This photo is saved as a high-resolution JPEG file in a specified folder on the device.

[0298] Input: Physical pack of food

[0299] Output: High-resolution JPEG file saved on your device

[0300] Step 2:

[0301] The device uploads the photo to the server

[0302] The user launches the application on their device, selects a photo they have taken, and presses the "Upload" button, which generates an HTTP POST request and sends the JPEG file to the server.

[0303] Input: High-resolution JPEG file saved on your device

[0304] Output: HTTP POST request sent to the server

[0305] Step 3:

[0306] The server receives and saves the image.

[0307] The server receives the HTTP POST request, analyzes its contents, saves the JPEG file in a specific directory, and records the path of the saved file in a database.

[0308] Input: The HTTP POST request sent to the server

[0309] Data processing: Analyze HTTP requests and extract files

[0310] Output: JPEG files saved in a directory, with file paths recorded in a database

[0311] Step 4:

[0312] The server performs OCR and extracts the text

[0313] The server reads the saved JPEG file and uses Tesseract OCR to extract the text information in the image, which becomes digital text data such as "Best before date: 2023 / 10 / 10".

[0314] Input: JPEG files saved in a directory

[0315] Data Computing: Text Extraction with Tesseract OCR

[0316] Output: Extracted digital text data

[0317] Step 5:

[0318] The server identifies the expiration date

[0319] The server identifies expiration date information from the extracted text data, using regular expressions to detect the "Expiration date: YYYY / MM / DD" pattern and obtain the date information.

[0320] Input: Extracted digital text data

[0321] Data processing: Extracting date information using regular expressions

[0322] Output: Identified best-by date information

[0323] Step 6:

[0324] The server stores the expiration date in a database

[0325] The server inserts the identified expiration date information and related food information (image path, upload date and time, etc.) into the food table in the database.

[0326] Input: Identified best-before date information and associated food information

[0327] Data processing: Inserting data into the database

[0328] Output: Food information stored in a database

[0329] Step 7:

[0330] The server manages the expiration date

[0331] The server periodically checks the expiration dates in the database using a cron job or similar, compares them with the current date, and identifies foods that are approaching their expiration date.

[0332] Input: Food information stored in the database, current date

[0333] Data Calculation: Date Comparison with Database Queries

[0334] Output: A list of foods that are nearing their expiration date

[0335] Step 8:

[0336] Server generates reminder messages and food suggestions

[0337] The server generates reminder messages and cooking suggestions for food items that are nearing their expiration date. For example, it creates messages such as "The pork is nearing its expiration date (3 days left until the expiration date)" or "We recommend making ginger pork with the ginger in your refrigerator."

[0338] Input: A list of foods that are nearing their expiration date

[0339] Data processing: Reminder message and recipe suggestion generation

[0340] Output: Generated reminder message and recipe suggestions

[0341] Step 9:

[0342] Emotion recognition by emotion engine

[0343] The device activates an emotion engine based on the user's facial expressions and voice, which recognizes and analyzes the user's emotions, such as happiness, sadness, or fatigue.

[0344] Input: User's facial expression data and voice data

[0345] Data Computation: Emotion Recognition with Emotion Engine

[0346] Output: Recognized user emotion data

[0347] Step 10:

[0348] Tailor messages and offers based on emotions

[0349] The server adjusts reminder messages and recipe suggestions based on the user's emotional state as recognized by the emotion engine. For example, if a user is recognized as "tired," the server creates a suggestion such as "How about an easy-to-make dish using roast pork?"

[0350] Input: Recognized user emotion data

[0351] Data processing: Adjustment of reminder messages and food suggestions

[0352] Output: Tailored reminder messages and recipe suggestions

[0353] Step 11:

[0354] Reminder messages and recipe suggestions sent to your device

[0355] The server sends the generated reminder message and recipe suggestions to the device, which receives them and notifies the user. For example, the server sends the reminder message and recipe suggestions in JSON format, and the device notifies the user via push notification.

[0356] Input: Tailored reminder messages and cooking suggestions

[0357] Data processing: Sending messages as HTTP responses

[0358] Output: Reminder message and recipe suggestions displayed on the user's device

[0359] (Application example 2)

[0360] 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."

[0361] Food waste can be reduced by managing food so that expiration dates are not overlooked and sending appropriate reminders when the expiration date is approaching. However, since the content of the reminder notifications is uniform, it is not possible to respond flexibly to the user's condition or mood. In addition, there is a problem that the recipe suggestions provided to the user are fixed, making it difficult to make optimal suggestions based on the user's emotions.

[0362] 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.

[0363] In this invention, the server includes a terminal for taking an image of food, a server for receiving the taken image, optical character recognition means for recognizing text information in the image, processing means for extracting the expiration date in the image, means for generating a reminder message and recipe suggestions when the expiration date is approaching, means for transmitting the reminder message and recipe suggestions to the terminal, an emotion engine for recognizing the emotional state of the user, and means for adjusting the reminder message and recipe suggestions based on the recognized emotion. This makes it possible to provide optimal reminder messages and recipe suggestions according to the emotional state of the user, and to make each suggestion to improve user satisfaction.

[0364] A "device for taking pictures of food" is an electronic device that has the function of taking pictures of food and sending them to a server. This mainly applies to smartphones and tablets.

[0365] The "server that receives the captured images" is a data receiving device that receives and processes images captured by a user on a terminal via a network.

[0366] "Optical character recognition means" refers to a technical means for extracting character information contained in a photographed image and recognizing it as digital text. This generally refers to OCR (Optical Character Recognition) software.

[0367] The "processing means for extracting the expiration date from the image" is an analysis device or program for identifying the expiration date from the information converted into digital text by the optical character recognition means.

[0368] The "means for generating a reminder message and recipe suggestions when the expiration date is approaching" is a device or program that compares the expiration date stored in the database with the current date and generates a reminder message and appropriate recipe suggestions for the user when the expiration date is approaching.

[0369] The "means for sending reminder messages and recipe suggestions to the terminal" refers to communication equipment and software for notifying the user's terminal of the reminder messages and recipe suggestions generated by the server.

[0370] An "emotion engine for recognizing a user's emotional state" is a technology that analyzes a user's facial expressions and voice to determine their emotional state at that time. This technology includes facial expression recognition software and voice analysis technology.

[0371] The "means for adjusting reminder messages and recipe suggestions based on recognized emotions" is a device or program that optimizes the content of reminder messages and recipe suggestions according to the user's emotional state determined by the emotion engine.

[0372] The present invention is a system that manages the expiration dates of food products, sends reminders to the user when the expiration date is approaching, and suggests recipes according to the user's emotional state. This system is composed of the following elements.

[0373] System Components

[0374] 1. A device for taking pictures of food

[0375] Users can use a smartphone, tablet, or other device to take a photo of the expiration date on the food they have purchased, and the image is sent to a server via a compatible application.

[0376] 2. Server that receives the captured images

[0377] The server receives and stores images sent from the user's device, stores the image files in a specific directory on the server, and keeps an internal record of the file path.

[0378] 3. Optical Character Recognition (OCR)

[0379] The server then performs OCR (optical character recognition) on the received image, extracting the textual information in the image as digital text, using software such as pytesseract.

[0380] 4. Processing means for extracting expiration dates

[0381] Regular expressions and text analysis techniques are used to identify expiration date information from the extracted text. This data is analyzed and information in the format "Expiration Date: YYYY / MM / DD" is extracted.

[0382] 5. A way to generate reminder messages and cooking suggestions when expiration dates are approaching

[0383] The server runs periodically scheduled jobs to manage expiration dates in a database, comparing the current date with the stored expiration dates and generating reminder messages and cooking suggestions when expiration dates are approaching.

[0384] 6. A way to send reminder messages and recipe suggestions to your device

[0385] The server then sends the generated reminder message and recipe suggestions to the user's device and notifies them through the application, using communication protocols such as HTTP and WebSocket.

[0386] 7. Emotion engine for recognizing the user's emotional state

[0387] This engine analyzes the user's facial expressions and voice to determine their emotional state. It uses the EmotionRecognizer library and other tools to classify the user's emotional state into categories such as "tired," "happy," and "sad."

[0388] 8. A way to tailor reminder messages and cooking suggestions based on perceived emotions

[0389] The emotion engine will tailor the content of reminder messages and recipe suggestions based on the user's emotions, for example, if the user is tired, it will suggest easy-to-make dishes.

[0390] Specific examples

[0391] A user purchases pork at a supermarket, takes a photo of it with a camera, sets the expiration date as "2023 / 10 / 10," and uploads it to the server through the application. The server receives the image, extracts the expiration date information using OCR, and stores it in a database. When the expiration date approaches, on 2023 / 10 / 07, the server notifies the user that "The pork's expiration date is approaching," and suggests a recipe, "Easy roast pork for when you're tired."

[0392] Prompt Sentence Examples

[0393] Recognize emotions and adjust cooking suggestions based on the user's facial expressions and voice.

[0394] Input image: Image path

[0395] Distinguished emotions: ['happy', 'sad', 'tired']

[0396] Generates the following message: ['You have 3 days left until the expiration date. Try these dishes:', 'We'll suggest some easy recipes.']

[0397] This system not only allows users to manage their food so they don't miss expiration dates, but also provides them with optimal reminder messages and cooking suggestions based on their emotional state.

[0398] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0399] Step 1:

[0400] Food photography (input: food, smartphone camera, output: food image)

[0401] Users can use their smartphone camera to take a photo of the expiration date on the food they have purchased, and the image is then input into the system.

[0402] Step 2:

[0403] Image upload (input: food image, output: image file on server)

[0404] A user takes a photo and uploads it to the server through a smartphone application. The application sends an HTTP POST request, and the server receives it and saves the image in a specific directory.

[0405] Step 3:

[0406] Perform optical character recognition (OCR) (input: image file, output: text information)

[0407] The server reads the saved image file and runs OCR (pytesseract) to extract the text information from the image, outputting the text information as digital text.

[0408] Step 4:

[0409] Extraction of expiration date (input: text information, output: expiration date information)

[0410] The server analyzes the text information obtained by OCR and extracts the expiration date information. It uses regular expressions to identify text that matches the format "Expiration date: YYYY / MM / DD" and obtains the date information.

[0411] Step 5:

[0412] Save to database (input: expiry date information, output: database record)

[0413] The server stores the extracted expiration date information in a database, including the image path of the food, the expiration date, and the upload date and time.

[0414] Step 6:

[0415] Best before date management (input: database record, current date, output: reminder list)

[0416] The server periodically checks the expiration dates of the foods in the database, compares them with the current date, and lists any foods that are approaching their expiration date.

[0417] Step 7:

[0418] Generate reminder messages and recipe suggestions (Input: reminder list, user account information, Output: reminder messages, recipe suggestions)

[0419] The server generates a reminder message and cooking suggestions for the relevant food based on the reminder list. For example, it creates a reminder message saying "The expiration date of the pork is approaching (3 days left until the expiration date)" and a cooking suggestion such as "Easy roast pork recipe."

[0420] Step 8:

[0421] Emotion recognition using an emotion engine (input: user's facial expression, voice, output: emotional state)

[0422] The device collects the user's facial expressions and voice, and analyzes them using an emotion engine (EmotionRecognizer). The analysis results are output as the user's emotional state, such as "happy," "tired," or "sad."

[0423] Step 9:

[0424] Emotion-based message and suggestion tailoring (Input: reminder message, recipe suggestion, emotional state; Output: tailored message, recipe suggestion)

[0425] The server adjusts the content of the reminder message and recipe suggestions based on the emotional state determined by the emotion engine. For example, if the server determines that the user is tired, it will suggest simple recipes.

[0426] Step 10:

[0427] Sending reminder messages and recipe suggestions (Input: tailored message, recipe suggestions, Output: notification to user)

[0428] The server then sends the tailored reminder messages and recipe suggestions to the user's device and notifies the user through the application, allowing the user to manage food expiration dates and receive optimal suggestions based on their emotions.

[0429] 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.

[0430] 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.

[0431] 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.

[0432] [Second embodiment]

[0433] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0434] 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.

[0435] 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).

[0436] 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.

[0437] 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.

[0438] 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).

[0439] 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.

[0440] 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.

[0441] 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.

[0442] 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.

[0443] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0444] 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."

[0445] System Overview

[0446] This invention is a system for managing the expiration dates of food products, sending reminders to users when the expiration date is approaching, and also providing recipe suggestions. The system mainly consists of a terminal for taking images of food products, a server for receiving the taken images, optical character recognition means for recognizing text information in the images, processing means for extracting the expiration date, means for generating reminder messages and recipe suggestions, and means for transmitting them to the terminal.

[0447] System Operation

[0448] 1. User takes a photo of food

[0449] Before putting food in the refrigerator, users take a photo of the food using a device such as a smartphone, and the photo is saved on the device.

[0450] 2. The device uploads the photo to the server

[0451] Users upload photos they have taken to the server through an application on their device. To upload photos, the device generates an HTTP POST request and sends it to a specified endpoint on the server.

[0452] 3. The server receives and saves the image.

[0453] When the server receives an HTTP request, it saves the image file in a dedicated directory. It internally records the path of the saved image file and uses it for subsequent processing.

[0454] 4. The server performs OCR and extracts the text.

[0455] The server reads the stored image file and uses optical character recognition (OCR) to extract the textual information in the image as digital text, which is then used to determine the expiration date.

[0456] 5. The server identifies the expiration date

[0457] The expiration date information is identified from the extracted text data using a dedicated analysis method, and the identified expiration date information is stored in a database.

[0458] 6. Best before date management

[0459] The server periodically checks the database to see the expiration date of each stored food item, and if any food is nearing its expiration date, generates a reminder message based on that information.

[0460] 7. Generate reminder messages and recipe suggestions

[0461] The server generates reminder messages for food items that are nearing their expiration date, along with related recipe suggestions, improving the quality of information provided to users.

[0462] 8. Send reminder messages to your device

[0463] The server sends the generated reminder message and recipe suggestions to the device as an HTTP response, and the device notifies the user of the received information.

[0464] Specific examples

[0465] For example, suppose a user takes a photo of a pack of pork with their smartphone before putting it in the refrigerator. The user uploads the photo to a server using an application. The server receives the image and performs OCR to extract text information such as "Best before: 2023 / 10 / 10." The server stores the extracted expiration date information in a database and periodically checks the information. When 2023 / 10 / 07 arrives, the server generates a reminder message saying, "The pork's expiration date is approaching (3 days left until the expiration date)," along with a cooking suggestion such as, "We recommend making ginger pork with the ginger in the refrigerator." This reminder and suggestion are then sent to the device and notified to the user.

[0466] The specific operation of this system is to help users consume food efficiently without missing its expiration date, thereby reducing food waste and making users' lives more convenient.

[0467] The processing flow will be explained below.

[0468] Step 1:

[0469] Before putting food in the refrigerator, the user takes a photo of the food with their device (smartphone), and the photo is saved in the device's camera roll.

[0470] Step 2:

[0471] Photos taken on the device are selected and uploaded to the server using a dedicated application. The user presses the "Upload" button to send the photos to the server.

[0472] Step 3:

[0473] The server analyzes the HTTP POST request received from the device, saves the sent photo file in a specific directory (e.g., . / images / ), and keeps an internal record of the path of the saved file.

[0474] Step 4:

[0475] The server reads the stored image file and performs optical character recognition (OCR), which extracts the textual information in the image as digital text.

[0476] Step 5:

[0477] The server parses the expiration date information from the text data extracted by OCR, using regular expressions and other text analysis techniques to identify date information such as "Expiration Date: 2023 / 10 / 10".

[0478] Step 6:

[0479] The server stores the identified expiration date information in a database. The database uses structures and dictionaries to manage food information (image paths, expiration dates, upload dates, etc.).

[0480] Step 7:

[0481] The server runs a periodically scheduled job that checks the expiration dates of food items in the database, comparing the current date with the stored expiration dates to see if they are approaching their expiration date.

[0482] Step 8:

[0483] The server lists foods that are nearing their expiration date and generates reminder messages based on that, for example, "It's about time to use some pork (3 days left until expiration date)."

[0484] Step 9:

[0485] The server also generates recipe suggestions for approaching expiration dates, e.g., "I recommend ginger pork with the ginger in your fridge."

[0486] Step 10:

[0487] The server sends the generated reminder message and recipe suggestions to the device as an HTTP response, and the device notifies the user of the received information.

[0488] Step 11:

[0489] Users can check reminder messages and recipe suggestions on their devices and prevent food waste by using food that is close to its expiration date appropriately.

[0490] Example 1

[0491] 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."

[0492] In conventional food management systems, users have to manage food expiration dates themselves, which makes it easy to forget and frequently results in expiry dates being missed. This leads to increased food waste and inefficient food management within the home. Another problem is that the system does not suggest appropriate recipes when the expiration date is approaching, making it difficult to optimize food usage.

[0493] 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.

[0494] In this invention, the server includes a device for a user to take an image of food, a device for receiving the taken image, optical character recognition means for recognizing text information in the image, processing means for extracting the expiration date from the recognized text information, means for generating a reminder message and recipe suggestions when the expiration date approaches, and means for transmitting the generated reminder message and recipe suggestions to the user's device. This allows the user to easily manage the expiration date of food, and automatic reminders are sent when the expiration date approaches, thereby reducing food waste. Furthermore, the provision of recipe suggestions optimizes the user's ingredient use and realizes efficient food management.

[0495] A "user device" is a hardware device that a user uses to take images of food and send and receive data.

[0496] A "server" is a computer system that receives image data sent from a user, processes it, and returns the results of the processing to the user's device.

[0497] "Optical character recognition means" refers to a technology or device for recognizing and extracting character information from an image as digital data.

[0498] The "processing means" is software or hardware for extracting the expiration date from the recognized character information and storing and managing it in an appropriate database.

[0499] A "remind message" is a notification that notifies the user that the expiration date of food is approaching.

[0500] "Cooking suggestions" are suggestions for recipes and cooking methods to make effective use of food that is approaching its expiration date.

[0501] The "database" is a digital storage system for storing and managing food information and expiration date information obtained from users.

[0502] "Batch processing" refers to a series of automated data processing operations that are performed on a regular basis.

[0503] The present invention relates to a system for assisting a user in managing the expiration dates of food products and consuming them efficiently. The system is configured as follows.

[0504] System configuration

[0505] 1. User Device

[0506] A device used by a user to take pictures of food. Specifically, it includes devices with camera functions such as smartphones and tablets. An application for sending the captured image data to a server is installed on the user device.

[0507] 2. Server

[0508] The server is a central processing unit that receives, analyzes, and processes image data sent by users. The server is equipped with multiple software modules, including optical character recognition (OCR), a database, and a reminder message generator.

[0509] 3. Optical Character Recognition (OCR)

[0510] The server uses optical character recognition technology, such as the Tesseract OCR engine, to recognize and extract text information from images. OCR extracts text data from images and uses this text data for further analysis.

[0511] 4. Processing Means

[0512] The server uses regular expressions and machine learning models to identify expiration dates from the text data extracted by OCR, and stores the expiration date information in a database.

[0513] 5. Reminder message generation method

[0514] The server periodically checks expiration dates stored in the database and generates reminder messages and recipe suggestions when the expiration date approaches, using an algorithm that personalizes the suggestions based on the user's cooking history and preferences.

[0515] 6. Database

[0516] This is a digital storage system for managing expiration date information and related cooking suggestions. Food information is organized for each user, and expiration dates can be checked.

[0517] Specific examples

[0518] For example, a user takes a photo of a carton of milk with their smartphone before putting it in the refrigerator. After taking the photo, the user uses an application to upload the photo to the server. The server receives the HTTP request and saves the image file in a dedicated directory. It then reads the saved image and uses the Tesseract OCR engine to extract the text "Best before date: 2023 / 05 / 15". The server then saves the extracted date information as the best before date in the database.

[0519] On May 12, 2023, three days before the expiration date, the server checks the database in a batch process and generates a reminder message saying, "The milk's expiration date is approaching (three days left until the expiration date)" and a cooking suggestion saying, "We recommend a pancake recipe using milk." These messages are sent to the user's device, and the user is notified in the notification area of ​​their smartphone or within the app.

[0520] Prompt Sentence Examples

[0521] "Take a photo of your food before putting it in the fridge."

[0522] "Please upload the photos you have taken to the server through the application."

[0523] As described above, this system helps users efficiently manage food expiration dates and consume food without waste, thereby reducing food waste and making users' lives more convenient.

[0524] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0525] Step 1:

[0526] User takes a photo of food

[0527] The user takes a picture of food using a smartphone. The input is the food image, and the output is the image data stored in the device's photo gallery.

[0528] Specific behavior:

[0529] The user opens the camera app on their smartphone, focuses on the milk carton, and presses the shutter button to take a photo. After taking the photo, the image data is saved in the photo gallery.

[0530] Step 2:

[0531] The device uploads the photo to the server

[0532] The user starts a specific application on the device, selects a saved image, and sends it to the server. The input is the saved image data, and the output is the image file sent to the server.

[0533] Specific behavior:

[0534] The user launches the application, clicks the "Upload Image" button, selects a photo of a milk carton from the image selection dialog, and presses the "Submit" button, causing the application to send an HTTP POST request to the " / upload" endpoint on the server.

[0535] Step 3:

[0536] The server receives and saves the image.

[0537] The server receives HTTP requests and saves the image files in a dedicated directory. The input is the HTTP request, and the output is the image file and its path in the directory.

[0538] Specific behavior:

[0539] The server receives a request at the " / upload" endpoint, retrieves the binary image data from the request, saves it in the / images directory, and records the path of the saved file in the database.

[0540] Step 4:

[0541] The server performs OCR and extracts the text

[0542] The server reads the saved image file and extracts the text information using optical character recognition technology. The input is the path of the saved image file, and the output is the extracted text data.

[0543] Specific behavior:

[0544] The server calls the Tesseract OCR engine with the path to the image file as input. The OCR engine extracts the text information "Best before date: 2023 / 10 / 10" from the image and saves it as text data.

[0545] Step 5:

[0546] The server identifies the expiration date

[0547] The server identifies the expiration date from the text data extracted by OCR and stores it in a database. The input is the extracted text data, and the output is a database containing expiration date information.

[0548] Specific behavior:

[0549] The server uses regular expressions to extract the date format "2023 / 10 / 10" from the text data. The extracted date information is saved in the database as the expiration date along with the food name.

[0550] Step 6:

[0551] The server periodically checks expiration date information

[0552] The server periodically scans the database for food items approaching their expiration date. The input is the expiration date information from the database, and the output is a request to generate a reminder message.

[0553] Specific behavior:

[0554] The server runs a batch job every night at midnight to scan the expiration date information in the database, listing foods that are within three days of their expiration date and adding them to a queue for generating reminder messages.

[0555] Step 7:

[0556] Server generates reminder messages and food suggestions

[0557] The server generates a reminder message along with recipe suggestions. The input is a list of food items that are nearing their expiration date, and the output is a reminder message and recipe suggestions.

[0558] Specific behavior:

[0559] The server generates a reminder message saying "The milk's expiration date is approaching (3 days left until expiration date)" and a cooking suggestion saying "We recommend a pancake recipe using milk."

[0560] Step 8:

[0561] The server sends reminder messages and recipe suggestions to the device.

[0562] The generated reminder message and recipe suggestions are sent to the device as an HTTP response. The input is the generated reminder message and recipe suggestions, and the output is a notification on the user's device.

[0563] Specific behavior:

[0564] The server sends a reminder message and cooking suggestions via HTTP response. The device analyzes the received message and notifies the user, "The milk's expiration date is approaching. Check out the pancake recipe."

[0565] (Application example 1)

[0566] 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."

[0567] Conventional food management systems require users to manually input information for expiration date management, which is inefficient. Furthermore, they may not receive appropriate notifications when the expiration date approaches, which can lead to food waste. Furthermore, it is difficult to develop an efficient sales strategy for food products with approaching expiration dates. The present invention aims to solve these problems and automate food expiration date management and efficient sales strategies.

[0568] 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.

[0569] In this invention, the server includes optical character recognition means for recognizing character information in the image, processing means for extracting the expiration date in the image, means for generating a reminder message and a discount offer when the expiration date is approaching, and means for transmitting the reminder message and the discount offer to the terminal, thereby enabling automatic management of expiration dates and efficient sales offers for products approaching their expiration date.

[0570] A "terminal" is a device that allows a user to take an image of food and send the image to a server.

[0571] The "server" is a central processing unit that processes images received from the terminals, manages expiration dates, and generates reminder messages and discount offers.

[0572] "Optical character recognition" is a technology that recognizes character information in an image as digital text.

[0573] The "processing means" is a function for identifying the expiration date from the character information extracted by the optical character recognition means and storing the date in a database.

[0574] A "reminding message" is a message that notifies users and store staff about food items that are approaching their expiration date.

[0575] A "discount proposal" is a price adjustment proposal to promote efficient sales of food products that are approaching their expiration date.

[0576] The "database" is a data management system that stores the extracted expiration date information and product information so that it can be used for later processing.

[0577] "Promotion" is a mechanism for notifying users and store staff of reminder messages and discount offers.

[0578] System program generation

[0579] The program for building a system that realizes this application example works as follows: For example, the Python program uses the Tesseract OCR library for OCR processing and MongoDB for database management.

[0580] Server Processing

[0581] The server receives images of food sent from the device. The received images are first saved in a dedicated directory on the server. The server then uses the Tesseract OCR library to extract text from the saved images. It identifies expiration date data from the extracted text and saves this information in a MongoDB database. The server periodically crawls the database and generates reminder messages and discount offers for products approaching their expiration date. The generated reminder messages and discount offers are then sent to store staff via push notifications or other means.

[0582] The main software and hardware used are:

[0583] Tesseract OCR Library: Used to convert character information in images into text data.

[0584] MongoDB: A database system that manages expiration date information and product information.

[0585] Push Notification Service: A notification service for sending reminder messages and discount offers to your device.

[0586] Terminal handling

[0587] The terminal provides a tool that allows store staff to take a photo of the food product label and send the image to the server, where it is automatically uploaded to a specified endpoint using an HTTP POST request.

[0588] User Action

[0589] The user, in this case a store staff member, takes pictures of products using a terminal and uploads them to the system. When they receive reminder messages or discount offers, they can take appropriate action to achieve efficient inventory management and sales strategies.

[0590] Specific examples

[0591] For example, consider the case where a store staff member is managing the expiration date of "pork" in the refrigerator. First, the store staff member takes a photo of the label with the expiration date on the "pork" with their smartphone and uploads the image to the server via an application. The server analyzes the received image using Tesseract OCR and extracts the information written on the label, such as "Expiration date: 10 / 10 / 2023." This information is stored in MongoDB, and when the expiration date approaches, a reminder message stating "The pork's expiration date is approaching. We recommend applying a discount" is displayed on the terminal along with a discount offer.

[0592] An example prompt might be, "Generate a Python program that extracts expiration dates from food images, stores them in a database, and notifies you when the expiration date is approaching. Use MongoDB as the database and Tesseract OCR to extract text from the images."

[0593] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0594] Step 1:

[0595] The user takes a picture of the food using the device. The image data is saved in the device.

[0596] Step 2:

[0597] The device uploads the captured image data to the server. The input is the image data saved in step 1, and the output is the image data sent in the HTTP POST request format.

[0598] Step 3:

[0599] The server receives and stores uploaded image data. The input is image data sent from the device, and the output is an image file stored in a dedicated directory on the server. Specifically, the server receives an HTTP request and stores the image file on disk.

[0600] Step 4:

[0601] The server performs OCR processing on the received image file to extract text information. The input is the saved image file, and the output is the extracted text data. Specifically, the server uses the Tesseract OCR library to analyze the text in the image and extract it as digital text.

[0602] Step 5:

[0603] The server identifies expiration date information from the extracted text data and stores it in a database. The input is the text data obtained by OCR processing, and the output is the expiration date information stored in the database. Specifically, the server runs a Python script to analyze the text data, extract the expiration date, and store it in MongoDB.

[0604] Step 6:

[0605] The server periodically crawls the database, detects products approaching their expiration date, and generates reminder messages and discount offers. The input is the expiration date information in the database, and the output is the generated reminder messages and discount offers. Specifically, the server uses a scheduler to periodically check the database and generates reminder messages and discount offers using a Python script.

[0606] Step 7:

[0607] The server notifies the device of the generated reminder message and discount offer. The input is the generated reminder message and discount offer, and the output is a message sent to the device as a notification. Specifically, the server uses a push notification service to send the reminder message and discount offer to the device.

[0608] Step 8:

[0609] The user checks the reminder message and discount offer received on the device and takes appropriate action. The input is the reminder message and discount offer displayed on the device, and the output is the user's decision and action. Specific actions include the user checking the message and taking appropriate action, such as applying a discount if necessary or moving the product to a specific area.

[0610] 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.

[0611] System Overview

[0612] This invention is a system that manages the expiration date of food, sends reminders to the user when the expiration date is approaching, and also makes cooking suggestions, and is further combined with an emotion engine that recognizes the user's emotions.The system includes a terminal for taking images of food, a server that receives the taken images, optical character recognition means that recognizes text information in the images, processing means that extracts the expiration date, means for generating reminder messages and cooking suggestions, means for sending the reminder messages and cooking suggestions to the terminal, and an emotion engine that recognizes the user's emotions.

[0613] System Operation

[0614] 1. User takes a photo of food

[0615] Before putting food in the refrigerator, users take a photo of the food using a device such as a smartphone, and the photo is saved on the device.

[0616] 2. The device uploads the photo to the server

[0617] The user uploads the photographs they have taken to the server through the application on their device. The user presses the "upload" button to send the photographs to the server.

[0618] 3. The server receives and saves the image.

[0619] The server analyzes the HTTP POST request received from the device, saves the sent photo file in a specific directory (e.g., . / images / ), and keeps an internal record of the path of the saved file.

[0620] 4. The server performs OCR and extracts the text.

[0621] The server reads the stored image file and performs optical character recognition (OCR), which extracts the textual information in the image as digital text.

[0622] 5. The server identifies the expiration date

[0623] The server parses the expiration date information from the text data extracted by OCR, using regular expressions and other text analysis techniques to identify date information such as "Expiration Date: 2023 / 10 / 10".

[0624] 6. The server stores the expiration date in a database

[0625] The server stores the identified expiration date information in a database. The database uses structures and dictionaries to manage food information (image paths, expiration dates, upload dates, etc.).

[0626] 7. The server manages the expiration date

[0627] The server runs a periodically scheduled job that checks the expiration dates of food items in the database, comparing the current date with the stored expiration dates to see if they are approaching their expiration date.

[0628] 8. The server generates reminder messages and recipe suggestions

[0629] The server lists foods that are nearing their expiration date and generates reminder messages based on that, for example, "It's about time to use some pork (3 days left until expiration date)."

[0630] 9. Emotion Recognition with Emotion Engine

[0631] The device uses the user's facial expressions and voice to recognize the user's emotions through an emotion engine, which can identify whether the user is happy, sad, tired, or other such states.

[0632] 10. Tailor messages and offers based on emotions

[0633] The server adjusts the content of reminder messages and recipe suggestions based on the user's emotional state as recognized by the emotion engine, for example, suggesting simple recipes to a tired user.

[0634] 11. Send reminder messages and recipe suggestions to your device

[0635] The server generates reminder messages and recipe suggestions, adjusts them based on the user's emotions, and sends them to the device, which then notifies the user of the received information.

[0636] Specific examples

[0637] For example, a user takes a photo of a pack of pork with their smartphone before putting it in the refrigerator and uploads it to the server via an application. The server receives the image and performs OCR to extract the text information "Best before: 2023 / 10 / 10." The server stores this expiration date information in a database and periodically checks it. On 2023 / 10 / 07, the server generates a reminder message saying "The pork's expiration date is approaching (3 days left until the expiration date)" along with a recipe suggestion such as "We recommend ginger pork with the ginger in your refrigerator." If the server detects that the user is feeling tired, it will make a simple recipe suggestion such as "How about an easy dish to make with roast pork?" The server then sends the adjusted message and suggestion to the device and notifies the user.

[0638] The specific operation of this system not only enables users to manage food expiration dates without missing them, but also allows them to receive reminders and cooking suggestions that match their emotional state at the time, making daily life more convenient and comfortable.

[0639] The processing flow will be explained below.

[0640] Step 1:

[0641] Before putting food in the refrigerator, the user takes a photo of the food with their device (smartphone), and the photo is saved in the device's camera roll.

[0642] Step 2:

[0643] The user uploads the photographs they have taken to the server using an application on their device. Specifically, the user presses the "upload" button in the application to send the photograph files to the server.

[0644] Step 3:

[0645] The server receives the HTTP POST request sent from the device, saves the uploaded photo file in a specific directory (e.g., . / images / ), and records the path of the saved image file.

[0646] Step 4:

[0647] The server reads the stored image file and performs optical character recognition (OCR), which extracts the textual information in the image as digital text.

[0648] Step 5:

[0649] The server analyzes the text data extracted by OCR to identify information related to expiration dates. Using text analysis techniques such as regular expressions, date information such as "Expiration date: 2023 / 10 / 10" is extracted.

[0650] Step 6:

[0651] The server stores the identified expiration date information in a database, which stores the image path of the food, the expiration date, the upload date and time, etc.

[0652] Step 7:

[0653] The server periodically runs a scheduled job to check the expiration dates of food items in the database, comparing the current date with the stored expiration dates to see if the expiration date is approaching.

[0654] Step 8:

[0655] The server lists foods that are nearing their expiration date and generates reminder messages based on that, for example, "It's about time to use some pork (3 days left until expiration date)."

[0656] Step 9:

[0657] The device recognizes the user's facial expressions and voice, and the emotion engine determines the user's emotions. Based on data collected through the device's camera and microphone, the emotion engine identifies whether the user is happy, sad, tired, etc.

[0658] Step 10:

[0659] The server adjusts the content of the reminder message and recipe suggestions based on the user's emotional state as recognized by the emotion engine. For example, if a user is tired, the server changes the tone and content of the message, suggesting "easy-to-make dishes."

[0660] Step 11:

[0661] The server sends the tailored reminder message and recipe suggestions to the device, which then notifies the user of the received information.

[0662] Step 12:

[0663] Users can view the reminder message and cooking suggestions on their device. Specifically, they can receive a notification, open the application, check detailed information, and use the food appropriately when it is nearing its expiration date.

[0664] Example 2

[0665] 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."

[0666] In modern households, it is important to manage food expiration dates, but many people tend to neglect this, resulting in frequent food waste. Furthermore, receiving optimal recipe suggestions tailored to the emotional state of household members would improve the quality of daily life, but conventional systems lack this functionality. Therefore, there is a need for a system that manages expiration dates and suggests recipes based on emotional states.

[0667] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0668] In this invention, the server

[0669] analysis means for extracting expiration dates from the images;

[0670] means for storing the extracted expiration date information in a database;

[0671] means for generating reminder messages and cooking suggestions when expiration dates are approaching;

[0672] an emotion engine for recognizing a user's emotion;

[0673] means for adjusting the reminder messages and recipe suggestions based on the user's emotional state recognized by the emotion engine;

[0674] Includes:

[0675] This makes it possible to efficiently manage food expiration dates and provide optimal recipe suggestions tailored to the user's emotional state.

[0676] A "terminal" is an electronic device that has the ability to take pictures of food and send the pictures to a server.

[0677] The "server" is a computer system that processes and stores data received from the device, and generates and sends reminder messages and recipe suggestions.

[0678] "Optical character recognition" refers to techniques and devices that extract character information from an image as digital text.

[0679] "Analysis means" refers to techniques and devices for identifying information related to expiration dates from the extracted text data.

[0680] The "database" is a system for systematically storing and managing extracted expiration date information and related information.

[0681] A "remind message" is a notification message that notifies the user that the expiration date is approaching.

[0682] "Cooking suggestions" are suggestions about dishes that can be made using food that is nearing its expiration date.

[0683] An "emotion engine" refers to technology and devices for recognizing and analyzing emotions from a user's facial expressions and voice.

[0684] "Adjustment Means" refers to the technology and devices for modifying and optimizing the content of reminder messages and recipe suggestions based on the user's emotional state recognized by the Emotion Engine.

[0685] The system of this invention manages the expiration dates of food products, sends reminders to users when the expiration date is approaching, and also provides recipe suggestions. In addition, by combining it with an emotion engine that recognizes the user's emotions, it has the function of providing emotion-based reminder messages and recipe suggestions.

[0686] This system uses the following hardware and software.

[0687] Device: A device such as a smartphone or tablet that takes pictures of food and sends the images to a server.

[0688] Server: A computer system that processes and stores data, and generates and sends reminder messages and cooking suggestions.

[0689] Optical Character Recognition (OCR): A technique that uses an OCR library such as Tesseract to extract character information from an image as digital text.

[0690] Database: MySQL, PostgreSQL, etc., a system for storing and managing expiration date information and related food information

[0691] Emotion engine: Technology that uses services such as Amazon Rekognition and Google Cloud Speech-to-Text to recognize and analyze emotions from the user's facial expressions and voice.

[0692] A specific example of the operation will be described.

[0693] Before putting food in the refrigerator, the user takes a photo of the food with their smartphone. For example, they take a photo of a pack of pork. This photo is saved on the device and sent to the server by pressing the "Upload" button in the application. The server receives the HTTP POST request and saves the sent photo in a specified directory (e.g., . / images / ). The path of the saved file is recorded in the database.

[0694] The server then reads the saved image file and extracts text information using Tesseract OCR. It then uses regular expressions to identify the expiration date from the extracted text data and stores it in a database. The server periodically uses a cron job or similar to check for food products approaching their expiration date and creates a list. For example, if a piece of pork with an expiration date of 10 / 10 / 2023 is determined to be nearing its expiration date, it generates a reminder message and recipe suggestions, such as "Your pork is nearing its expiration date (3 days left until the expiration date)" or "We recommend making ginger pork with the ginger in your refrigerator."

[0695] Furthermore, if the emotion engine analyzes the user's facial expressions and voice and determines that the user is tired, the server adjusts the content of the reminder message and recipe suggestions. For example, it may suggest, "How about an easy-to-make dish using roast pork?" The adjusted reminder message and recipe suggestions are then sent to the device in JSON format and notified to the user.

[0696] Example prompt sentence:

[0697] "The expiration date for the pork is approaching (3 days left until the expiration date). I recommend making ginger pork using the ginger in the refrigerator."

[0698] → If the emotion engine recognizes that the user is "tired":

[0699] "How about an easy dish to make with roast pork?"

[0700] This allows the system to not only help users manage their food so they don't miss expiration dates, but also to receive reminders and cooking suggestions that match the user's emotional state.

[0701] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0702] System program processing flow

[0703] Step 1:

[0704] User takes a photo of food

[0705] Users take a photo of food using a smartphone or other device. For example, they take a photo of a pack of pork before putting it in the refrigerator. This photo is saved as a high-resolution JPEG file in a specified folder on the device.

[0706] Input: Physical pack of food

[0707] Output: High-resolution JPEG file saved on your device

[0708] Step 2:

[0709] The device uploads the photo to the server

[0710] The user launches the application on their device, selects a photo they have taken, and presses the "Upload" button, which generates an HTTP POST request and sends the JPEG file to the server.

[0711] Input: High-resolution JPEG file saved on your device

[0712] Output: HTTP POST request sent to the server

[0713] Step 3:

[0714] The server receives and saves the image.

[0715] The server receives the HTTP POST request, analyzes its contents, saves the JPEG file in a specific directory, and records the path of the saved file in a database.

[0716] Input: The HTTP POST request sent to the server

[0717] Data processing: Analyze HTTP requests and extract files

[0718] Output: JPEG files saved in a directory, with file paths recorded in a database

[0719] Step 4:

[0720] The server performs OCR and extracts the text

[0721] The server reads the saved JPEG file and uses Tesseract OCR to extract the text information in the image, which becomes digital text data such as "Best before date: 2023 / 10 / 10".

[0722] Input: JPEG files saved in a directory

[0723] Data Computing: Text Extraction with Tesseract OCR

[0724] Output: Extracted digital text data

[0725] Step 5:

[0726] The server identifies the expiration date

[0727] The server identifies expiration date information from the extracted text data, using regular expressions to detect the "Expiration date: YYYY / MM / DD" pattern and obtain the date information.

[0728] Input: Extracted digital text data

[0729] Data processing: Extracting date information using regular expressions

[0730] Output: Identified best-by date information

[0731] Step 6:

[0732] The server stores the expiration date in a database

[0733] The server inserts the identified expiration date information and related food information (image path, upload date and time, etc.) into the food table in the database.

[0734] Input: Identified best-before date information and associated food information

[0735] Data processing: Inserting data into the database

[0736] Output: Food information stored in a database

[0737] Step 7:

[0738] The server manages the expiration date

[0739] The server periodically checks the expiration dates in the database using a cron job or similar, compares them with the current date, and identifies foods that are approaching their expiration date.

[0740] Input: Food information stored in the database, current date

[0741] Data Calculation: Date Comparison with Database Queries

[0742] Output: A list of foods that are nearing their expiration date

[0743] Step 8:

[0744] Server generates reminder messages and food suggestions

[0745] The server generates reminder messages and cooking suggestions for food items that are nearing their expiration date. For example, it creates messages such as "The pork is nearing its expiration date (3 days left until the expiration date)" or "We recommend making ginger pork with the ginger in your refrigerator."

[0746] Input: A list of foods that are nearing their expiration date

[0747] Data processing: Reminder message and recipe suggestion generation

[0748] Output: Generated reminder message and recipe suggestions

[0749] Step 9:

[0750] Emotion recognition by emotion engine

[0751] The device activates an emotion engine based on the user's facial expressions and voice, which recognizes and analyzes the user's emotions, such as happiness, sadness, or fatigue.

[0752] Input: User's facial expression data and voice data

[0753] Data Computation: Emotion Recognition with Emotion Engine

[0754] Output: Recognized user emotion data

[0755] Step 10:

[0756] Tailor messages and offers based on emotions

[0757] The server adjusts reminder messages and recipe suggestions based on the user's emotional state as recognized by the emotion engine. For example, if a user is recognized as "tired," the server creates a suggestion such as "How about an easy-to-make dish using roast pork?"

[0758] Input: Recognized user emotion data

[0759] Data processing: Adjustment of reminder messages and food suggestions

[0760] Output: Tailored reminder messages and recipe suggestions

[0761] Step 11:

[0762] Reminder messages and recipe suggestions sent to your device

[0763] The server sends the generated reminder message and recipe suggestions to the device, which receives them and notifies the user. For example, the server sends the reminder message and recipe suggestions in JSON format, and the device notifies the user via push notification.

[0764] Input: Tailored reminder messages and cooking suggestions

[0765] Data processing: Sending messages as HTTP responses

[0766] Output: Reminder message and recipe suggestions displayed on the user's device

[0767] (Application example 2)

[0768] 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."

[0769] Food waste can be reduced by managing food so that expiration dates are not overlooked and sending appropriate reminders when the expiration date is approaching. However, since the content of the reminder notifications is uniform, it is not possible to respond flexibly to the user's condition or mood. In addition, there is a problem that the recipe suggestions provided to the user are fixed, making it difficult to make optimal suggestions based on the user's emotions.

[0770] 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.

[0771] In this invention, the server includes a terminal for taking an image of food, a server for receiving the taken image, optical character recognition means for recognizing text information in the image, processing means for extracting the expiration date in the image, means for generating a reminder message and recipe suggestions when the expiration date is approaching, means for transmitting the reminder message and recipe suggestions to the terminal, an emotion engine for recognizing the emotional state of the user, and means for adjusting the reminder message and recipe suggestions based on the recognized emotion. This makes it possible to provide optimal reminder messages and recipe suggestions according to the emotional state of the user, and to make each suggestion to improve user satisfaction.

[0772] A "device for taking pictures of food" is an electronic device that has the function of taking pictures of food and sending them to a server. This mainly applies to smartphones and tablets.

[0773] The "server that receives the captured images" is a data receiving device that receives and processes images captured by a user on a terminal via a network.

[0774] "Optical character recognition means" refers to a technical means for extracting character information contained in a photographed image and recognizing it as digital text. This generally refers to OCR (Optical Character Recognition) software.

[0775] The "processing means for extracting the expiration date from the image" is an analysis device or program for identifying the expiration date from the information converted into digital text by the optical character recognition means.

[0776] The "means for generating a reminder message and recipe suggestions when the expiration date is approaching" is a device or program that compares the expiration date stored in the database with the current date and generates a reminder message and appropriate recipe suggestions for the user when the expiration date is approaching.

[0777] The "means for sending reminder messages and recipe suggestions to the terminal" refers to communication equipment and software for notifying the user's terminal of the reminder messages and recipe suggestions generated by the server.

[0778] An "emotion engine for recognizing a user's emotional state" is a technology that analyzes a user's facial expressions and voice to determine their emotional state at that time. This technology includes facial expression recognition software and voice analysis technology.

[0779] The "means for adjusting reminder messages and recipe suggestions based on recognized emotions" is a device or program that optimizes the content of reminder messages and recipe suggestions according to the user's emotional state determined by the emotion engine.

[0780] The present invention is a system that manages the expiration dates of food products, sends reminders to the user when the expiration date is approaching, and suggests recipes according to the user's emotional state. This system is composed of the following elements.

[0781] System Components

[0782] 1. A device for taking pictures of food

[0783] Users can use a smartphone, tablet, or other device to take a photo of the expiration date on the food they have purchased, and the image is sent to a server via a compatible application.

[0784] 2. Server that receives the captured images

[0785] The server receives and stores images sent from the user's device, stores the image files in a specific directory on the server, and keeps an internal record of the file path.

[0786] 3. Optical Character Recognition (OCR)

[0787] The server then performs OCR (optical character recognition) on the received image, extracting the textual information in the image as digital text, using software such as pytesseract.

[0788] 4. Processing means for extracting expiration dates

[0789] Regular expressions and text analysis techniques are used to identify expiration date information from the extracted text. This data is analyzed and information in the format "Expiration Date: YYYY / MM / DD" is extracted.

[0790] 5. A way to generate reminder messages and cooking suggestions when expiration dates are approaching

[0791] The server runs periodically scheduled jobs to manage expiration dates in a database, comparing the current date with the stored expiration dates and generating reminder messages and cooking suggestions when expiration dates are approaching.

[0792] 6. A way to send reminder messages and recipe suggestions to your device

[0793] The server then sends the generated reminder message and recipe suggestions to the user's device and notifies them through the application, using communication protocols such as HTTP and WebSocket.

[0794] 7. Emotion engine for recognizing the user's emotional state

[0795] This engine analyzes the user's facial expressions and voice to determine their emotional state. It uses the EmotionRecognizer library and other tools to classify the user's emotional state into categories such as "tired," "happy," and "sad."

[0796] 8. A way to tailor reminder messages and cooking suggestions based on perceived emotions

[0797] The emotion engine will tailor the content of reminder messages and recipe suggestions based on the user's emotions, for example, if the user is tired, it will suggest easy-to-make dishes.

[0798] Specific examples

[0799] A user purchases pork at a supermarket, takes a photo of it with a camera, sets the expiration date as "2023 / 10 / 10," and uploads it to the server through the application. The server receives the image, extracts the expiration date information using OCR, and stores it in a database. When the expiration date approaches, on 2023 / 10 / 07, the server notifies the user that "The pork's expiration date is approaching," and suggests a recipe, "Easy roast pork for when you're tired."

[0800] Prompt Sentence Examples

[0801] Recognize emotions and adjust cooking suggestions based on the user's facial expressions and voice.

[0802] Input image: Image path

[0803] Distinguished emotions: ['happy', 'sad', 'tired']

[0804] Generates the following message: ['You have 3 days left until the expiration date. Try these dishes:', 'We'll suggest some easy recipes.']

[0805] This system not only allows users to manage their food so they don't miss expiration dates, but also provides them with optimal reminder messages and cooking suggestions based on their emotional state.

[0806] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0807] Step 1:

[0808] Food photography (input: food, smartphone camera, output: food image)

[0809] Users can use their smartphone camera to take a photo of the expiration date on the food they have purchased, and the image is then input into the system.

[0810] Step 2:

[0811] Image upload (input: food image, output: image file on server)

[0812] A user takes a photo and uploads it to the server through a smartphone application. The application sends an HTTP POST request, and the server receives it and saves the image in a specific directory.

[0813] Step 3:

[0814] Perform optical character recognition (OCR) (input: image file, output: text information)

[0815] The server reads the saved image file and runs OCR (pytesseract) to extract the text information from the image, outputting the text information as digital text.

[0816] Step 4:

[0817] Extraction of expiration date (input: text information, output: expiration date information)

[0818] The server analyzes the text information obtained by OCR and extracts the expiration date information. It uses regular expressions to identify text that matches the format "Expiration date: YYYY / MM / DD" and obtains the date information.

[0819] Step 5:

[0820] Save to database (input: expiry date information, output: database record)

[0821] The server stores the extracted expiration date information in a database, including the image path of the food, the expiration date, and the upload date and time.

[0822] Step 6:

[0823] Best before date management (input: database record, current date, output: reminder list)

[0824] The server periodically checks the expiration dates of the foods in the database, compares them with the current date, and lists any foods that are approaching their expiration date.

[0825] Step 7:

[0826] Generate reminder messages and recipe suggestions (Input: reminder list, user account information, Output: reminder messages, recipe suggestions)

[0827] The server generates a reminder message and cooking suggestions for the relevant food based on the reminder list. For example, it creates a reminder message saying "The expiration date of the pork is approaching (3 days left until the expiration date)" and a cooking suggestion such as "Easy roast pork recipe."

[0828] Step 8:

[0829] Emotion recognition using an emotion engine (input: user's facial expression, voice, output: emotional state)

[0830] The device collects the user's facial expressions and voice, and analyzes them using an emotion engine (EmotionRecognizer). The analysis results are output as the user's emotional state, such as "happy," "tired," or "sad."

[0831] Step 9:

[0832] Emotion-based message and suggestion tailoring (Input: reminder message, recipe suggestion, emotional state; Output: tailored message, recipe suggestion)

[0833] The server adjusts the content of the reminder message and recipe suggestions based on the emotional state determined by the emotion engine. For example, if the server determines that the user is tired, it will suggest simple recipes.

[0834] Step 10:

[0835] Sending reminder messages and recipe suggestions (Input: tailored message, recipe suggestions, Output: notification to user)

[0836] The server then sends the tailored reminder messages and recipe suggestions to the user's device and notifies the user through the application, allowing the user to manage food expiration dates and receive optimal suggestions based on their emotions.

[0837] 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.

[0838] 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.

[0839] 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.

[0840] [Third embodiment]

[0841] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[0842] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0843] 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).

[0844] 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.

[0845] 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.

[0846] 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).

[0847] 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.

[0848] 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.

[0849] 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.

[0850] 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.

[0851] 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.

[0852] 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."

[0853] System Overview

[0854] This invention is a system for managing the expiration dates of food products, sending reminders to users when the expiration date is approaching, and also providing recipe suggestions. The system mainly consists of a terminal for taking images of food products, a server for receiving the taken images, optical character recognition means for recognizing text information in the images, processing means for extracting the expiration date, means for generating reminder messages and recipe suggestions, and means for transmitting them to the terminal.

[0855] System Operation

[0856] 1. User takes a photo of food

[0857] Before putting food in the refrigerator, users take a photo of the food using a device such as a smartphone, and the photo is saved on the device.

[0858] 2. The device uploads the photo to the server

[0859] Users upload photos they have taken to the server through an application on their device. To upload photos, the device generates an HTTP POST request and sends it to a specified endpoint on the server.

[0860] 3. The server receives and saves the image.

[0861] When the server receives an HTTP request, it saves the image file in a dedicated directory. It internally records the path of the saved image file and uses it for subsequent processing.

[0862] 4. The server performs OCR and extracts the text.

[0863] The server reads the stored image file and uses optical character recognition (OCR) to extract the textual information in the image as digital text, which is then used to determine the expiration date.

[0864] 5. The server identifies the expiration date

[0865] The expiration date information is identified from the extracted text data using a dedicated analysis method, and the identified expiration date information is stored in a database.

[0866] 6. Best before date management

[0867] The server periodically checks the database to see the expiration date of each stored food item, and if any food is nearing its expiration date, generates a reminder message based on that information.

[0868] 7. Generate reminder messages and recipe suggestions

[0869] The server generates reminder messages for food items that are nearing their expiration date, along with related recipe suggestions, improving the quality of information provided to users.

[0870] 8. Send reminder messages to your device

[0871] The server sends the generated reminder message and recipe suggestions to the device as an HTTP response, and the device notifies the user of the received information.

[0872] Specific examples

[0873] For example, suppose a user takes a photo of a pack of pork with their smartphone before putting it in the refrigerator. The user uploads the photo to a server using an application. The server receives the image and performs OCR to extract text information such as "Best before: 2023 / 10 / 10." The server stores the extracted expiration date information in a database and periodically checks the information. When 2023 / 10 / 07 arrives, the server generates a reminder message saying, "The pork's expiration date is approaching (3 days left until the expiration date)," along with a cooking suggestion such as, "We recommend making ginger pork with the ginger in the refrigerator." This reminder and suggestion are then sent to the device and notified to the user.

[0874] The specific operation of this system is to help users consume food efficiently without missing its expiration date, thereby reducing food waste and making users' lives more convenient.

[0875] The processing flow will be explained below.

[0876] Step 1:

[0877] Before putting food in the refrigerator, the user takes a photo of the food with their device (smartphone), and the photo is saved in the device's camera roll.

[0878] Step 2:

[0879] Photos taken on the device are selected and uploaded to the server using a dedicated application. The user presses the "Upload" button to send the photos to the server.

[0880] Step 3:

[0881] The server analyzes the HTTP POST request received from the device, saves the sent photo file in a specific directory (e.g., . / images / ), and keeps an internal record of the path of the saved file.

[0882] Step 4:

[0883] The server reads the stored image file and performs optical character recognition (OCR), which extracts the textual information in the image as digital text.

[0884] Step 5:

[0885] The server parses the expiration date information from the text data extracted by OCR, using regular expressions and other text analysis techniques to identify date information such as "Expiration Date: 2023 / 10 / 10".

[0886] Step 6:

[0887] The server stores the identified expiration date information in a database. The database uses structures and dictionaries to manage food information (image paths, expiration dates, upload dates, etc.).

[0888] Step 7:

[0889] The server runs a periodically scheduled job that checks the expiration dates of food items in the database, comparing the current date with the stored expiration dates to see if they are approaching their expiration date.

[0890] Step 8:

[0891] The server lists foods that are nearing their expiration date and generates reminder messages based on that, for example, "It's about time to use some pork (3 days left until expiration date)."

[0892] Step 9:

[0893] The server also generates recipe suggestions for approaching expiration dates, e.g., "I recommend ginger pork with the ginger in your fridge."

[0894] Step 10:

[0895] The server sends the generated reminder message and recipe suggestions to the device as an HTTP response, and the device notifies the user of the received information.

[0896] Step 11:

[0897] Users can check reminder messages and recipe suggestions on their devices and prevent food waste by using food that is close to its expiration date appropriately.

[0898] Example 1

[0899] 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."

[0900] In conventional food management systems, users have to manage food expiration dates themselves, which makes it easy to forget and frequently results in expiry dates being missed. This leads to increased food waste and inefficient food management within the home. Another problem is that the system does not suggest appropriate recipes when the expiration date is approaching, making it difficult to optimize food usage.

[0901] 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.

[0902] In this invention, the server includes a device for a user to take an image of food, a device for receiving the taken image, optical character recognition means for recognizing text information in the image, processing means for extracting the expiration date from the recognized text information, means for generating a reminder message and recipe suggestions when the expiration date approaches, and means for transmitting the generated reminder message and recipe suggestions to the user's device. This allows the user to easily manage the expiration date of food, and automatic reminders are sent when the expiration date approaches, thereby reducing food waste. Furthermore, the provision of recipe suggestions optimizes the user's ingredient use and realizes efficient food management.

[0903] A "user device" is a hardware device that a user uses to take images of food and send and receive data.

[0904] A "server" is a computer system that receives image data sent from a user, processes it, and returns the results of the processing to the user's device.

[0905] "Optical character recognition means" refers to a technology or device for recognizing and extracting character information from an image as digital data.

[0906] The "processing means" is software or hardware for extracting the expiration date from the recognized character information and storing and managing it in an appropriate database.

[0907] A "remind message" is a notification that notifies the user that the expiration date of food is approaching.

[0908] "Cooking suggestions" are suggestions for recipes and cooking methods to make effective use of food that is approaching its expiration date.

[0909] The "database" is a digital storage system for storing and managing food information and expiration date information obtained from users.

[0910] "Batch processing" refers to a series of automated data processing operations that are performed on a regular basis.

[0911] The present invention relates to a system for assisting a user in managing the expiration dates of food products and consuming them efficiently. The system is configured as follows.

[0912] System configuration

[0913] 1. User Device

[0914] A device used by a user to take pictures of food. Specifically, it includes devices with camera functions such as smartphones and tablets. An application for sending the captured image data to a server is installed on the user device.

[0915] 2. Server

[0916] The server is a central processing unit that receives, analyzes, and processes image data sent by users. The server is equipped with multiple software modules, including optical character recognition (OCR), a database, and a reminder message generator.

[0917] 3. Optical Character Recognition (OCR)

[0918] The server uses optical character recognition technology, such as the Tesseract OCR engine, to recognize and extract text information from images. OCR extracts text data from images and uses this text data for further analysis.

[0919] 4. Processing Means

[0920] The server uses regular expressions and machine learning models to identify expiration dates from the text data extracted by OCR, and stores the expiration date information in a database.

[0921] 5. Reminder message generation method

[0922] The server periodically checks expiration dates stored in the database and generates reminder messages and recipe suggestions when the expiration date approaches, using an algorithm that personalizes the suggestions based on the user's cooking history and preferences.

[0923] 6. Database

[0924] This is a digital storage system for managing expiration date information and related cooking suggestions. Food information is organized for each user, and expiration dates can be checked.

[0925] Specific examples

[0926] For example, a user takes a photo of a carton of milk with their smartphone before putting it in the refrigerator. After taking the photo, the user uses an application to upload the photo to the server. The server receives the HTTP request and saves the image file in a dedicated directory. It then reads the saved image and uses the Tesseract OCR engine to extract the text "Best before date: 2023 / 05 / 15". The server then saves the extracted date information as the best before date in the database.

[0927] On May 12, 2023, three days before the expiration date, the server checks the database in a batch process and generates a reminder message saying, "The milk's expiration date is approaching (three days left until the expiration date)" and a cooking suggestion saying, "We recommend a pancake recipe using milk." These messages are sent to the user's device, and the user is notified in the notification area of ​​their smartphone or within the app.

[0928] Prompt Sentence Examples

[0929] "Take a photo of your food before putting it in the fridge."

[0930] "Please upload the photos you have taken to the server through the application."

[0931] As described above, this system helps users efficiently manage food expiration dates and consume food without waste, thereby reducing food waste and making users' lives more convenient.

[0932] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0933] Step 1:

[0934] User takes a photo of food

[0935] The user takes a picture of food using a smartphone. The input is the food image, and the output is the image data stored in the device's photo gallery.

[0936] Specific behavior:

[0937] The user opens the camera app on their smartphone, focuses on the milk carton, and presses the shutter button to take a photo. After taking the photo, the image data is saved in the photo gallery.

[0938] Step 2:

[0939] The device uploads the photo to the server

[0940] The user starts a specific application on the device, selects a saved image, and sends it to the server. The input is the saved image data, and the output is the image file sent to the server.

[0941] Specific behavior:

[0942] The user launches the application, clicks the "Upload Image" button, selects a photo of a milk carton from the image selection dialog, and presses the "Submit" button, causing the application to send an HTTP POST request to the " / upload" endpoint on the server.

[0943] Step 3:

[0944] The server receives and saves the image.

[0945] The server receives HTTP requests and saves the image files in a dedicated directory. The input is the HTTP request, and the output is the image file and its path in the directory.

[0946] Specific behavior:

[0947] The server receives a request at the " / upload" endpoint, retrieves the binary image data from the request, saves it in the / images directory, and records the path of the saved file in the database.

[0948] Step 4:

[0949] The server performs OCR and extracts the text

[0950] The server reads the saved image file and extracts the text information using optical character recognition technology. The input is the path of the saved image file, and the output is the extracted text data.

[0951] Specific behavior:

[0952] The server calls the Tesseract OCR engine with the path to the image file as input. The OCR engine extracts the text information "Best before date: 2023 / 10 / 10" from the image and saves it as text data.

[0953] Step 5:

[0954] The server identifies the expiration date

[0955] The server identifies the expiration date from the text data extracted by OCR and stores it in a database. The input is the extracted text data, and the output is a database containing expiration date information.

[0956] Specific behavior:

[0957] The server uses regular expressions to extract the date format "2023 / 10 / 10" from the text data. The extracted date information is saved in the database as the expiration date along with the food name.

[0958] Step 6:

[0959] The server periodically checks expiration date information

[0960] The server periodically scans the database for food items approaching their expiration date. The input is the expiration date information from the database, and the output is a request to generate a reminder message.

[0961] Specific behavior:

[0962] The server runs a batch job every night at midnight to scan the expiration date information in the database, listing foods that are within three days of their expiration date and adding them to a queue for generating reminder messages.

[0963] Step 7:

[0964] Server generates reminder messages and food suggestions

[0965] The server generates a reminder message along with recipe suggestions. The input is a list of food items that are nearing their expiration date, and the output is a reminder message and recipe suggestions.

[0966] Specific behavior:

[0967] The server generates a reminder message saying "The milk's expiration date is approaching (3 days left until expiration date)" and a cooking suggestion saying "We recommend a pancake recipe using milk."

[0968] Step 8:

[0969] The server sends reminder messages and recipe suggestions to the device.

[0970] The generated reminder message and recipe suggestions are sent to the device as an HTTP response. The input is the generated reminder message and recipe suggestions, and the output is a notification on the user's device.

[0971] Specific behavior:

[0972] The server sends a reminder message and cooking suggestions via HTTP response. The device analyzes the received message and notifies the user, "The milk's expiration date is approaching. Check out the pancake recipe."

[0973] (Application example 1)

[0974] 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."

[0975] Conventional food management systems require users to manually input information for expiration date management, which is inefficient. Furthermore, they may not receive appropriate notifications when the expiration date approaches, which can lead to food waste. Furthermore, it is difficult to develop an efficient sales strategy for food products with approaching expiration dates. The present invention aims to solve these problems and automate food expiration date management and efficient sales strategies.

[0976] 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.

[0977] In this invention, the server includes optical character recognition means for recognizing character information in the image, processing means for extracting the expiration date in the image, means for generating a reminder message and a discount offer when the expiration date is approaching, and means for transmitting the reminder message and the discount offer to the terminal, thereby enabling automatic management of expiration dates and efficient sales offers for products approaching their expiration date.

[0978] A "terminal" is a device that allows a user to take an image of food and send the image to a server.

[0979] The "server" is a central processing unit that processes images received from the terminals, manages expiration dates, and generates reminder messages and discount offers.

[0980] "Optical character recognition" is a technology that recognizes character information in an image as digital text.

[0981] The "processing means" is a function for identifying the expiration date from the character information extracted by the optical character recognition means and storing the date in a database.

[0982] A "reminding message" is a message that notifies users and store staff about food items that are approaching their expiration date.

[0983] A "discount proposal" is a price adjustment proposal to promote efficient sales of food products that are approaching their expiration date.

[0984] The "database" is a data management system that stores the extracted expiration date information and product information so that it can be used for later processing.

[0985] "Promotion" is a mechanism for notifying users and store staff of reminder messages and discount offers.

[0986] System program generation

[0987] The program for building a system that realizes this application example works as follows: For example, the Python program uses the Tesseract OCR library for OCR processing and MongoDB for database management.

[0988] Server Processing

[0989] The server receives images of food sent from the device. The received images are first saved in a dedicated directory on the server. The server then uses the Tesseract OCR library to extract text from the saved images. It identifies expiration date data from the extracted text and saves this information in a MongoDB database. The server periodically crawls the database and generates reminder messages and discount offers for products approaching their expiration date. The generated reminder messages and discount offers are then sent to store staff via push notifications or other means.

[0990] The main software and hardware used are:

[0991] Tesseract OCR Library: Used to convert character information in images into text data.

[0992] MongoDB: A database system that manages expiration date information and product information.

[0993] Push Notification Service: A notification service for sending reminder messages and discount offers to your device.

[0994] Terminal handling

[0995] The terminal provides a tool that allows store staff to take a photo of the food product label and send the image to the server, where it is automatically uploaded to a specified endpoint using an HTTP POST request.

[0996] User Action

[0997] The user, in this case a store staff member, takes pictures of products using a terminal and uploads them to the system. When they receive reminder messages or discount offers, they can take appropriate action to achieve efficient inventory management and sales strategies.

[0998] Specific examples

[0999] For example, consider the case where a store staff member is managing the expiration date of "pork" in the refrigerator. First, the store staff member takes a photo of the label with the expiration date on the "pork" with their smartphone and uploads the image to the server via an application. The server analyzes the received image using Tesseract OCR and extracts the information written on the label, such as "Expiration date: 10 / 10 / 2023." This information is stored in MongoDB, and when the expiration date approaches, a reminder message stating "The pork's expiration date is approaching. We recommend applying a discount" is displayed on the terminal along with a discount offer.

[1000] An example prompt might be, "Generate a Python program that extracts expiration dates from food images, stores them in a database, and notifies you when the expiration date is approaching. Use MongoDB as the database and Tesseract OCR to extract text from the images."

[1001] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1002] Step 1:

[1003] The user takes a picture of the food using the device. The image data is saved in the device.

[1004] Step 2:

[1005] The device uploads the captured image data to the server. The input is the image data saved in step 1, and the output is the image data sent in the HTTP POST request format.

[1006] Step 3:

[1007] The server receives and stores uploaded image data. The input is image data sent from the device, and the output is an image file stored in a dedicated directory on the server. Specifically, the server receives an HTTP request and stores the image file on disk.

[1008] Step 4:

[1009] The server performs OCR processing on the received image file to extract text information. The input is the saved image file, and the output is the extracted text data. Specifically, the server uses the Tesseract OCR library to analyze the text in the image and extract it as digital text.

[1010] Step 5:

[1011] The server identifies expiration date information from the extracted text data and stores it in a database. The input is the text data obtained by OCR processing, and the output is the expiration date information stored in the database. Specifically, the server runs a Python script to analyze the text data, extract the expiration date, and store it in MongoDB.

[1012] Step 6:

[1013] The server periodically crawls the database, detects products approaching their expiration date, and generates reminder messages and discount offers. The input is the expiration date information in the database, and the output is the generated reminder messages and discount offers. Specifically, the server uses a scheduler to periodically check the database and generates reminder messages and discount offers using a Python script.

[1014] Step 7:

[1015] The server notifies the device of the generated reminder message and discount offer. The input is the generated reminder message and discount offer, and the output is a message sent to the device as a notification. Specifically, the server uses a push notification service to send the reminder message and discount offer to the device.

[1016] Step 8:

[1017] The user checks the reminder message and discount offer received on the device and takes appropriate action. The input is the reminder message and discount offer displayed on the device, and the output is the user's decision and action. Specific actions include the user checking the message and taking appropriate action, such as applying a discount if necessary or moving the product to a specific area.

[1018] 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.

[1019] System Overview

[1020] This invention is a system that manages the expiration date of food, sends reminders to the user when the expiration date is approaching, and also makes cooking suggestions, and is further combined with an emotion engine that recognizes the user's emotions.The system includes a terminal for taking images of food, a server that receives the taken images, optical character recognition means that recognizes text information in the images, processing means that extracts the expiration date, means for generating reminder messages and cooking suggestions, means for sending the reminder messages and cooking suggestions to the terminal, and an emotion engine that recognizes the user's emotions.

[1021] System Operation

[1022] 1. User takes a photo of food

[1023] Before putting food in the refrigerator, users take a photo of the food using a device such as a smartphone, and the photo is saved on the device.

[1024] 2. The device uploads the photo to the server

[1025] The user uploads the photographs they have taken to the server through the application on their device. The user presses the "upload" button to send the photographs to the server.

[1026] 3. The server receives and saves the image.

[1027] The server analyzes the HTTP POST request received from the device, saves the sent photo file in a specific directory (e.g., . / images / ), and keeps an internal record of the path of the saved file.

[1028] 4. The server performs OCR and extracts the text.

[1029] The server reads the stored image file and performs optical character recognition (OCR), which extracts the textual information in the image as digital text.

[1030] 5. The server identifies the expiration date

[1031] The server parses the expiration date information from the text data extracted by OCR, using regular expressions and other text analysis techniques to identify date information such as "Expiration Date: 2023 / 10 / 10".

[1032] 6. The server stores the expiration date in a database

[1033] The server stores the identified expiration date information in a database. The database uses structures and dictionaries to manage food information (image paths, expiration dates, upload dates, etc.).

[1034] 7. The server manages the expiration date

[1035] The server runs a periodically scheduled job that checks the expiration dates of food items in the database, comparing the current date with the stored expiration dates to see if they are approaching their expiration date.

[1036] 8. The server generates reminder messages and recipe suggestions

[1037] The server lists foods that are nearing their expiration date and generates reminder messages based on that, for example, "It's about time to use some pork (3 days left until expiration date)."

[1038] 9. Emotion Recognition with Emotion Engine

[1039] The device uses the user's facial expressions and voice to recognize the user's emotions through an emotion engine, which can identify whether the user is happy, sad, tired, or other such states.

[1040] 10. Tailor messages and offers based on emotions

[1041] The server adjusts the content of reminder messages and recipe suggestions based on the user's emotional state as recognized by the emotion engine, for example, suggesting simple recipes to a tired user.

[1042] 11. Send reminder messages and recipe suggestions to your device

[1043] The server generates reminder messages and recipe suggestions, adjusts them based on the user's emotions, and sends them to the device, which then notifies the user of the received information.

[1044] Specific examples

[1045] For example, a user takes a photo of a pack of pork with their smartphone before putting it in the refrigerator and uploads it to the server via an application. The server receives the image and performs OCR to extract the text information "Best before: 2023 / 10 / 10." The server stores this expiration date information in a database and periodically checks it. On 2023 / 10 / 07, the server generates a reminder message saying "The pork's expiration date is approaching (3 days left until the expiration date)" along with a recipe suggestion such as "We recommend ginger pork with the ginger in your refrigerator." If the server detects that the user is feeling tired, it will make a simple recipe suggestion such as "How about an easy dish to make with roast pork?" The server then sends the adjusted message and suggestion to the device and notifies the user.

[1046] The specific operation of this system not only enables users to manage food expiration dates without missing them, but also allows them to receive reminders and cooking suggestions that match their emotional state at the time, making daily life more convenient and comfortable.

[1047] The processing flow will be explained below.

[1048] Step 1:

[1049] Before putting food in the refrigerator, the user takes a photo of the food with their device (smartphone), and the photo is saved in the device's camera roll.

[1050] Step 2:

[1051] The user uploads the photographs they have taken to the server using an application on their device. Specifically, the user presses the "upload" button in the application to send the photograph files to the server.

[1052] Step 3:

[1053] The server receives the HTTP POST request sent from the device, saves the uploaded photo file in a specific directory (e.g., . / images / ), and records the path of the saved image file.

[1054] Step 4:

[1055] The server reads the stored image file and performs optical character recognition (OCR), which extracts the textual information in the image as digital text.

[1056] Step 5:

[1057] The server analyzes the text data extracted by OCR to identify information related to expiration dates. Using text analysis techniques such as regular expressions, date information such as "Expiration date: 2023 / 10 / 10" is extracted.

[1058] Step 6:

[1059] The server stores the identified expiration date information in a database, which stores the image path of the food, the expiration date, the upload date and time, etc.

[1060] Step 7:

[1061] The server periodically runs a scheduled job to check the expiration dates of food items in the database, comparing the current date with the stored expiration dates to see if the expiration date is approaching.

[1062] Step 8:

[1063] The server lists foods that are nearing their expiration date and generates reminder messages based on that, for example, "It's about time to use some pork (3 days left until expiration date)."

[1064] Step 9:

[1065] The device recognizes the user's facial expressions and voice, and the emotion engine determines the user's emotions. Based on data collected through the device's camera and microphone, the emotion engine identifies whether the user is happy, sad, tired, etc.

[1066] Step 10:

[1067] The server adjusts the content of the reminder message and recipe suggestions based on the user's emotional state as recognized by the emotion engine. For example, if a user is tired, the server changes the tone and content of the message, suggesting "easy-to-make dishes."

[1068] Step 11:

[1069] The server sends the tailored reminder message and recipe suggestions to the device, which then notifies the user of the received information.

[1070] Step 12:

[1071] Users can view the reminder message and cooking suggestions on their device. Specifically, they can receive a notification, open the application, check detailed information, and use the food appropriately when it is nearing its expiration date.

[1072] Example 2

[1073] 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."

[1074] In modern households, it is important to manage food expiration dates, but many people tend to neglect this, resulting in frequent food waste. Furthermore, receiving optimal recipe suggestions tailored to the emotional state of household members would improve the quality of daily life, but conventional systems lack this functionality. Therefore, there is a need for a system that manages expiration dates and suggests recipes based on emotional states.

[1075] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1076] In this invention, the server

[1077] analysis means for extracting expiration dates from the images;

[1078] means for storing the extracted expiration date information in a database;

[1079] means for generating reminder messages and cooking suggestions when expiration dates are approaching;

[1080] an emotion engine for recognizing a user's emotion;

[1081] means for adjusting the reminder messages and recipe suggestions based on the user's emotional state recognized by the emotion engine;

[1082] Includes:

[1083] This makes it possible to efficiently manage food expiration dates and provide optimal recipe suggestions tailored to the user's emotional state.

[1084] A "terminal" is an electronic device that has the ability to take pictures of food and send the pictures to a server.

[1085] The "server" is a computer system that processes and stores data received from the device, and generates and sends reminder messages and recipe suggestions.

[1086] "Optical character recognition" refers to techniques and devices that extract character information from an image as digital text.

[1087] "Analysis means" refers to techniques and devices for identifying information related to expiration dates from the extracted text data.

[1088] The "database" is a system for systematically storing and managing extracted expiration date information and related information.

[1089] A "remind message" is a notification message that notifies the user that the expiration date is approaching.

[1090] "Cooking suggestions" are suggestions about dishes that can be made using food that is nearing its expiration date.

[1091] An "emotion engine" refers to technology and devices for recognizing and analyzing emotions from a user's facial expressions and voice.

[1092] "Adjustment Means" refers to the technology and devices for modifying and optimizing the content of reminder messages and recipe suggestions based on the user's emotional state recognized by the Emotion Engine.

[1093] The system of this invention manages the expiration dates of food products, sends reminders to users when the expiration date is approaching, and also provides recipe suggestions. In addition, by combining it with an emotion engine that recognizes the user's emotions, it has the function of providing emotion-based reminder messages and recipe suggestions.

[1094] This system uses the following hardware and software.

[1095] Device: A device such as a smartphone or tablet that takes pictures of food and sends the images to a server.

[1096] Server: A computer system that processes and stores data, and generates and sends reminder messages and cooking suggestions.

[1097] Optical Character Recognition (OCR): A technique that uses an OCR library such as Tesseract to extract character information from an image as digital text.

[1098] Database: MySQL, PostgreSQL, etc., a system for storing and managing expiration date information and related food information

[1099] Emotion engine: Technology that uses services such as Amazon Rekognition and Google Cloud Speech-to-Text to recognize and analyze emotions from the user's facial expressions and voice.

[1100] A specific example of the operation will be described.

[1101] Before putting food in the refrigerator, the user takes a photo of the food with their smartphone. For example, they take a photo of a pack of pork. This photo is saved on the device and sent to the server by pressing the "Upload" button in the application. The server receives the HTTP POST request and saves the sent photo in a specified directory (e.g., . / images / ). The path of the saved file is recorded in the database.

[1102] The server then reads the saved image file and extracts text information using Tesseract OCR. It then uses regular expressions to identify the expiration date from the extracted text data and stores it in a database. The server periodically uses a cron job or similar to check for food products approaching their expiration date and creates a list. For example, if a piece of pork with an expiration date of 10 / 10 / 2023 is determined to be nearing its expiration date, it generates a reminder message and recipe suggestions, such as "Your pork is nearing its expiration date (3 days left until the expiration date)" or "We recommend making ginger pork with the ginger in your refrigerator."

[1103] Furthermore, if the emotion engine analyzes the user's facial expressions and voice and determines that the user is tired, the server adjusts the content of the reminder message and recipe suggestions. For example, it may suggest, "How about an easy-to-make dish using roast pork?" The adjusted reminder message and recipe suggestions are then sent to the device in JSON format and notified to the user.

[1104] Example prompt sentence:

[1105] "The expiration date for the pork is approaching (3 days left until the expiration date). I recommend making ginger pork using the ginger in the refrigerator."

[1106] → If the emotion engine recognizes that the user is "tired":

[1107] "How about an easy dish to make with roast pork?"

[1108] This allows the system to not only help users manage their food so they don't miss expiration dates, but also to receive reminders and cooking suggestions that match the user's emotional state.

[1109] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1110] System program processing flow

[1111] Step 1:

[1112] User takes a photo of food

[1113] Users take a photo of food using a smartphone or other device. For example, they take a photo of a pack of pork before putting it in the refrigerator. This photo is saved as a high-resolution JPEG file in a specified folder on the device.

[1114] Input: Physical pack of food

[1115] Output: High-resolution JPEG file saved on your device

[1116] Step 2:

[1117] The device uploads the photo to the server

[1118] The user launches the application on their device, selects a photo they have taken, and presses the "Upload" button, which generates an HTTP POST request and sends the JPEG file to the server.

[1119] Input: High-resolution JPEG file saved on your device

[1120] Output: HTTP POST request sent to the server

[1121] Step 3:

[1122] The server receives and saves the image.

[1123] The server receives the HTTP POST request, analyzes its contents, saves the JPEG file in a specific directory, and records the path of the saved file in a database.

[1124] Input: The HTTP POST request sent to the server

[1125] Data processing: Analyze HTTP requests and extract files

[1126] Output: JPEG files saved in a directory, with file paths recorded in a database

[1127] Step 4:

[1128] The server performs OCR and extracts the text

[1129] The server reads the saved JPEG file and uses Tesseract OCR to extract the text information in the image, which becomes digital text data such as "Best before date: 2023 / 10 / 10".

[1130] Input: JPEG files saved in a directory

[1131] Data Computing: Text Extraction with Tesseract OCR

[1132] Output: Extracted digital text data

[1133] Step 5:

[1134] The server identifies the expiration date

[1135] The server identifies expiration date information from the extracted text data, using regular expressions to detect the "Expiration date: YYYY / MM / DD" pattern and obtain the date information.

[1136] Input: Extracted digital text data

[1137] Data processing: Extracting date information using regular expressions

[1138] Output: Identified best-by date information

[1139] Step 6:

[1140] The server stores the expiration date in a database

[1141] The server inserts the identified expiration date information and related food information (image path, upload date and time, etc.) into the food table in the database.

[1142] Input: Identified best-before date information and associated food information

[1143] Data processing: Inserting data into the database

[1144] Output: Food information stored in a database

[1145] Step 7:

[1146] The server manages the expiration date

[1147] The server periodically checks the expiration dates in the database using a cron job or similar, compares them with the current date, and identifies foods that are approaching their expiration date.

[1148] Input: Food information stored in the database, current date

[1149] Data Calculation: Date Comparison with Database Queries

[1150] Output: A list of foods that are nearing their expiration date

[1151] Step 8:

[1152] Server generates reminder messages and food suggestions

[1153] The server generates reminder messages and cooking suggestions for food items that are nearing their expiration date. For example, it creates messages such as "The pork is nearing its expiration date (3 days left until the expiration date)" or "We recommend making ginger pork with the ginger in your refrigerator."

[1154] Input: A list of foods that are nearing their expiration date

[1155] Data processing: Reminder message and recipe suggestion generation

[1156] Output: Generated reminder message and recipe suggestions

[1157] Step 9:

[1158] Emotion recognition by emotion engine

[1159] The device activates an emotion engine based on the user's facial expressions and voice, which recognizes and analyzes the user's emotions, such as happiness, sadness, or fatigue.

[1160] Input: User's facial expression data and voice data

[1161] Data Computation: Emotion Recognition with Emotion Engine

[1162] Output: Recognized user emotion data

[1163] Step 10:

[1164] Tailor messages and offers based on emotions

[1165] The server adjusts reminder messages and recipe suggestions based on the user's emotional state as recognized by the emotion engine. For example, if a user is recognized as "tired," the server creates a suggestion such as "How about an easy-to-make dish using roast pork?"

[1166] Input: Recognized user emotion data

[1167] Data processing: Adjustment of reminder messages and food suggestions

[1168] Output: Tailored reminder messages and recipe suggestions

[1169] Step 11:

[1170] Reminder messages and recipe suggestions sent to your device

[1171] The server sends the generated reminder message and recipe suggestions to the device, which receives them and notifies the user. For example, the server sends the reminder message and recipe suggestions in JSON format, and the device notifies the user via push notification.

[1172] Input: Tailored reminder messages and cooking suggestions

[1173] Data processing: Sending messages as HTTP responses

[1174] Output: Reminder message and recipe suggestions displayed on the user's device

[1175] (Application example 2)

[1176] 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."

[1177] Food waste can be reduced by managing food so that expiration dates are not overlooked and sending appropriate reminders when the expiration date is approaching. However, since the content of the reminder notifications is uniform, it is not possible to respond flexibly to the user's condition or mood. In addition, there is a problem that the recipe suggestions provided to the user are fixed, making it difficult to make optimal suggestions based on the user's emotions.

[1178] 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.

[1179] In this invention, the server includes a terminal for taking an image of food, a server for receiving the taken image, optical character recognition means for recognizing text information in the image, processing means for extracting the expiration date in the image, means for generating a reminder message and recipe suggestions when the expiration date is approaching, means for transmitting the reminder message and recipe suggestions to the terminal, an emotion engine for recognizing the emotional state of the user, and means for adjusting the reminder message and recipe suggestions based on the recognized emotion. This makes it possible to provide optimal reminder messages and recipe suggestions according to the emotional state of the user, and to make each suggestion to improve user satisfaction.

[1180] A "device for taking pictures of food" is an electronic device that has the function of taking pictures of food and sending them to a server. This mainly applies to smartphones and tablets.

[1181] The "server that receives the captured images" is a data receiving device that receives and processes images captured by a user on a terminal via a network.

[1182] "Optical character recognition means" refers to a technical means for extracting character information contained in a photographed image and recognizing it as digital text. This generally refers to OCR (Optical Character Recognition) software.

[1183] The "processing means for extracting the expiration date from the image" is an analysis device or program for identifying the expiration date from the information converted into digital text by the optical character recognition means.

[1184] The "means for generating a reminder message and recipe suggestions when the expiration date is approaching" is a device or program that compares the expiration date stored in the database with the current date and generates a reminder message and appropriate recipe suggestions for the user when the expiration date is approaching.

[1185] The "means for sending reminder messages and recipe suggestions to the terminal" refers to communication equipment and software for notifying the user's terminal of the reminder messages and recipe suggestions generated by the server.

[1186] An "emotion engine for recognizing a user's emotional state" is a technology that analyzes a user's facial expressions and voice to determine their emotional state at that time. This technology includes facial expression recognition software and voice analysis technology.

[1187] The "means for adjusting reminder messages and recipe suggestions based on recognized emotions" is a device or program that optimizes the content of reminder messages and recipe suggestions according to the user's emotional state determined by the emotion engine.

[1188] The present invention is a system that manages the expiration dates of food products, sends reminders to the user when the expiration date is approaching, and suggests recipes according to the user's emotional state. This system is composed of the following elements.

[1189] System Components

[1190] 1. A device for taking pictures of food

[1191] Users can use a smartphone, tablet, or other device to take a photo of the expiration date on the food they have purchased, and the image is sent to a server via a compatible application.

[1192] 2. Server that receives the captured images

[1193] The server receives and stores images sent from the user's device, stores the image files in a specific directory on the server, and keeps an internal record of the file path.

[1194] 3. Optical Character Recognition (OCR)

[1195] The server then performs OCR (optical character recognition) on the received image, extracting the textual information in the image as digital text, using software such as pytesseract.

[1196] 4. Processing means for extracting expiration dates

[1197] Regular expressions and text analysis techniques are used to identify expiration date information from the extracted text. This data is analyzed and information in the format "Expiration Date: YYYY / MM / DD" is extracted.

[1198] 5. A way to generate reminder messages and cooking suggestions when expiration dates are approaching

[1199] The server runs periodically scheduled jobs to manage expiration dates in a database, comparing the current date with the stored expiration dates and generating reminder messages and cooking suggestions when expiration dates are approaching.

[1200] 6. A way to send reminder messages and recipe suggestions to your device

[1201] The server then sends the generated reminder message and recipe suggestions to the user's device and notifies them through the application, using communication protocols such as HTTP and WebSocket.

[1202] 7. Emotion engine for recognizing the user's emotional state

[1203] This engine analyzes the user's facial expressions and voice to determine their emotional state. It uses the EmotionRecognizer library and other tools to classify the user's emotional state into categories such as "tired," "happy," and "sad."

[1204] 8. A way to tailor reminder messages and cooking suggestions based on perceived emotions

[1205] The emotion engine will tailor the content of reminder messages and recipe suggestions based on the user's emotions, for example, if the user is tired, it will suggest easy-to-make dishes.

[1206] Specific examples

[1207] A user purchases pork at a supermarket, takes a photo of it with a camera, sets the expiration date as "2023 / 10 / 10," and uploads it to the server through the application. The server receives the image, extracts the expiration date information using OCR, and stores it in a database. When the expiration date approaches, on 2023 / 10 / 07, the server notifies the user that "The pork's expiration date is approaching," and suggests a recipe, "Easy roast pork for when you're tired."

[1208] Prompt Sentence Examples

[1209] Recognize emotions and adjust cooking suggestions based on the user's facial expressions and voice.

[1210] Input image: Image path

[1211] Distinguished emotions: ['happy', 'sad', 'tired']

[1212] Generates the following message: ['You have 3 days left until the expiration date. Try these dishes:', 'We'll suggest some easy recipes.']

[1213] This system not only allows users to manage their food so they don't miss expiration dates, but also provides them with optimal reminder messages and cooking suggestions based on their emotional state.

[1214] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1215] Step 1:

[1216] Food photography (input: food, smartphone camera, output: food image)

[1217] Users can use their smartphone camera to take a photo of the expiration date on the food they have purchased, and the image is then input into the system.

[1218] Step 2:

[1219] Image upload (input: food image, output: image file on server)

[1220] A user takes a photo and uploads it to the server through a smartphone application. The application sends an HTTP POST request, and the server receives it and saves the image in a specific directory.

[1221] Step 3:

[1222] Perform optical character recognition (OCR) (input: image file, output: text information)

[1223] The server reads the saved image file and runs OCR (pytesseract) to extract the text information from the image, outputting the text information as digital text.

[1224] Step 4:

[1225] Extraction of expiration date (input: text information, output: expiration date information)

[1226] The server analyzes the text information obtained by OCR and extracts the expiration date information. It uses regular expressions to identify text that matches the format "Expiration date: YYYY / MM / DD" and obtains the date information.

[1227] Step 5:

[1228] Save to database (input: expiry date information, output: database record)

[1229] The server stores the extracted expiration date information in a database, including the image path of the food, the expiration date, and the upload date and time.

[1230] Step 6:

[1231] Best before date management (input: database record, current date, output: reminder list)

[1232] The server periodically checks the expiration dates of the foods in the database, compares them with the current date, and lists any foods that are approaching their expiration date.

[1233] Step 7:

[1234] Generate reminder messages and recipe suggestions (Input: reminder list, user account information, Output: reminder messages, recipe suggestions)

[1235] The server generates a reminder message and cooking suggestions for the relevant food based on the reminder list. For example, it creates a reminder message saying "The expiration date of the pork is approaching (3 days left until the expiration date)" and a cooking suggestion such as "Easy roast pork recipe."

[1236] Step 8:

[1237] Emotion recognition using an emotion engine (input: user's facial expression, voice, output: emotional state)

[1238] The device collects the user's facial expressions and voice, and analyzes them using an emotion engine (EmotionRecognizer). The analysis results are output as the user's emotional state, such as "happy," "tired," or "sad."

[1239] Step 9:

[1240] Emotion-based message and suggestion tailoring (Input: reminder message, recipe suggestion, emotional state; Output: tailored message, recipe suggestion)

[1241] The server adjusts the content of the reminder message and recipe suggestions based on the emotional state determined by the emotion engine. For example, if the server determines that the user is tired, it will suggest simple recipes.

[1242] Step 10:

[1243] Sending reminder messages and recipe suggestions (Input: tailored message, recipe suggestions, Output: notification to user)

[1244] The server then sends the tailored reminder messages and recipe suggestions to the user's device and notifies the user through the application, allowing the user to manage food expiration dates and receive optimal suggestions based on their emotions.

[1245] 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.

[1246] 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.

[1247] 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.

[1248] [Fourth embodiment]

[1249] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[1250] 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.

[1251] 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).

[1252] 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.

[1253] 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.

[1254] 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).

[1255] 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.

[1256] 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.

[1257] 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.

[1258] 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.

[1259] 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.

[1260] 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.

[1261] 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."

[1262] System Overview

[1263] This invention is a system for managing the expiration dates of food products, sending reminders to users when the expiration date is approaching, and also providing recipe suggestions. The system mainly consists of a terminal for taking images of food products, a server for receiving the taken images, optical character recognition means for recognizing text information in the images, processing means for extracting the expiration date, means for generating reminder messages and recipe suggestions, and means for transmitting them to the terminal.

[1264] System Operation

[1265] 1. User takes a photo of food

[1266] Before putting food in the refrigerator, users take a photo of the food using a device such as a smartphone, and the photo is saved on the device.

[1267] 2. The device uploads the photo to the server

[1268] Users upload photos they have taken to the server through an application on their device. To upload photos, the device generates an HTTP POST request and sends it to a specified endpoint on the server.

[1269] 3. The server receives and saves the image.

[1270] When the server receives an HTTP request, it saves the image file in a dedicated directory. It internally records the path of the saved image file and uses it for subsequent processing.

[1271] 4. The server performs OCR and extracts the text.

[1272] The server reads the stored image file and uses optical character recognition (OCR) to extract the textual information in the image as digital text, which is then used to determine the expiration date.

[1273] 5. The server identifies the expiration date

[1274] The expiration date information is identified from the extracted text data using a dedicated analysis method, and the identified expiration date information is stored in a database.

[1275] 6. Best before date management

[1276] The server periodically checks the database to see the expiration date of each stored food item, and if any food is nearing its expiration date, generates a reminder message based on that information.

[1277] 7. Generate reminder messages and recipe suggestions

[1278] The server generates reminder messages for food items that are nearing their expiration date, along with related recipe suggestions, improving the quality of information provided to users.

[1279] 8. Send reminder messages to your device

[1280] The server sends the generated reminder message and recipe suggestions to the device as an HTTP response, and the device notifies the user of the received information.

[1281] Specific examples

[1282] For example, suppose a user takes a photo of a pack of pork with their smartphone before putting it in the refrigerator. The user uploads the photo to a server using an application. The server receives the image and performs OCR to extract text information such as "Best before: 2023 / 10 / 10." The server stores the extracted expiration date information in a database and periodically checks the information. When 2023 / 10 / 07 arrives, the server generates a reminder message saying, "The pork's expiration date is approaching (3 days left until the expiration date)," along with a cooking suggestion such as, "We recommend making ginger pork with the ginger in the refrigerator." This reminder and suggestion are then sent to the device and notified to the user.

[1283] The specific operation of this system is to help users consume food efficiently without missing its expiration date, thereby reducing food waste and making users' lives more convenient.

[1284] The processing flow will be explained below.

[1285] Step 1:

[1286] Before putting food in the refrigerator, the user takes a photo of the food with their device (smartphone), and the photo is saved in the device's camera roll.

[1287] Step 2:

[1288] Photos taken on the device are selected and uploaded to the server using a dedicated application. The user presses the "Upload" button to send the photos to the server.

[1289] Step 3:

[1290] The server analyzes the HTTP POST request received from the device, saves the sent photo file in a specific directory (e.g., . / images / ), and keeps an internal record of the path of the saved file.

[1291] Step 4:

[1292] The server reads the stored image file and performs optical character recognition (OCR), which extracts the textual information in the image as digital text.

[1293] Step 5:

[1294] The server parses the expiration date information from the text data extracted by OCR, using regular expressions and other text analysis techniques to identify date information such as "Expiration Date: 2023 / 10 / 10".

[1295] Step 6:

[1296] The server stores the identified expiration date information in a database. The database uses structures and dictionaries to manage food information (image paths, expiration dates, upload dates, etc.).

[1297] Step 7:

[1298] The server runs a periodically scheduled job that checks the expiration dates of food items in the database, comparing the current date with the stored expiration dates to see if they are approaching their expiration date.

[1299] Step 8:

[1300] The server lists foods that are nearing their expiration date and generates reminder messages based on that, for example, "It's about time to use some pork (3 days left until expiration date)."

[1301] Step 9:

[1302] The server also generates recipe suggestions for approaching expiration dates, e.g., "I recommend ginger pork with the ginger in your fridge."

[1303] Step 10:

[1304] The server sends the generated reminder message and recipe suggestions to the device as an HTTP response, and the device notifies the user of the received information.

[1305] Step 11:

[1306] Users can check reminder messages and recipe suggestions on their devices and prevent food waste by using food that is close to its expiration date appropriately.

[1307] Example 1

[1308] 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."

[1309] In conventional food management systems, users have to manage food expiration dates themselves, which makes it easy to forget and frequently results in expiry dates being missed. This leads to increased food waste and inefficient food management within the home. Another problem is that the system does not suggest appropriate recipes when the expiration date is approaching, making it difficult to optimize food usage.

[1310] 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.

[1311] In this invention, the server includes a device for a user to take an image of food, a device for receiving the taken image, optical character recognition means for recognizing text information in the image, processing means for extracting the expiration date from the recognized text information, means for generating a reminder message and recipe suggestions when the expiration date approaches, and means for transmitting the generated reminder message and recipe suggestions to the user's device. This allows the user to easily manage the expiration date of food, and automatic reminders are sent when the expiration date approaches, thereby reducing food waste. Furthermore, the provision of recipe suggestions optimizes the user's ingredient use and realizes efficient food management.

[1312] A "user device" is a hardware device that a user uses to take images of food and send and receive data.

[1313] A "server" is a computer system that receives image data sent from a user, processes it, and returns the results of the processing to the user's device.

[1314] "Optical character recognition means" refers to a technology or device for recognizing and extracting character information from an image as digital data.

[1315] The "processing means" is software or hardware for extracting the expiration date from the recognized character information and storing and managing it in an appropriate database.

[1316] A "remind message" is a notification that notifies the user that the expiration date of food is approaching.

[1317] "Cooking suggestions" are suggestions for recipes and cooking methods to make effective use of food that is approaching its expiration date.

[1318] The "database" is a digital storage system for storing and managing food information and expiration date information obtained from users.

[1319] "Batch processing" refers to a series of automated data processing operations that are performed on a regular basis.

[1320] The present invention relates to a system for assisting a user in managing the expiration dates of food products and consuming them efficiently. The system is configured as follows.

[1321] System configuration

[1322] 1. User Device

[1323] A device used by a user to take pictures of food. Specifically, it includes devices with camera functions such as smartphones and tablets. An application for sending the captured image data to a server is installed on the user device.

[1324] 2. Server

[1325] The server is a central processing unit that receives, analyzes, and processes image data sent by users. The server is equipped with multiple software modules, including optical character recognition (OCR), a database, and a reminder message generator.

[1326] 3. Optical Character Recognition (OCR)

[1327] The server uses optical character recognition technology, such as the Tesseract OCR engine, to recognize and extract text information from images. OCR extracts text data from images and uses this text data for further analysis.

[1328] 4. Processing Means

[1329] The server uses regular expressions and machine learning models to identify expiration dates from the text data extracted by OCR, and stores the expiration date information in a database.

[1330] 5. Reminder message generation method

[1331] The server periodically checks expiration dates stored in the database and generates reminder messages and recipe suggestions when the expiration date approaches, using an algorithm that personalizes the suggestions based on the user's cooking history and preferences.

[1332] 6. Database

[1333] This is a digital storage system for managing expiration date information and related cooking suggestions. Food information is organized for each user, and expiration dates can be checked.

[1334] Specific examples

[1335] For example, a user takes a photo of a carton of milk with their smartphone before putting it in the refrigerator. After taking the photo, the user uses an application to upload the photo to the server. The server receives the HTTP request and saves the image file in a dedicated directory. It then reads the saved image and uses the Tesseract OCR engine to extract the text "Best before date: 2023 / 05 / 15". The server then saves the extracted date information as the best before date in the database.

[1336] On May 12, 2023, three days before the expiration date, the server checks the database in a batch process and generates a reminder message saying, "The milk's expiration date is approaching (three days left until the expiration date)" and a cooking suggestion saying, "We recommend a pancake recipe using milk." These messages are sent to the user's device, and the user is notified in the notification area of ​​their smartphone or within the app.

[1337] Prompt Sentence Examples

[1338] "Take a photo of your food before putting it in the fridge."

[1339] "Please upload the photos you have taken to the server through the application."

[1340] As described above, this system helps users efficiently manage food expiration dates and consume food without waste, thereby reducing food waste and making users' lives more convenient.

[1341] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1342] Step 1:

[1343] User takes a photo of food

[1344] The user takes a picture of food using a smartphone. The input is the food image, and the output is the image data stored in the device's photo gallery.

[1345] Specific behavior:

[1346] The user opens the camera app on their smartphone, focuses on the milk carton, and presses the shutter button to take a photo. After taking the photo, the image data is saved in the photo gallery.

[1347] Step 2:

[1348] The device uploads the photo to the server

[1349] The user starts a specific application on the device, selects a saved image, and sends it to the server. The input is the saved image data, and the output is the image file sent to the server.

[1350] Specific behavior:

[1351] The user launches the application, clicks the "Upload Image" button, selects a photo of a milk carton from the image selection dialog, and presses the "Submit" button, causing the application to send an HTTP POST request to the " / upload" endpoint on the server.

[1352] Step 3:

[1353] The server receives and saves the image.

[1354] The server receives HTTP requests and saves the image files in a dedicated directory. The input is the HTTP request, and the output is the image file and its path in the directory.

[1355] Specific behavior:

[1356] The server receives a request at the " / upload" endpoint, retrieves the binary image data from the request, saves it in the / images directory, and records the path of the saved file in the database.

[1357] Step 4:

[1358] The server performs OCR and extracts the text

[1359] The server reads the saved image file and extracts the text information using optical character recognition technology. The input is the path of the saved image file, and the output is the extracted text data.

[1360] Specific behavior:

[1361] The server calls the Tesseract OCR engine with the path to the image file as input. The OCR engine extracts the text information "Best before date: 2023 / 10 / 10" from the image and saves it as text data.

[1362] Step 5:

[1363] The server identifies the expiration date

[1364] The server identifies the expiration date from the text data extracted by OCR and stores it in a database. The input is the extracted text data, and the output is a database containing expiration date information.

[1365] Specific behavior:

[1366] The server uses regular expressions to extract the date format "2023 / 10 / 10" from the text data. The extracted date information is saved in the database as the expiration date along with the food name.

[1367] Step 6:

[1368] The server periodically checks expiration date information

[1369] The server periodically scans the database for food items approaching their expiration date. The input is the expiration date information from the database, and the output is a request to generate a reminder message.

[1370] Specific behavior:

[1371] The server runs a batch job every night at midnight to scan the expiration date information in the database, listing foods that are within three days of their expiration date and adding them to a queue for generating reminder messages.

[1372] Step 7:

[1373] Server generates reminder messages and food suggestions

[1374] The server generates a reminder message along with recipe suggestions. The input is a list of food items that are nearing their expiration date, and the output is a reminder message and recipe suggestions.

[1375] Specific behavior:

[1376] The server generates a reminder message saying "The milk's expiration date is approaching (3 days left until expiration date)" and a cooking suggestion saying "We recommend a pancake recipe using milk."

[1377] Step 8:

[1378] The server sends reminder messages and recipe suggestions to the device.

[1379] The generated reminder message and recipe suggestions are sent to the device as an HTTP response. The input is the generated reminder message and recipe suggestions, and the output is a notification on the user's device.

[1380] Specific behavior:

[1381] The server sends a reminder message and cooking suggestions via HTTP response. The device analyzes the received message and notifies the user, "The milk's expiration date is approaching. Check out the pancake recipe."

[1382] (Application example 1)

[1383] 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."

[1384] Conventional food management systems require users to manually input information for expiration date management, which is inefficient. Furthermore, they may not receive appropriate notifications when the expiration date approaches, which can lead to food waste. Furthermore, it is difficult to develop an efficient sales strategy for food products with approaching expiration dates. The present invention aims to solve these problems and automate food expiration date management and efficient sales strategies.

[1385] 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.

[1386] In this invention, the server includes optical character recognition means for recognizing character information in the image, processing means for extracting the expiration date in the image, means for generating a reminder message and a discount offer when the expiration date is approaching, and means for transmitting the reminder message and the discount offer to the terminal, thereby enabling automatic management of expiration dates and efficient sales offers for products approaching their expiration date.

[1387] A "terminal" is a device that allows a user to take an image of food and send the image to a server.

[1388] The "server" is a central processing unit that processes images received from the terminals, manages expiration dates, and generates reminder messages and discount offers.

[1389] "Optical character recognition" is a technology that recognizes character information in an image as digital text.

[1390] The "processing means" is a function for identifying the expiration date from the character information extracted by the optical character recognition means and storing the date in a database.

[1391] A "reminding message" is a message that notifies users and store staff about food items that are approaching their expiration date.

[1392] A "discount proposal" is a price adjustment proposal to promote efficient sales of food products that are approaching their expiration date.

[1393] The "database" is a data management system that stores the extracted expiration date information and product information so that it can be used for later processing.

[1394] "Promotion" is a mechanism for notifying users and store staff of reminder messages and discount offers.

[1395] System program generation

[1396] The program for building a system that realizes this application example works as follows: For example, the Python program uses the Tesseract OCR library for OCR processing and MongoDB for database management.

[1397] Server Processing

[1398] The server receives images of food sent from the device. The received images are first saved in a dedicated directory on the server. The server then uses the Tesseract OCR library to extract text from the saved images. It identifies expiration date data from the extracted text and saves this information in a MongoDB database. The server periodically crawls the database and generates reminder messages and discount offers for products approaching their expiration date. The generated reminder messages and discount offers are then sent to store staff via push notifications or other means.

[1399] The main software and hardware used are:

[1400] Tesseract OCR Library: Used to convert character information in images into text data.

[1401] MongoDB: A database system that manages expiration date information and product information.

[1402] Push Notification Service: A notification service for sending reminder messages and discount offers to your device.

[1403] Terminal handling

[1404] The terminal provides a tool that allows store staff to take a photo of the food product label and send the image to the server, where it is automatically uploaded to a specified endpoint using an HTTP POST request.

[1405] User Action

[1406] The user, in this case a store staff member, takes pictures of products using a terminal and uploads them to the system. When they receive reminder messages or discount offers, they can take appropriate action to achieve efficient inventory management and sales strategies.

[1407] Specific examples

[1408] For example, consider the case where a store staff member is managing the expiration date of "pork" in the refrigerator. First, the store staff member takes a photo of the label with the expiration date on the "pork" with their smartphone and uploads the image to the server via an application. The server analyzes the received image using Tesseract OCR and extracts the information written on the label, such as "Expiration date: 10 / 10 / 2023." This information is stored in MongoDB, and when the expiration date approaches, a reminder message stating "The pork's expiration date is approaching. We recommend applying a discount" is displayed on the terminal along with a discount offer.

[1409] An example prompt might be, "Generate a Python program that extracts expiration dates from food images, stores them in a database, and notifies you when the expiration date is approaching. Use MongoDB as the database and Tesseract OCR to extract text from the images."

[1410] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1411] Step 1:

[1412] The user takes a picture of the food using the device. The image data is saved in the device.

[1413] Step 2:

[1414] The device uploads the captured image data to the server. The input is the image data saved in step 1, and the output is the image data sent in the HTTP POST request format.

[1415] Step 3:

[1416] The server receives and stores uploaded image data. The input is image data sent from the device, and the output is an image file stored in a dedicated directory on the server. Specifically, the server receives an HTTP request and stores the image file on disk.

[1417] Step 4:

[1418] The server performs OCR processing on the received image file to extract text information. The input is the saved image file, and the output is the extracted text data. Specifically, the server uses the Tesseract OCR library to analyze the text in the image and extract it as digital text.

[1419] Step 5:

[1420] The server identifies expiration date information from the extracted text data and stores it in a database. The input is the text data obtained by OCR processing, and the output is the expiration date information stored in the database. Specifically, the server runs a Python script to analyze the text data, extract the expiration date, and store it in MongoDB.

[1421] Step 6:

[1422] The server periodically crawls the database, detects products approaching their expiration date, and generates reminder messages and discount offers. The input is the expiration date information in the database, and the output is the generated reminder messages and discount offers. Specifically, the server uses a scheduler to periodically check the database and generates reminder messages and discount offers using a Python script.

[1423] Step 7:

[1424] The server notifies the device of the generated reminder message and discount offer. The input is the generated reminder message and discount offer, and the output is a message sent to the device as a notification. Specifically, the server uses a push notification service to send the reminder message and discount offer to the device.

[1425] Step 8:

[1426] The user checks the reminder message and discount offer received on the device and takes appropriate action. The input is the reminder message and discount offer displayed on the device, and the output is the user's decision and action. Specific actions include the user checking the message and taking appropriate action, such as applying a discount if necessary or moving the product to a specific area.

[1427] 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.

[1428] System Overview

[1429] This invention is a system that manages the expiration date of food, sends reminders to the user when the expiration date is approaching, and also makes cooking suggestions, and is further combined with an emotion engine that recognizes the user's emotions.The system includes a terminal for taking images of food, a server that receives the taken images, optical character recognition means that recognizes text information in the images, processing means that extracts the expiration date, means for generating reminder messages and cooking suggestions, means for sending the reminder messages and cooking suggestions to the terminal, and an emotion engine that recognizes the user's emotions.

[1430] System Operation

[1431] 1. User takes a photo of food

[1432] Before putting food in the refrigerator, users take a photo of the food using a device such as a smartphone, and the photo is saved on the device.

[1433] 2. The device uploads the photo to the server

[1434] The user uploads the photographs they have taken to the server through the application on their device. The user presses the "upload" button to send the photographs to the server.

[1435] 3. The server receives and saves the image.

[1436] The server analyzes the HTTP POST request received from the device, saves the sent photo file in a specific directory (e.g., . / images / ), and keeps an internal record of the path of the saved file.

[1437] 4. The server performs OCR and extracts the text.

[1438] The server reads the stored image file and performs optical character recognition (OCR), which extracts the textual information in the image as digital text.

[1439] 5. The server identifies the expiration date

[1440] The server parses the expiration date information from the text data extracted by OCR, using regular expressions and other text analysis techniques to identify date information such as "Expiration Date: 2023 / 10 / 10".

[1441] 6. The server stores the expiration date in a database

[1442] The server stores the identified expiration date information in a database. The database uses structures and dictionaries to manage food information (image paths, expiration dates, upload dates, etc.).

[1443] 7. The server manages the expiration date

[1444] The server runs a periodically scheduled job that checks the expiration dates of food items in the database, comparing the current date with the stored expiration dates to see if they are approaching their expiration date.

[1445] 8. The server generates reminder messages and recipe suggestions

[1446] The server lists foods that are nearing their expiration date and generates reminder messages based on that, for example, "It's about time to use some pork (3 days left until expiration date)."

[1447] 9. Emotion Recognition with Emotion Engine

[1448] The device uses the user's facial expressions and voice to recognize the user's emotions through an emotion engine, which can identify whether the user is happy, sad, tired, or other such states.

[1449] 10. Tailor messages and offers based on emotions

[1450] The server adjusts the content of reminder messages and recipe suggestions based on the user's emotional state as recognized by the emotion engine, for example, suggesting simple recipes to a tired user.

[1451] 11. Send reminder messages and recipe suggestions to your device

[1452] The server generates reminder messages and recipe suggestions, adjusts them based on the user's emotions, and sends them to the device, which then notifies the user of the received information.

[1453] Specific examples

[1454] For example, a user takes a photo of a pack of pork with their smartphone before putting it in the refrigerator and uploads it to the server via an application. The server receives the image and performs OCR to extract the text information "Best before: 2023 / 10 / 10." The server stores this expiration date information in a database and periodically checks it. On 2023 / 10 / 07, the server generates a reminder message saying "The pork's expiration date is approaching (3 days left until the expiration date)" along with a recipe suggestion such as "We recommend ginger pork with the ginger in your refrigerator." If the server detects that the user is feeling tired, it will make a simple recipe suggestion such as "How about an easy dish to make with roast pork?" The server then sends the adjusted message and suggestion to the device and notifies the user.

[1455] The specific operation of this system not only enables users to manage food expiration dates without missing them, but also allows them to receive reminders and cooking suggestions that match their emotional state at the time, making daily life more convenient and comfortable.

[1456] The processing flow will be explained below.

[1457] Step 1:

[1458] Before putting food in the refrigerator, the user takes a photo of the food with their device (smartphone), and the photo is saved in the device's camera roll.

[1459] Step 2:

[1460] The user uploads the photographs they have taken to the server using an application on their device. Specifically, the user presses the "upload" button in the application to send the photograph files to the server.

[1461] Step 3:

[1462] The server receives the HTTP POST request sent from the device, saves the uploaded photo file in a specific directory (e.g., . / images / ), and records the path of the saved image file.

[1463] Step 4:

[1464] The server reads the stored image file and performs optical character recognition (OCR), which extracts the textual information in the image as digital text.

[1465] Step 5:

[1466] The server analyzes the text data extracted by OCR to identify information related to expiration dates. Using text analysis techniques such as regular expressions, date information such as "Expiration date: 2023 / 10 / 10" is extracted.

[1467] Step 6:

[1468] The server stores the identified expiration date information in a database, which stores the image path of the food, the expiration date, the upload date and time, etc.

[1469] Step 7:

[1470] The server periodically runs a scheduled job to check the expiration dates of food items in the database, comparing the current date with the stored expiration dates to see if the expiration date is approaching.

[1471] Step 8:

[1472] The server lists foods that are nearing their expiration date and generates reminder messages based on that, for example, "It's about time to use some pork (3 days left until expiration date)."

[1473] Step 9:

[1474] The device recognizes the user's facial expressions and voice, and the emotion engine determines the user's emotions. Based on data collected through the device's camera and microphone, the emotion engine identifies whether the user is happy, sad, tired, etc.

[1475] Step 10:

[1476] The server adjusts the content of the reminder message and recipe suggestions based on the user's emotional state as recognized by the emotion engine. For example, if a user is tired, the server changes the tone and content of the message, suggesting "easy-to-make dishes."

[1477] Step 11:

[1478] The server sends the tailored reminder message and recipe suggestions to the device, which then notifies the user of the received information.

[1479] Step 12:

[1480] Users can view the reminder message and cooking suggestions on their device. Specifically, they can receive a notification, open the application, check detailed information, and use the food appropriately when it is nearing its expiration date.

[1481] Example 2

[1482] 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."

[1483] In modern households, it is important to manage food expiration dates, but many people tend to neglect this, resulting in frequent food waste. Furthermore, receiving optimal recipe suggestions tailored to the emotional state of household members would improve the quality of daily life, but conventional systems lack this functionality. Therefore, there is a need for a system that manages expiration dates and suggests recipes based on emotional states.

[1484] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1485] In this invention, the server

[1486] analysis means for extracting expiration dates from the images;

[1487] means for storing the extracted expiration date information in a database;

[1488] means for generating reminder messages and cooking suggestions when expiration dates are approaching;

[1489] an emotion engine for recognizing a user's emotion;

[1490] means for adjusting the reminder messages and recipe suggestions based on the user's emotional state recognized by the emotion engine;

[1491] Includes:

[1492] This makes it possible to efficiently manage food expiration dates and provide optimal recipe suggestions tailored to the user's emotional state.

[1493] A "terminal" is an electronic device that has the ability to take pictures of food and send the pictures to a server.

[1494] The "server" is a computer system that processes and stores data received from the device, and generates and sends reminder messages and recipe suggestions.

[1495] "Optical character recognition" refers to techniques and devices that extract character information from an image as digital text.

[1496] "Analysis means" refers to techniques and devices for identifying information related to expiration dates from the extracted text data.

[1497] The "database" is a system for systematically storing and managing extracted expiration date information and related information.

[1498] A "remind message" is a notification message that notifies the user that the expiration date is approaching.

[1499] "Cooking suggestions" are suggestions about dishes that can be made using food that is nearing its expiration date.

[1500] An "emotion engine" refers to technology and devices for recognizing and analyzing emotions from a user's facial expressions and voice.

[1501] "Adjustment Means" refers to the technology and devices for modifying and optimizing the content of reminder messages and recipe suggestions based on the user's emotional state recognized by the Emotion Engine.

[1502] The system of this invention manages the expiration dates of food products, sends reminders to users when the expiration date is approaching, and also provides recipe suggestions. In addition, by combining it with an emotion engine that recognizes the user's emotions, it has the function of providing emotion-based reminder messages and recipe suggestions.

[1503] This system uses the following hardware and software.

[1504] Device: A device such as a smartphone or tablet that takes pictures of food and sends the images to a server.

[1505] Server: A computer system that processes and stores data, and generates and sends reminder messages and cooking suggestions.

[1506] Optical Character Recognition (OCR): A technique that uses an OCR library such as Tesseract to extract character information from an image as digital text.

[1507] Database: MySQL, PostgreSQL, etc., a system for storing and managing expiration date information and related food information

[1508] Emotion engine: Technology that uses services such as Amazon Rekognition and Google Cloud Speech-to-Text to recognize and analyze emotions from the user's facial expressions and voice.

[1509] A specific example of the operation will be described.

[1510] Before putting food in the refrigerator, the user takes a photo of the food with their smartphone. For example, they take a photo of a pack of pork. This photo is saved on the device and sent to the server by pressing the "Upload" button in the application. The server receives the HTTP POST request and saves the sent photo in a specified directory (e.g., . / images / ). The path of the saved file is recorded in the database.

[1511] The server then reads the saved image file and extracts text information using Tesseract OCR. It then uses regular expressions to identify the expiration date from the extracted text data and stores it in a database. The server periodically uses a cron job or similar to check for food products approaching their expiration date and creates a list. For example, if a piece of pork with an expiration date of 10 / 10 / 2023 is determined to be nearing its expiration date, it generates a reminder message and recipe suggestions, such as "Your pork is nearing its expiration date (3 days left until the expiration date)" or "We recommend making ginger pork with the ginger in your refrigerator."

[1512] Furthermore, if the emotion engine analyzes the user's facial expressions and voice and determines that the user is tired, the server adjusts the content of the reminder message and recipe suggestions. For example, it may suggest, "How about an easy-to-make dish using roast pork?" The adjusted reminder message and recipe suggestions are then sent to the device in JSON format and notified to the user.

[1513] Example prompt sentence:

[1514] "The expiration date for the pork is approaching (3 days left until the expiration date). I recommend making ginger pork using the ginger in the refrigerator."

[1515] → If the emotion engine recognizes that the user is "tired":

[1516] "How about an easy dish to make with roast pork?"

[1517] This allows the system to not only help users manage their food so they don't miss expiration dates, but also to receive reminders and cooking suggestions that match the user's emotional state.

[1518] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1519] System program processing flow

[1520] Step 1:

[1521] User takes a photo of food

[1522] Users take a photo of food using a smartphone or other device. For example, they take a photo of a pack of pork before putting it in the refrigerator. This photo is saved as a high-resolution JPEG file in a specified folder on the device.

[1523] Input: Physical pack of food

[1524] Output: High-resolution JPEG file saved on your device

[1525] Step 2:

[1526] The device uploads the photo to the server

[1527] The user launches the application on their device, selects a photo they have taken, and presses the "Upload" button, which generates an HTTP POST request and sends the JPEG file to the server.

[1528] Input: High-resolution JPEG file saved on your device

[1529] Output: HTTP POST request sent to the server

[1530] Step 3:

[1531] The server receives and saves the image.

[1532] The server receives the HTTP POST request, analyzes its contents, saves the JPEG file in a specific directory, and records the path of the saved file in a database.

[1533] Input: The HTTP POST request sent to the server

[1534] Data processing: Analyze HTTP requests and extract files

[1535] Output: JPEG files saved in a directory, with file paths recorded in a database

[1536] Step 4:

[1537] The server performs OCR and extracts the text

[1538] The server reads the saved JPEG file and uses Tesseract OCR to extract the text information in the image, which becomes digital text data such as "Best before date: 2023 / 10 / 10".

[1539] Input: JPEG files saved in a directory

[1540] Data Computing: Text Extraction with Tesseract OCR

[1541] Output: Extracted digital text data

[1542] Step 5:

[1543] The server identifies the expiration date

[1544] The server identifies expiration date information from the extracted text data, using regular expressions to detect the "Expiration date: YYYY / MM / DD" pattern and obtain the date information.

[1545] Input: Extracted digital text data

[1546] Data processing: Extracting date information using regular expressions

[1547] Output: Identified best-by date information

[1548] Step 6:

[1549] The server stores the expiration date in a database

[1550] The server inserts the identified expiration date information and related food information (image path, upload date and time, etc.) into the food table in the database.

[1551] Input: Identified best-before date information and associated food information

[1552] Data processing: Inserting data into the database

[1553] Output: Food information stored in a database

[1554] Step 7:

[1555] The server manages the expiration date

[1556] The server periodically checks the expiration dates in the database using a cron job or similar, compares them with the current date, and identifies foods that are approaching their expiration date.

[1557] Input: Food information stored in the database, current date

[1558] Data Calculation: Date Comparison with Database Queries

[1559] Output: A list of foods that are nearing their expiration date

[1560] Step 8:

[1561] Server generates reminder messages and food suggestions

[1562] The server generates reminder messages and cooking suggestions for food items that are nearing their expiration date. For example, it creates messages such as "The pork is nearing its expiration date (3 days left until the expiration date)" or "We recommend making ginger pork with the ginger in your refrigerator."

[1563] Input: A list of foods that are nearing their expiration date

[1564] Data processing: Reminder message and recipe suggestion generation

[1565] Output: Generated reminder message and recipe suggestions

[1566] Step 9:

[1567] Emotion recognition by emotion engine

[1568] The device activates an emotion engine based on the user's facial expressions and voice, which recognizes and analyzes the user's emotions, such as happiness, sadness, or fatigue.

[1569] Input: User's facial expression data and voice data

[1570] Data Computation: Emotion Recognition with Emotion Engine

[1571] Output: Recognized user emotion data

[1572] Step 10:

[1573] Tailor messages and offers based on emotions

[1574] The server adjusts reminder messages and recipe suggestions based on the user's emotional state as recognized by the emotion engine. For example, if a user is recognized as "tired," the server creates a suggestion such as "How about an easy-to-make dish using roast pork?"

[1575] Input: Recognized user emotion data

[1576] Data processing: Adjustment of reminder messages and food suggestions

[1577] Output: Tailored reminder messages and recipe suggestions

[1578] Step 11:

[1579] Reminder messages and recipe suggestions sent to your device

[1580] The server sends the generated reminder message and recipe suggestions to the device, which receives them and notifies the user. For example, the server sends the reminder message and recipe suggestions in JSON format, and the device notifies the user via push notification.

[1581] Input: Tailored reminder messages and cooking suggestions

[1582] Data processing: Sending messages as HTTP responses

[1583] Output: Reminder message and recipe suggestions displayed on the user's device

[1584] (Application example 2)

[1585] 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."

[1586] Food waste can be reduced by managing food so that expiration dates are not overlooked and sending appropriate reminders when the expiration date is approaching. However, since the content of the reminder notifications is uniform, it is not possible to respond flexibly to the user's condition or mood. In addition, there is a problem that the recipe suggestions provided to the user are fixed, making it difficult to make optimal suggestions based on the user's emotions.

[1587] 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.

[1588] In this invention, the server includes a terminal for taking an image of food, a server for receiving the taken image, optical character recognition means for recognizing text information in the image, processing means for extracting the expiration date in the image, means for generating a reminder message and recipe suggestions when the expiration date is approaching, means for transmitting the reminder message and recipe suggestions to the terminal, an emotion engine for recognizing the emotional state of the user, and means for adjusting the reminder message and recipe suggestions based on the recognized emotion. This makes it possible to provide optimal reminder messages and recipe suggestions according to the emotional state of the user, and to make each suggestion to improve user satisfaction.

[1589] A "device for taking pictures of food" is an electronic device that has the function of taking pictures of food and sending them to a server. This mainly applies to smartphones and tablets.

[1590] The "server that receives the captured images" is a data receiving device that receives and processes images captured by a user on a terminal via a network.

[1591] "Optical character recognition means" refers to a technical means for extracting character information contained in a photographed image and recognizing it as digital text. This generally refers to OCR (Optical Character Recognition) software.

[1592] The "processing means for extracting the expiration date from the image" is an analysis device or program for identifying the expiration date from the information converted into digital text by the optical character recognition means.

[1593] The "means for generating a reminder message and recipe suggestions when the expiration date is approaching" is a device or program that compares the expiration date stored in the database with the current date and generates a reminder message and appropriate recipe suggestions for the user when the expiration date is approaching.

[1594] The "means for sending reminder messages and recipe suggestions to the terminal" refers to communication equipment and software for notifying the user's terminal of the reminder messages and recipe suggestions generated by the server.

[1595] An "emotion engine for recognizing a user's emotional state" is a technology that analyzes a user's facial expressions and voice to determine their emotional state at that time. This technology includes facial expression recognition software and voice analysis technology.

[1596] The "means for adjusting reminder messages and recipe suggestions based on recognized emotions" is a device or program that optimizes the content of reminder messages and recipe suggestions according to the user's emotional state determined by the emotion engine.

[1597] The present invention is a system that manages the expiration dates of food products, sends reminders to the user when the expiration date is approaching, and suggests recipes according to the user's emotional state. This system is composed of the following elements.

[1598] System Components

[1599] 1. A device for taking pictures of food

[1600] Users can use a smartphone, tablet, or other device to take a photo of the expiration date on the food they have purchased, and the image is sent to a server via a compatible application.

[1601] 2. Server that receives the captured images

[1602] The server receives and stores images sent from the user's device, stores the image files in a specific directory on the server, and keeps an internal record of the file path.

[1603] 3. Optical Character Recognition (OCR)

[1604] The server then performs OCR (optical character recognition) on the received image, extracting the textual information in the image as digital text, using software such as pytesseract.

[1605] 4. Processing means for extracting expiration dates

[1606] Regular expressions and text analysis techniques are used to identify expiration date information from the extracted text. This data is analyzed and information in the format "Expiration Date: YYYY / MM / DD" is extracted.

[1607] 5. A way to generate reminder messages and cooking suggestions when expiration dates are approaching

[1608] The server runs periodically scheduled jobs to manage expiration dates in a database, comparing the current date with the stored expiration dates and generating reminder messages and cooking suggestions when expiration dates are approaching.

[1609] 6. A way to send reminder messages and recipe suggestions to your device

[1610] The server then sends the generated reminder message and recipe suggestions to the user's device and notifies them through the application, using communication protocols such as HTTP and WebSocket.

[1611] 7. Emotion engine for recognizing the user's emotional state

[1612] This engine analyzes the user's facial expressions and voice to determine their emotional state. It uses the EmotionRecognizer library and other tools to classify the user's emotional state into categories such as "tired," "happy," and "sad."

[1613] 8. A way to tailor reminder messages and cooking suggestions based on perceived emotions

[1614] The emotion engine will tailor the content of reminder messages and recipe suggestions based on the user's emotions, for example, if the user is tired, it will suggest easy-to-make dishes.

[1615] Specific examples

[1616] A user purchases pork at a supermarket, takes a photo of it with a camera, sets the expiration date as "2023 / 10 / 10," and uploads it to the server through the application. The server receives the image, extracts the expiration date information using OCR, and stores it in a database. When the expiration date approaches, on 2023 / 10 / 07, the server notifies the user that "The pork's expiration date is approaching," and suggests a recipe, "Easy roast pork for when you're tired."

[1617] Prompt Sentence Examples

[1618] Recognize emotions and adjust cooking suggestions based on the user's facial expressions and voice.

[1619] Input image: Image path

[1620] Distinguished emotions: ['happy', 'sad', 'tired']

[1621] Generates the following message: ['You have 3 days left until the expiration date. Try these dishes:', 'We'll suggest some easy recipes.']

[1622] This system not only allows users to manage their food so they don't miss expiration dates, but also provides them with optimal reminder messages and cooking suggestions based on their emotional state.

[1623] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1624] Step 1:

[1625] Food photography (input: food, smartphone camera, output: food image)

[1626] Users can use their smartphone camera to take a photo of the expiration date on the food they have purchased, and the image is then input into the system.

[1627] Step 2:

[1628] Image upload (input: food image, output: image file on server)

[1629] A user takes a photo and uploads it to the server through a smartphone application. The application sends an HTTP POST request, and the server receives it and saves the image in a specific directory.

[1630] Step 3:

[1631] Perform optical character recognition (OCR) (input: image file, output: text information)

[1632] The server reads the saved image file and runs OCR (pytesseract) to extract the text information from the image, outputting the text information as digital text.

[1633] Step 4:

[1634] Extraction of expiration date (input: text information, output: expiration date information)

[1635] The server analyzes the text information obtained by OCR and extracts the expiration date information. It uses regular expressions to identify text that matches the format "Expiration date: YYYY / MM / DD" and obtains the date information.

[1636] Step 5:

[1637] Save to database (input: expiry date information, output: database record)

[1638] The server stores the extracted expiration date information in a database, including the image path of the food, the expiration date, and the upload date and time.

[1639] Step 6:

[1640] Best before date management (input: database record, current date, output: reminder list)

[1641] The server periodically checks the expiration dates of the foods in the database, compares them with the current date, and lists any foods that are approaching their expiration date.

[1642] Step 7:

[1643] Generate reminder messages and recipe suggestions (Input: reminder list, user account information, Output: reminder messages, recipe suggestions)

[1644] The server generates a reminder message and cooking suggestions for the relevant food based on the reminder list. For example, it creates a reminder message saying "The expiration date of the pork is approaching (3 days left until the expiration date)" and a cooking suggestion such as "Easy roast pork recipe."

[1645] Step 8:

[1646] Emotion recognition using an emotion engine (input: user's facial expression, voice, output: emotional state)

[1647] The device collects the user's facial expressions and voice, and analyzes them using an emotion engine (EmotionRecognizer). The analysis results are output as the user's emotional state, such as "happy," "tired," or "sad."

[1648] Step 9:

[1649] Emotion-based message and suggestion tailoring (Input: reminder message, recipe suggestion, emotional state; Output: tailored message, recipe suggestion)

[1650] The server adjusts the content of the reminder message and recipe suggestions based on the emotional state determined by the emotion engine. For example, if the server determines that the user is tired, it will suggest simple recipes.

[1651] Step 10:

[1652] Sending reminder messages and recipe suggestions (Input: tailored message, recipe suggestions, Output: notification to user)

[1653] The server then sends the tailored reminder messages and recipe suggestions to the user's device and notifies the user through the application, allowing the user to manage food expiration dates and receive optimal suggestions based on their emotions.

[1654] 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.

[1655] 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.

[1656] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.

[1657] 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.

[1658] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[1659] 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.

[1660] 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).

[1661] 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.

[1662] 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."

[1663] 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.

[1664] 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).

[1665] 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.

[1666] 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.

[1667] 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.

[1668] 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.

[1669] 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.

[1670] 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.

[1671] 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.

[1672] 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.

[1673] 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.

[1674] 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.

[1675] The following is further disclosed regarding the above embodiment.

[1676] (Claim 1)

[1677] a terminal for taking an image of food;

[1678] a server that receives the captured images;

[1679] Optical character recognition means for recognizing textual information within an image;

[1680] processing means for extracting expiration dates within the images;

[1681] means for generating reminder messages and cooking suggestions when expiration dates are approaching;

[1682] means for sending reminder messages and recipe suggestions to the device;

[1683] A system including:

[1684] (Claim 2)

[1685] 10. The system of claim 1, further comprising means for storing the extracted expiration date information in a database.

[1686] (Claim 3)

[1687] 10. The system of claim 1, further comprising means for comparing the extracted expiration date with a current date and generating a reminder message when the expiration date is approaching.

[1688] "Example 1"

[1689] (Claim 1)

[1690] a device for a user to capture an image of a food item;

[1691] a device for receiving the captured image;

[1692] Optical character recognition means for recognizing textual information within an image;

[1693] a processing means for extracting an expiration date from the recognized character information;

[1694] means for generating reminder messages and cooking suggestions when expiration dates are approaching;

[1695] means for transmitting the generated reminder message and recipe suggestions to a user device;

[1696] A system including:

[1697] (Claim 2)

[1698] 10. The system of claim 1, further comprising means for storing the extracted expiration date information in a database.

[1699] (Claim 3)

[1700] 10. The system of claim 1, further comprising means for periodically comparing the extracted expiration date information with a current date and generating a reminder message when the expiration date is approaching.

[1701] "Application Example 1"

[1702] (Claim 1)

[1703] a terminal for taking an image of food;

[1704] a server that receives the captured images;

[1705] Optical character recognition means for recognizing textual information within an image;

[1706] processing means for extracting expiration dates within the images;

[1707] means for generating reminder messages and discount offers when expiration dates are approaching;

[1708] means for sending reminder messages and discount offers to the terminal;

[1709] A system including:

[1710] (Claim 2)

[1711] 10. The system of claim 1, further comprising means for storing the extracted expiration date information in a database.

[1712] (Claim 3)

[1713] 10. The system of claim 1, further comprising means for comparing the extracted expiration date with a current date and generating a reminder message and a discount offer when the expiration date is approaching.

[1714] "Example 2: Combining Emotion Engines"

[1715] (Claim 1)

[1716] a terminal for taking an image of food;

[1717] a server that receives the captured images;

[1718] Optical character recognition means for recognizing textual information within an image;

[1719] analysis means for extracting expiration dates from the images;

[1720] means for storing the extracted expiration date information in a database;

[1721] means for generating reminder messages and cooking suggestions when expiration dates are approaching;

[1722] means for sending reminder messages and recipe suggestions to the device;

[1723] an emotion engine for recognizing a user's emotion;

[1724] means for adjusting the reminder messages and recipe suggestions based on the user's emotional state recognized by the emotion engine;

[1725] A system including:

[1726] (Claim 2)

[1727] 10. The system of claim 1, further comprising means for storing the extracted expiration date information in a database.

[1728] (Claim 3)

[1729] 10. The system of claim 1, further comprising means for comparing the extracted expiration date with a current date and generating a reminder message when the expiration date is approaching.

[1730] "Application example 2 when combining emotion engines"

[1731] (Claim 1)

[1732] a terminal for taking an image of food;

[1733] a server that receives the captured images;

[1734] Optical character recognition means for recognizing textual information within an image;

[1735] processing means for extracting expiration dates within the images;

[1736] means for generating reminder messages and cooking suggestions when expiration dates are approaching;

[1737] means for sending reminder messages and recipe suggestions to the device;

[1738] an emotion engine for recognizing the emotional state of a user;

[1739] a means for tailoring reminder messages and cooking suggestions based on the perceived emotions;

[1740] A system including:

[1741] (Claim 2)

[1742] 10. The system of claim 1, further comprising means for storing the extracted expiration date information in a database.

[1743] (Claim 3)

[1744] 10. The system of claim 1, further comprising means for comparing the extracted expiration date with a current date and generating a reminder message when the expiration date is approaching. [Explanation of symbols]

[1745] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. a terminal for taking an image of food; a server that receives the captured images; Optical character recognition means for recognizing textual information within an image; processing means for extracting expiration dates within the images; means for generating reminder messages and cooking suggestions when expiration dates are approaching; means for sending reminder messages and recipe suggestions to the device; A system including:

2. 10. The system of claim 1, further comprising means for storing the extracted expiration date information in a database.

3. The system of claim 1 further comprising means for comparing the extracted expiration date with a current date and generating a reminder message when the expiration date is approaching.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A