System

The system efficiently manages preserved food expiration dates by capturing images, recognizing dates with OCR, and sending automated notifications, thereby reducing manual effort and food waste.

JP2026021133APending Publication Date: 2026-02-10SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024122815
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-29
Publication Date
2026-02-10

AI Technical Summary

Technical Problem

Conventional methods for managing the expiration dates of preserved foods require manual checking, which is time-consuming and prone to errors, leading to food waste and inefficiencies.

Method used

A system that captures images of preserved foods, recognizes expiration dates using OCR, stores the information, and sends automated notifications based on the expiration dates, allowing users to confirm and set notification timings.

Benefits of technology

Automatically manages expiration dates, reducing the risk of overlooking expiration dates and streamlining food management by providing timely notifications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026021133000001_ABST
    Figure 2026021133000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: This system includes a means for photographing an image of preserved food, a means for recognizing a best-before date from the photographed image, a means for preserving recognized best-before date information, and a means for performing notification based on the recognized best-before date information on a set date.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] When managing the expiration dates of preserved foods, the conventional method required manually creating a list and checking the expiration dates one by one, which was time-consuming and carried a high risk of overlooking expiration dates and causing food waste.To reduce this time and risk, there is a need for a system that automatically and easily manages the expiration dates of preserved foods and notifies users at the appropriate time. [Means for solving the problem]

[0005] The present invention provides a system including a means for capturing images of preserved foods, a means for recognizing expiration dates from the captured images, a means for storing the recognized expiration date information, and a means for sending notifications based on the recognized expiration date information on a set date. The system further includes a means for automatically extracting expiration dates from captured images of the preserved foods, a means for prompting a user to confirm the extracted expiration date information, a means for the user to set notification timing, and a means for classifying the preserved foods into multiple categories. The system also transmits the extracted expiration date information and the stored image data to a server, where the stored expiration date information and image data can be managed. The server also includes a periodic backend process for checking for the arrival of expiration dates and a means for generating push notifications based on the stored expiration date information when the expiration date approaches, allowing users to conveniently manage their preserved foods.

[0006] "Preserved foods" refers to foods that can be stored and used for a long period of time.

[0007] "Means for taking an image" refers to a device or software that provides a camera function for taking a photograph of the preserved food.

[0008] "Means for recognizing expiration dates from images" refers to algorithms or software for automatically extracting expiration date information as text from a captured image.

[0009] "Means for storing expiration date information" refers to a function or device that stores the extracted expiration date data in a storage device such as a database.

[0010] "Means for notifying" refers to a device or software that has the function of sending a warning or reminder to the user when the expiration date is approaching.

[0011] "Means for user confirmation" refers to an interface for presenting the extracted expiration date information to the user and receiving corrections and confirmations.

[0012] "Means for the user to set the timing of notifications" refers to a function or interface that allows the user to select and set the timing for sending notifications regarding expiration dates.

[0013] "Means for categorizing" refers to a function or interface for categorizing preserved foods into categories such as staple foods, side dishes, and dietary supplements.

[0014] "Means for transmitting image data to a server" refers to a network communication function for transferring image data and associated expiration date information from a terminal to a central server.

[0015] "Means for managing stored expiration date information and image data" refers to software or algorithms for storing, organizing, and managing the transmitted data in a database.

[0016] "Periodic backend process" refers to a computer program that runs periodically on a server to check expiration dates and prepare notifications.

[0017] "Means for generating push notifications" refers to functionality for sending reminders to a user's device when an expiration date is approaching. [Brief explanation of the drawings]

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

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

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

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

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

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

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

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

[0026] [First embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0039] The present invention is a system for efficiently managing the expiration dates of preserved foods, and is configured as follows.

[0040] System Overview

[0041] This system allows users to take pictures of preserved food, extract and save expiration date information from the images, and automatically notify users on the set expiration date.The system is mainly divided into a terminal application, a server, and a back-end process.

[0042] Configuring the Terminal Application

[0043] User launches the app and takes a photo:

[0044] First, the user launches the application on their device. The application has a built-in camera function, allowing the user to take photos of the preserved food. The device then temporarily stores the photos in its local storage.

[0045] Extracting expiration dates from images:

[0046] The device analyzes the captured image and uses an OCR library to automatically recognize expiration dates. For example, a best-by date of "December 15, 2023" is extracted from the photo. This information is then confirmed by the user, who can then modify it if necessary.

[0047] Data transmission and storage:

[0048] After the expiration date information is confirmed, the device sends this information and image data to the server, which verifies the received data and stores it in a central database. At this time, the notification schedule is also set on the server side.

[0049] Server Configuration

[0050] Data Management:

[0051] The server stores the expiration date information and image data sent from the terminal in a central database and manages the necessary fields (food ID, user ID, image path, expiration date, registration date and time, etc.) It also calculates the notification timing and sets it to notify, for example, seven days before the expiration date.

[0052] Back-end process checks expiry date:

[0053] The server has a backend process that runs periodically, for example, every night at midnight, to check the database and find any records with expiration dates that require notification.

[0054] Send notifications:

[0055] When the server finds a suitable food item, it adds it to the device list and generates a push notification to send to the device, which then notifies the user that the expiration date is approaching.

[0056] Specific examples

[0057] Example: Canned food with a best-by date of December 15, 2023

[0058] 1. The user launches the app and takes a photo of a preserved food (canned food).

[0059] 2. The device recognizes the date as "December 15, 2023" from the captured image and displays that information to the user for confirmation.

[0060] 3. Once the user confirms, the expiration date information and image data are sent to the server.

[0061] 4. The server saves this data in a database and sets the notification timing (for example, notify on December 8th).

[0062] 5. On December 8th, the server checks the expiration date through a backend process and sends a push notification to the user's device.

[0063] 6. The device receives the push notification and displays a message to the user saying, "This canned food's expiration date is approaching."

[0064] In this way, users can efficiently manage the expiration dates of preserved foods without any hassle and receive appropriate notifications on the set deadlines.

[0065] The processing flow will be explained below.

[0066] Program processing flow

[0067] 1. Terminal application processing

[0068] 1.1 Taking photos:

[0069] Step 1:

[0070] The user launches the app and presses the "Take Photo" button.

[0071] The device will launch the camera and switch to preview mode.

[0072] Step 2:

[0073] The user takes a photo of the preserved food and presses the capture button.

[0074] The device acquires the photos it has taken and temporarily stores them in local storage.

[0075] 1.2 Extract expiration date from image:

[0076] Step 3:

[0077] The device analyzes images stored in local storage using an OCR library.

[0078] The device extracts text data from the image and searches for date information corresponding to the expiration date.

[0079] Step 4:

[0080] The terminal displays the extracted expiration date information on a confirmation screen and asks the user for confirmation.

[0081] 1.3 Data verification and transmission:

[0082] Step 5:

[0083] The user checks the displayed expiration date information and corrects it if necessary.

[0084] The user presses the "Save" button to confirm the expiration date information.

[0085] Step 6:

[0086] The device sends the confirmed expiration date information and image data in JSON format to the server.

[0087] 2. Server Processing

[0088] 2.1 Data Receipt and Storage:

[0089] Step 7:

[0090] The server receives the JSON data sent from the device.

[0091] The server validates the structure of the received data and ensures that all required fields (image data, expiration date, etc.) are present.

[0092] Step 8:

[0093] The server stores the data in a central database.

[0094] Record fields such as food ID, user ID, image path, expiration date, and registration date and time in the database.

[0095] 2.2 Setting up notification schedule:

[0096] Step 9:

[0097] The server calculates a notification schedule for the stored data.

[0098] The server calculates the date 7 days before the expiration date and saves it in the notification table.

[0099] 3. Backend processing

[0100] 3.1 Notification preparation:

[0101] Step 10:

[0102] A backend process on the server runs every night at midnight and checks the notification table.

[0103] The server searches for a record whose current date matches the notification date.

[0104] 3.2 Notifications sent:

[0105] Step 11:

[0106] The server creates a list of foods that require notifications and obtains the relevant user ID and device information.

[0107] The server sends a push notification to the user's device.

[0108] Step 12:

[0109] The device receives the push notification from the server and displays the notification to the user.

[0110] The user opens the notification and launches the app to see more information.

[0111] Specific examples

[0112] Example: Canned food with a best-by date of December 15, 2023

[0113] 1. Photographing and expiration date recognition:

[0114] Step 1:

[0115] The user launches the app and takes a photo of the can.

[0116] The device saves the captured image in local storage.

[0117] Step 2:

[0118] The device extracts the text "December 15, 2023" from the image.

[0119] The terminal prompts the user to check the expiration date information.

[0120] 2. Data transmission and storage:

[0121] Step 3:

[0122] The user confirms the information and clicks the save button.

[0123] The terminal transmits the expiration date information to the server.

[0124] Step 4:

[0125] The server stores the data in a database and sets up the notification schedule.

[0126] 3. Notification Processing:

[0127] Step 5:

[0128] On December 8th (the notification setting date), the server's backend process runs and searches for the notification record.

[0129] The server sends a push notification to the user.

[0130] Step 6:

[0131] The device receives the notification and displays to the user, "This canned food is nearing its expiration date."

[0132] The user opens the notification and launches the app to see more information.

[0133] Example 1

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

[0135] Managing the expiration dates of preserved foods manually is a huge hassle, and there is a problem that expired foods are easily overlooked. Furthermore, it is difficult to centrally manage multiple preserved foods, which increases the burden on users to check and record expiration dates individually. For this reason, there is a demand for a system that can efficiently and accurately manage expiration dates of preserved foods and automatically notify them.

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

[0137] In this invention, the server includes a means for sending a notification on a set date based on the stored expiration date information, an optical character recognition means, and a means for storing the expiration date information, thereby enabling the expiration dates of preserved foods to be automatically managed and for users to be notified without missing the notification timing.

[0138] "Means for taking images of preserved food" refers to the ability of an end user to use the device to capture images of preserved food.

[0139] "Optical character recognition means" refers to technology for extracting text information from image data, and includes OCR (Optical Character Recognition) libraries and APIs.

[0140] "Means for displaying recognized expiration date information to the user and allowing the user to confirm and correct it" is a function that displays the extracted expiration date information on the user's terminal screen, allowing the user to confirm the information and correct it as necessary.

[0141] The "means for saving the confirmed and corrected expiration date information" is a function for saving the expiration date information confirmed and corrected by the user in the database.

[0142] "Means for sending notifications on a set date based on stored expiration date information" is a function that sends notifications to users at a pre-set date and time based on stored expiration date information.

[0143] "Optical character recognition means for automatically extracting expiration dates from photographed images of preserved foods" is a function that uses optical character recognition technology to automatically extract expiration date information from images of preserved foods photographed by a user.

[0144] The "display means for allowing the user to confirm the extracted expiration date information" is a function that displays the expiration date information extracted by OCR on the user's terminal so that the information can be confirmed.

[0145] The "means for saving and transmitting expiration date information after confirmation by the user" is a function for saving the expiration date information confirmed by the user and transmitting it to the server.

[0146] The "timing calculation means for the server to automatically set the timing of notification" is a function that the server automatically calculates and sets the optimal timing of notification based on expiration date information.

[0147] "Means for periodically checking expiration date information as a back-end process based on timing calculations" is a function that uses a back-end process that runs periodically on the server side to check the database to ensure that notifications based on expiration dates are sent appropriately.

[0148] The "push notification generating means for sending a notification to the terminal of the relevant user" is a function that automatically generates a push notification when the expiration date approaches and sends it to the terminal of the relevant user.

[0149] This invention is a system for efficiently managing the expiration dates of preserved foods, and its main components are a user, a terminal, and a server. This system takes pictures of preserved foods, extracts expiration date information, saves that information, and automatically notifies users on a set date, thereby streamlining the management of preserved foods.

[0150] Configuring the Terminal Application

[0151] The terminal application has a camera function that allows the user to take an image of the preserved food. The user launches the application and takes a photo of the preserved food. The captured image is temporarily stored in local storage.

[0152] The system uses an optical character recognition (OCR) library (e.g., Google Vision API) to automatically extract expiration date information from captured images. This extracted information is then displayed to the user, who can review and correct it if necessary. This process ensures the accuracy of the expiration date information.

[0153] Server and backend process configuration

[0154] Once the user confirms the expiration date information, the device sends the information and image to the server, which verifies the received data and stores it in a central database. The stored data includes fields such as food ID, user ID, image path, expiration date, and registration date and time.

[0155] The server also automatically schedules notifications based on the stored expiration date information, with the timing calculations based on a pre-defined number of days (e.g., 7 days in advance).

[0156] The server has a backend process that runs periodically. This process checks the database and picks out records that require notifications. This process typically runs late at night every day. When a matching record is found, the server generates a push notification and sends it to the user's device. The device then displays the received push notification to the user, informing them that the expiration date is approaching.

[0157] Specific examples

[0158] Example: Canned food with a best-by date of December 15, 2023

[0159] 1. The user launches the food storage management app and uses the camera function to take a photo of the canned food.

[0160] 2. The device temporarily stores the captured image of the can in local storage.

[0161] 3. The device uses the OCR library to automatically read the expiration date "December 15, 2023" from the image and displays that information to the user.

[0162] 4. The user checks the expiration date information displayed and presses the confirmation button.

[0163] 5. The terminal sends the confirmed expiration date information and image data to the server.

[0164] 6. The server receives the data and stores the expiration date information, food ID, user ID, image path, registration date and time, etc. in the database.

[0165] 7. The server schedules notifications based on the expiration date (e.g., notify 7 days before the expiration date).

[0166] 8. On December 8th, the server checks the expiration date through a backend process and sends a push notification to the user's device.

[0167] 9. The device receives the push notification and displays a message to the user saying, "This canned food's expiration date is approaching."

[0168] In this way, users can efficiently manage the expiration dates of preserved foods and receive timely notifications.

[0169] Prompt Sentence Examples

[0170] Please explain in detail the process of extracting expiration dates from images and sending notifications in a system that streamlines the expiration date management of preserved foods.

[0171] This system allows users to avoid the tedious task of manually checking expiration dates, making food management easier.

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

[0173] Step 1:

[0174] The user launches the app and takes a photo of the preserved food.

[0175] A user launches a preserved food management application on a device. As input, the camera function is activated so that the user can take a photo. As output, the captured image is temporarily stored in the device's local storage. Specifically, the user uses the camera app to take a picture of the preserved food, and the image data is temporarily stored in the local storage.

[0176] Step 2:

[0177] The device performs OCR on the image and extracts the expiration date information.

[0178] The device takes image data stored in local storage as input and uses an OCR library (e.g., Google Vision API) to extract expiration date information. The output is extracted text data (e.g., "December 15, 2023"). Specifically, the device sends the image data to the OCR library, which extracts and returns text information from the image.

[0179] Step 3:

[0180] The device displays the extracted expiration date information to the user and asks for confirmation.

[0181] The terminal takes the results of the OCR process as input and displays the expiration date information to the user. The user can then check the extracted information and correct it if necessary. The output is the confirmed (or corrected) expiration date information. Specifically, the terminal uses a pop-up or dialog box to display the expiration date information to the user, who can then check or correct it.

[0182] Step 4:

[0183] Send expiration date information to the server

[0184] The device takes the expiration date information and image data confirmed by the user as input and sends them to the server using the HTTPS protocol. As output, the data is sent to the server, and the server confirms receipt. Specifically, the device generates an HTTPS request and sends it to the server along with metadata such as the user ID and food ID.

[0185] Step 5:

[0186] The server saves the received data

[0187] The server receives the expiration date information and image data from the terminal, verifies the data, and saves it in a central database. The saved expiration date information, image path, etc. are stored in the database as output. Specifically, the server checks the data format and whether the required information is present, and saves the information in the database.

[0188] Step 6:

[0189] The server sets the notification schedule

[0190] The server inputs the stored expiration date information and calculates and sets the notification timing. The configured notification schedule is obtained as output. Specifically, the server calculates a certain number of days (e.g., 7 days before) from the expiration date and sets the schedule to send notifications at that date and time.

[0191] Step 7:

[0192] A backend process periodically checks the database

[0193] The server's backend process runs every night at midnight and checks the central database. As input, it uses the current date and stored expiration date information. As output, it gets a list of expiration date records that require notification. Specifically, the backend process scans the expiration date information in the database and picks out records that require notification.

[0194] Step 8:

[0195] The server generates and sends the push notification

[0196] The server takes the expiration date records picked up by the backend process as input and generates push notifications to the corresponding user's device. As output, the generated push notifications are sent to each user's device. Specifically, the server creates a notification message and sends it to the user's device ID.

[0197] Step 9:

[0198] The device receives the push notification and displays it to the user.

[0199] The device receives the push notification from the server as input and displays the notification to the user. As output, the user is made aware that the expiration date is approaching. Specifically, the device displays a message such as "This preserved food is nearing its expiration date" using a notification bar or pop-up.

[0200] (Application example 1)

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

[0202] Manually managing expiration dates for preserved foods is time-consuming and prone to human error. Furthermore, efficiently managing large quantities of products in a store is difficult, and expired products may remain on the shelves. These problems result in increased disposal costs and reduced customer satisfaction. The present invention aims to solve these problems by providing a system for efficiently managing expiration dates for preserved foods and responding quickly.

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

[0204] In this invention, the server includes means for taking an image of the preserved food, means for recognizing the expiration date from the captured image, means for saving the recognized expiration date information, means for notifying the store staff based on the recognized expiration date information on a set date, means for store staff to efficiently manage the expiration dates of the products, optical character recognition means for automatically extracting the expiration date from the image, means for store staff to confirm the extracted expiration date information, means for transmitting data to a central computer for managing the expiration dates of the products, and means for communicating with a mobile terminal for transmitting notifications. This makes it possible to efficiently manage the expiration dates of preserved foods and quickly respond to products whose expiration dates are approaching.

[0205] "Preserved foods" are foods that can be stored for a long period of time and have a set expiration date.

[0206] "Means for taking an image" refers to a method or device for a device with a camera function to acquire an image.

[0207] The "means for recognizing expiration dates" refers to a method or device for extracting expiration date information from an image and recognizing its contents.

[0208] The "means for storing expiration date information" refers to a method or device for recording the extracted expiration date information in a storage device.

[0209] The "notification means" refers to a method or device for notifying the user on a set date based on expiration date information.

[0210] "Store staff management means" refers to methods and devices that enable store employees to efficiently manage product expiration dates.

[0211] "Optical character recognition means" is a technology for automatically reading character information from an image.

[0212] The "means for allowing confirmation" refers to a method or device for presenting the extracted information to the user and allowing the user to confirm its accuracy.

[0213] "Means for transmitting to a central computer" refers to a method or device for transferring data to a central computer system.

[0214] A "communication means" is a method or device for exchanging data between different devices.

[0215] A "mobile terminal" is a portable computing device, including, for example, a smartphone or tablet.

[0216] This invention is a system for efficiently managing the expiration dates of preserved foods and responding promptly. This system is mainly composed of a terminal, a server, and related software components.

[0217] System Overview

[0218] 1. Device features:

[0219] Image capture: The user (store staff) uses a device (such as a smartphone) to take a picture of the preserved food.

[0220] Best-before date recognition: The device analyzes the captured image and extracts the best-before date using optical character recognition (OCR) technology, such as software like Tesseract OCR.

[0221] Data confirmation and storage: The user confirms the extracted expiration date information and corrects it if necessary. The confirmed data is sent from the terminal to the server.

[0222] 2. Server Functions:

[0223] Data management: The server stores the submitted expiration date information and image data in a central database. This data includes the food ID, user ID, image path, expiration date, registration date, etc.

[0224] Notification setting: The server sets the notification timing based on the expiration date. For example, set it to notify 7 days before the expiration date.

[0225] Notification sending: The server periodically checks the database through a backend process and generates and sends push notifications to the device about products that are about to expire.

[0226] Specific examples

[0227] Example: Canned food with a best-by date of December 15, 2023

[0228] 1. The user (store staff) launches the app and takes a photo of the canned food.

[0229] 2. The device uses Tesseract OCR to recognize the date as "December 15, 2023" from the captured image and displays the information to the user for confirmation.

[0230] 3. Once the user confirms, the expiration date information and image data are sent to the server.

[0231] 4. The server saves this data in a database and sets the notification timing (for example, notify on December 8th).

[0232] 5. On December 8th, the server checks the expiration date through a backend process and sends a push notification to the user's device.

[0233] 6. The device receives the push notification and displays a message to the user saying, "This canned food's expiration date is approaching."

[0234] Hardware and software used

[0235] Hardware: Smartphones, servers, mobile devices

[0236] Software: Tesseract OCR, Django framework, Firebase Cloud Messaging (FCM) or Apple Push Notification service (APNs)

[0237] Example prompt for a generative AI model:

[0238] Design a smartphone application that takes a photo of a can of food, extracts the expiration date, and sends a notification 7 days before the expiration date. Use Tesseract as the OCR library and Firebase Cloud Messaging for the notification.

[0239] This allows for efficient management of expiration dates for preserved foods and makes it possible to respond quickly to products approaching their expiration date.

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

[0241] Step 1:

[0242] The user launches the application on their device and takes a picture of the preserved food. The actual preserved food is used as input, and the captured image data is generated as output. Specifically, the image is captured using the smartphone's camera function and temporarily saved in local storage.

[0243] Step 2:

[0244] The device analyzes the captured image and extracts the expiration date. The input here is the captured image data, and the output is the extracted expiration date information. Specifically, Tesseract OCR is used to read text information from the image, and the expiration date part is extracted using regular expressions, etc.

[0245] Step 3:

[0246] The terminal displays the extracted expiration date information to the user and asks for confirmation. The input is the extracted expiration date information, and the output is the expiration date information confirmed by the user. Specifically, a screen displaying the expiration date is presented to the user, and the user confirms the information and corrects it if necessary.

[0247] Step 4:

[0248] The expiration date information and image data confirmed by the user are sent from the terminal to the server. The input is the confirmed expiration date information and image data, and the output is the data sent to the server. Specifically, this data is sent to the server using an HTTP request.

[0249] Step 5:

[0250] The server validates the received data and stores it in a central database. The input here is the submitted expiration date information and image data, and the output is the data recorded in the database. Specifically, the Django framework is used to store the data in the appropriate fields in the database.

[0251] Step 6:

[0252] The server sets the notification timing based on the saved data. The input is the expiration date information, and the output is the notification timing setting. Specifically, it calculates the notification timing to be 7 days before the expiration date and records this information in the database.

[0253] Step 7:

[0254] The server periodically checks the database through a backend process to pick out products that are approaching their expiration date. The input is all the data in the database, and the output is a list of products for which notifications are required. Specifically, a batch process is run every night to search for products with expiration dates within the next seven days.

[0255] Step 8:

[0256] The server generates a push notification for the relevant product and sends it to the device. The input is the product data for the notification, and the output is the push notification to the device. Specifically, notifications are sent using Firebase Cloud Messaging (FCM) or Apple Push Notification service (APNs).

[0257] Step 9:

[0258] The device displays the received push notification to the user. The input is the push notification from the server, and the output is the notification displayed to the user. Specifically, using the smartphone's notification function, a message such as "This canned food's expiration date is approaching" is displayed to the user.

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

[0260] This invention is an advanced system that efficiently manages expiration dates for preserved foods and adjusts notification content and timing by recognizing the user's emotions. This system is composed of a terminal application, a server, and an emotion engine.

[0261] System Overview

[0262] This system allows users to take pictures of preserved foods, extract and save expiration date information from the images, and automatically send notifications on the set date.It also incorporates an emotion engine that recognizes the user's emotions, and has the function of adjusting the content and timing of notifications according to the user's emotional state.

[0263] Configuring the Terminal Application

[0264] User launches the app and takes a photo:

[0265] The user launches the app and takes a photo of the preserved food, which is then temporarily saved to the device's local storage.

[0266] Extracting expiration dates from images:

[0267] The device analyzes the stored image and uses an OCR library to recognize the expiration date. For example, a best-by date of "December 15, 2023" is extracted. This information can be confirmed by the user and corrected if necessary.

[0268] Data transmission and storage:

[0269] After the expiration date information is confirmed, the device sends this information and image data to the server, which verifies the received data and stores it in a central database. At this time, the notification schedule is also set on the server side.

[0270] Server Configuration

[0271] Data Management:

[0272] The server stores the expiration date information and image data sent from the terminal in a central database and manages the necessary fields (food ID, user ID, image path, expiration date, registration date and time, etc.) It also calculates the notification timing and sets it to notify, for example, seven days before the expiration date.

[0273] Back-end process checks expiry date:

[0274] The server has a backend process that runs periodically, for example, every night at midnight, to check the database and find any records with expiration dates that require notification.

[0275] Emotion engine integration:

[0276] The server incorporates an emotion engine that analyzes and stores the user's emotional data. The emotion engine analyzes facial expressions and voice data when the user uses the app to grasp the user's emotional state in real time.

[0277] Sending and Coordinating Notifications:

[0278] The server adjusts the content and timing of notifications based on the user's emotional state. For example, if the user is feeling stressed, the server can delay or soften the notification. If the user is happy, the server can also speed up the notification.

[0279] Specific examples

[0280] Example: Canned food with a best-by date of December 15, 2023

[0281] 1. Shooting and Recognition:

[0282] The user launches the app and takes a photo of a can of preserved food. The device extracts the expiration date (December 15, 2023) from the image and prompts the user to confirm it.

[0283] 2. Data transmission and storage:

[0284] The user checks the expiration date information and presses the send button. The device sends the expiration date information and image data to the server. The server saves the data in a database and sets a notification schedule (for example, to notify on December 8th).

[0285] 3. Emotion recognition and notification adjustment:

[0286] The emotion engine analyzes the user's emotions while they are using the app. For example, if the server detects that the user is feeling stressed on December 8th, it will delay the timing of notifications or make them lighter. Conversely, if the user is feeling happy, it will send notifications immediately.

[0287] 4. Notification Processing:

[0288] The server's backend process finds the date December 8th and searches for the relevant record. Based on the emotion engine data, a tailored notification is generated and sent to the device. The device receives the notification and displays to the user, "This canned food is nearing its expiration date." The user opens the notification and launches the app to view more information.

[0289] In this way, the system reduces the effort required to manage preserved foods and provides notifications tailored to the user's emotional state, creating a more comfortable user experience.

[0290] The processing flow will be explained below.

[0291] Program processing flow (system combining emotion engines)

[0292] 1. Terminal application processing

[0293] 1.1 Taking photos:

[0294] Step 1:

[0295] The user launches the app and presses the "Take Photo" button.

[0296] The device will launch the camera and switch to preview mode.

[0297] Step 2:

[0298] The user takes a photo of the preserved food and presses the capture button.

[0299] The device acquires the photos it has taken and temporarily stores them in local storage.

[0300] 1.2 Extract expiration date from image:

[0301] Step 3:

[0302] The device analyzes images stored in local storage using an OCR library.

[0303] The device extracts text data from the image and searches for date information corresponding to the expiration date.

[0304] Step 4:

[0305] The terminal displays the extracted expiration date information on a confirmation screen and asks the user for confirmation.

[0306] 1.3 Data verification and transmission:

[0307] Step 5:

[0308] The user checks the displayed expiration date information and corrects it if necessary.

[0309] The user presses the "Save" button to confirm the expiration date information.

[0310] Step 6:

[0311] The device sends the confirmed expiration date information and image data in JSON format to the server.

[0312] 2. Server Processing

[0313] 2.1 Data Receipt and Storage:

[0314] Step 7:

[0315] The server receives the JSON data sent from the device.

[0316] The server validates the structure of the received data and ensures that all required fields (image data, expiration date, etc.) are present.

[0317] Step 8:

[0318] The server stores the data in a central database.

[0319] Record fields such as food ID, user ID, image path, expiration date, and registration date and time in the database.

[0320] 2.2 Setting up notification schedule:

[0321] Step 9:

[0322] The server calculates a notification schedule for the stored data.

[0323] The server calculates the date 7 days before the expiration date and saves it in the notification table.

[0324] 3. Emotion Engine Processing

[0325] 3.1 Analysis of user emotion data:

[0326] Step 10:

[0327] When a user operates the app, the device uses the camera and microphone to collect the user's facial expressions and voice.

[0328] The device sends the collected data to the emotion engine.

[0329] Step 11:

[0330] The emotion engine analyzes the user's facial and voice data to identify their emotional state (e.g., stress, joy, depression, etc.).

[0331] The emotion engine sends the analysis results to the server.

[0332] 3.2 Storage and Use of Emotional Data:

[0333] Step 12:

[0334] The server stores the emotion data received from the emotion engine in a database.

[0335] The server adjusts the timing and content of notifications based on the user's emotional state.

[0336] 4. Backend processing

[0337] 4.1 Notification preparation:

[0338] Step 13:

[0339] A backend process on the server runs every night at midnight and checks the notification table.

[0340] The server searches for a record whose current date matches the notification date.

[0341] 4.2 Notification Delivery:

[0342] Step 14:

[0343] The server creates a list of foods that require notifications and obtains the relevant user ID and device information.

[0344] The server references the user's emotional data and adjusts the content and timing of the notification.

[0345] Step 15:

[0346] The server generates the tailored notification and sends the push notification to the device.

[0347] Step 16:

[0348] The device receives the push notification from the server and displays the notification to the user.

[0349] The user opens the notification and launches the app to see more information.

[0350] Specific examples

[0351] Example: Canned food with a best-by date of December 15, 2023

[0352] 1. Shooting and Recognition:

[0353] Step 1:

[0354] The user launches the app and takes a photo of a preserved food item (canned food).

[0355] The device saves the captured image in local storage.

[0356] Step 2:

[0357] The device extracts the text "December 15, 2023" from the image.

[0358] The terminal prompts the user to check the expiration date information.

[0359] 2. Data transmission and storage:

[0360] Step 3:

[0361] The user confirms the information and clicks the save button.

[0362] The terminal transmits the expiration date information to the server.

[0363] Step 4:

[0364] The server stores the data in a database and sets up the notification schedule.

[0365] 3. Emotion recognition and notification adjustment:

[0366] Step 5:

[0367] The user operates the app, and the device collects the user's facial expressions and voice data.

[0368] The device sends data to the emotion engine.

[0369] Step 6:

[0370] The emotion engine analyzes the user's emotional state and sends the results to the server.

[0371] The server stores the emotion data and configures the notification settings.

[0372] 4. Notification Processing:

[0373] Step 7:

[0374] On December 8th (the notification setting date), the server's backend process runs and searches for the notification record.

[0375] Step 8:

[0376] Based on the data from the emotion engine, tailored notifications are generated and sent to the device.

[0377] Step 9:

[0378] The device receives the notification and displays to the user, "This canned food is nearing its expiration date."

[0379] The user opens the notification and launches the app to see more information.

[0380] In this way, the system utilizes an emotion engine to provide notifications according to the user's state, thereby achieving a better user experience.

[0381] Example 2

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

[0383] Although there are many systems that efficiently manage expiration dates for preserved foods, these systems do not take into account the user's current emotional state, and notifications can be stressful for the user. In addition, extracting and managing expiration date information can be time-consuming, which increases the burden on the user.

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

[0385] In this invention, the server includes a means for taking an image of the preserved food, a means for recognizing the expiration date from the taken image, a means for saving the recognized expiration date information, and a means for adjusting the content and timing of the notification based on the emotion recognition means, thereby enabling the content and timing of the notification to be flexibly adjusted according to the user's emotional state, thereby improving the user experience.

[0386] "Preserved foods" refers to foods that have a long shelf life and can be stored, including canned and dried foods.

[0387] "Means for taking an image" refers to the process of acquiring an image using a device or application with a camera function.

[0388] "Means for recognizing expiration dates" refers to technology or software for extracting text information from captured images and identifying expiration dates.

[0389] "Means for storing recognized expiration date information" refers to a system or process for storing the extracted expiration date data in a storage device or database.

[0390] "Means for notifying based on expiration date information recognized on a set date" refers to a function that sends a notification to the user when a pre-set date is reached based on stored expiration date data.

[0391] "Emotion recognition means" refers to algorithms or technologies used to analyze a user's emotions, such as systems that perform facial expression recognition or voice analysis.

[0392] "Means for adjusting the content and timing of notifications" refers to a function for changing the text of notifications and the timing of sending notifications based on the analysis results of the emotion recognition means.

[0393] "User experience" refers to the overall satisfaction and convenience that a user feels when using a system.

[0394] This invention is an advanced system that efficiently manages expiration dates for preserved foods and adjusts notification content and timing by recognizing the user's emotions. The system is composed of a terminal application, a server, and an emotion engine.

[0395] System Overview

[0396] This system allows users to take pictures of preserved foods, extract and save expiration date information from the images, and automatically send notifications on the set date.It also incorporates an emotion engine that recognizes the user's emotions, and has the function of adjusting the content and timing of notifications according to the user's emotional state.

[0397] Configuring the Terminal Application

[0398] The user launches the app and takes a photo

[0399] The user launches the app and takes a photo of the preserved food. The device temporarily saves the photo in local storage.

[0400] Extract expiration dates from images

[0401] The device analyzes the stored image and uses an OCR library (e.g., Tesseract OCR) to recognize the expiration date. For example, a best-by date of "December 15, 2023" is extracted. This information can be confirmed by the user and corrected if necessary.

[0402] Data transmission and storage

[0403] After the expiration date information is confirmed, the device sends this information and image data to the server, which verifies the received data and stores it in a central database. At this time, the notification schedule is also set on the server side.

[0404] Server Configuration

[0405] Manage data

[0406] The server stores the expiration date information and image data sent from the terminal in a central database and manages the necessary fields (food ID, user ID, image path, expiration date, registration date and time, etc.) It also calculates the notification timing and sets it to notify, for example, seven days before the expiration date.

[0407] Back-end process checks expiration dates

[0408] The server has a backend process that runs periodically, for example, every night at midnight, to check the database and find any records with expiration dates that require notification.

[0409] Emotion engine integration

[0410] The server incorporates an emotion engine that analyzes and stores the user's emotional data. The emotion engine analyzes facial expressions and voice data when the user uses the app to grasp the user's emotional state in real time.

[0411] Sending and Coordinating Notifications

[0412] The server adjusts the content and timing of notifications based on the user's emotional state. For example, if the user is feeling stressed, the server can delay or soften the notification. If the user is happy, the server can also speed up the notification.

[0413] Specific examples

[0414] Example: Canned food with a best-by date of December 15, 2023

[0415] 1. Shooting and Recognition

[0416] The user launches the app and takes a photo of a can of preserved food. The device extracts the expiration date (December 15, 2023) from the image and prompts the user to confirm it.

[0417] 2. Data transmission and storage

[0418] The user checks the expiration date information and presses the send button. The device sends the expiration date information and image data to the server. The server saves the data in a database and sets a notification schedule (e.g., notification on December 8th).

[0419] 3. Emotion recognition and notification adjustment

[0420] The emotion engine analyzes the user's emotions while they use the app. For example, if the server detects that the user is feeling stressed on December 8th, it will delay the timing of notifications or make them lighter. Conversely, if the user is feeling happy, it will send notifications immediately.

[0421] 4. Notification Processing

[0422] The server's backend process finds the date December 8th and searches for the relevant record. Based on the emotion engine data, a tailored notification is generated and sent to the device. The device receives the notification and displays to the user, "This canned food is nearing its expiration date." The user opens the notification and launches the app to view more information.

[0423] Examples of prompt statements

[0424] Here are some example prompts to input to a generative AI model:

[0425] Describe the specific steps of a system that efficiently manages expiration dates for preserved foods and adjusts the content and timing of notifications based on the user's emotions. Please provide a detailed description of each process, including taking a photo, extracting the expiration date, analyzing the emotion data, and adjusting the notification.

[0426] As described above, this system reduces the effort required to manage preserved foods and provides notifications that correspond to the user's emotional state, thereby providing a more comfortable user experience.

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

[0428] Specific processing steps of this system program

[0429] Step 1:

[0430] Taking photos

[0431] The user launches the app and takes a photo of the preserved food.

[0432] The device temporarily stores the captured photos in local storage.

[0433] Input: User-launched apps, photos of preserved foods

[0434] Output: Photo data saved in local storage

[0435] Specific behavior: The moment the user presses the shutter button, the device's camera takes a photo and saves it as a file in the internal storage.

[0436] Step 2:

[0437] Best before date extraction

[0438] The device uses an OCR library (e.g., Tesseract OCR) to analyze the captured image.

[0439] Input: Photo data stored in local storage

[0440] Output: Extracted expiration date information (e.g. "December 15, 2023")

[0441] What happens: The device calls the OCR software, processes the stored photo data as OCR input, extracts expiration date information from the parsed text data, and displays it to the user.

[0442] Step 3:

[0443] Check and correct expiration date information

[0444] The extracted expiration date information is displayed to the user so that the user can check and correct it.

[0445] Input: Extracted expiration date information

[0446] Output: Confirmed or corrected expiration date information

[0447] Specific behavior: The screen displays "The extracted expiration date is December 15, 2023. Is this correct?" and provides "Confirm" or "Modify" buttons. If the user presses the "Modify" button, a correction input field will appear.

[0448] Step 4:

[0449] Sending data

[0450] The terminal transmits the confirmed expiration date information and image data to the server.

[0451] Input: Confirmed or corrected expiration date information, saved photo data

[0452] Output: Data sent to the server

[0453] Specific operation: The device uses Wi-Fi or a mobile data network to send the confirmed expiration date information and image data as a POST request to the server's API endpoint.

[0454] Step 5:

[0455] Data storage and notification settings

[0456] The server validates the received data and stores it in a central database.

[0457] Input: Data sent to the server (expiration date information, image data)

[0458] Output: Records stored in a central database (e.g. food ID, user ID, image path, expiration date, registration date)

[0459] Specific operations: The server analyzes the received data, saves it as a new record in the database, calculates the notification schedule (e.g., sets it to notify 7 days before the expiration date), and sets the notification.

[0460] Step 6:

[0461] Emotional Data Analysis

[0462] The server uses an emotion engine to analyze the user's emotion data.

[0463] Input: User's facial expression data, voice data

[0464] Output: Parsed emotional state (e.g., stress, joy)

[0465] Specific operation: The server calls the emotion engine, receives the user's facial expression and voice data as input, analyzes the emotional state, and stores the results in a database.

[0466] Step 7:

[0467] Sending and Coordinating Notifications

[0468] The server adjusts the content and timing of notifications based on the user's emotional state.

[0469] Input: Emotional state, notification schedule

[0470] Output: Throttled notification

[0471] Specific operation: The server checks the user's emotional data and adjusts the timing and content of notifications as needed. For example, if the user is feeling stressed, the server may delay notifications or soften their content.

[0472] Step 8:

[0473] Receiving and Viewing Notifications

[0474] The terminal receives the tailored notification from the server and displays it to the user.

[0475] Input: Adjusted notification

[0476] Output: The notification that is displayed to the user

[0477] What happens: The device receives the notification from the server and displays it to the user as a push notification. When the user clicks on the notification, the app launches and displays more information.

[0478] Through the above processing steps, the system can efficiently manage the expiration date of preserved foods and provide notifications according to the user's emotional state.

[0479] (Application example 2)

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

[0481] Managing expiration dates for non-perishable foods is a time-consuming task for users, and they often forget to do so. Furthermore, the lack of flexible notifications based on the user's emotional state can increase stress. Furthermore, food delivery services often lack adequate support for users to efficiently manage non-perishable foods. To solve these problems, a system that integrates expiration date management and notification adjustment based on the user's emotional state is needed.

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

[0483] In this invention, the server includes a means for capturing images of preserved foods, a means for recognizing expiration dates from the captured images, a means for saving the recognized expiration date information, a means for notifying the user based on the recognized expiration date information on a set date, a means for acquiring and analyzing emotional data, and a means for adjusting the content and timing of notifications based on the acquired emotional data. This enables efficient expiration date management of preserved foods and flexible notifications according to the user's emotional state. It also improves user convenience and satisfaction in food delivery services.

[0484] "Means for taking images of preserved foods" refers to a camera or photographing device for taking images of preserved foods, and is a device that can save the images as digital data.

[0485] "Means for recognizing expiration dates from photographed images" refers to technology that analyzes photographed images and extracts text information related to expiration dates from them, such as a system that uses OCR (optical character recognition) technology to recognize expiration dates.

[0486] A "means for storing recognized expiration date information" is a device or software for storing the extracted expiration date data in a local or remote database.

[0487] "Means for notifying based on expiration date information recognized on a set date" refers to a function or mechanism for sending notifications to users based on stored expiration date data, including, for example, push notifications to mobile devices.

[0488] "Means for acquiring and analyzing emotional data" refers to technology for acquiring and analyzing emotional information from a user's facial expressions, voice, etc. in real time, and includes, for example, a camera, microphone, and emotion recognition software.

[0489] "Means for adjusting the content and timing of notifications based on the acquired emotional data" refers to a function that uses analyzed emotional data to notify users with appropriate content at the appropriate time.

[0490] This invention is a system that manages expiration dates of preserved foods and provides notifications based on the user's emotions. This system is realized using a smartphone application, a server, and an emotion engine.

[0491] System configuration

[0492] Smartphone application

[0493] 1. Photographing preserved foods

[0494] The user launches the smartphone application and takes a picture of the preserved food. The image is captured using the camera module and saved in local storage.

[0495] 2. Extraction of expiration date information

[0496] The application analyzes the captured image using OCR (Optical Character Recognition) technology to extract expiration date information, which is then displayed to the user for confirmation. The user can then modify this information as needed.

[0497] 3. Data transmission

[0498] The confirmed expiration date information and image data are sent to the server. The application encodes this data and sends it to the server using a secure communication protocol (e.g., HTTPS).

[0499] server

[0500] 1. Data storage

[0501] The server stores the received expiration date information and image data in a database. A database system (e.g., Firebase) is used for efficient data management and access.

[0502] 2. Backend Processes

[0503] The server runs a backend process based on a set schedule to periodically check the stored expiration date information. For example, if a notification is required one week before the expiration date, the server identifies the relevant record and prepares the notification.

[0504] 3. Emotion recognition and notification adjustment

[0505] The server is integrated with an emotion engine (e.g., a TensorFlow-based model) that analyzes the user's voice and facial expression data to recognize their emotional state in real time. Based on this, the content and timing of notifications are adjusted. If the user is feeling stressed, the timing of notifications may be delayed or the content may be softened.

[0506] 4. Sending notifications

[0507] The notification is sent via a push notification from the server to the smartphone application. The notification is sent to the user's device using the Firebase Messaging service. The notification includes a message informing them of the approaching expiration date and, if necessary, a sentiment-based comment.

[0508] Specific examples

[0509] Example of input prompt:

[0510] User ID: user_123

[0511] Image path: path_to_image.jpg

[0512] Hardware and software used

[0513] Hardware:

[0514] Smartphone (camera, microphone, display)

[0515] software:

[0516] Camera module (image acquisition)

[0517] OCR library (Tesseract, etc.)

[0518] Emotion recognition software (TensorFlow, etc.)

[0519] Database system (Firebase, etc.)

[0520] Communication protocol (HTTPS)

[0521] Push notification service (Firebase Messaging)

[0522] By using this system, users can not only efficiently manage the expiration dates of their preserved foods, but also receive flexible notifications according to their emotional state, thereby improving user convenience and satisfaction in food delivery services.

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

[0524] Step 1:

[0525] A user launches a smartphone application and takes a picture of a preserved food. The input is image data acquired through the camera, which is then saved in local storage. The specific action is to launch the camera application and press the shutter button.

[0526] Step 2:

[0527] The device extracts expiration date information from the captured image using OCR (Optical Character Recognition) technology. The input is the stored image data, and the output is the extracted expiration date information. Specifically, it uses an OCR library (such as Tesseract) to analyze the text in the image and identify the expiration date.

[0528] Step 3:

[0529] The extracted expiration date information is displayed to the user, who then confirms the information. The input is the expiration date data extracted by OCR, and the output is the expiration date data after user confirmation. Specific operations include the expiration date being displayed on a confirmation screen in the application, and the user pressing the confirm button.

[0530] Step 4:

[0531] The terminal sends the confirmed expiration date information and image data to the server. The input is the expiration date information confirmed by the user and the original image data, and the output is the transmission of data to the server. Specifically, the terminal uses the HTTPS protocol to perform communication processing to securely send data to the server.

[0532] Step 5:

[0533] The server stores the received expiration date information and image data in a database. The input is the sent expiration date information and image data, and the output is the result of saving to the database. Specifically, the server performs a process to add the data to a database service such as Firebase.

[0534] Step 6:

[0535] The server executes backend processing based on a set schedule and periodically checks the stored expiration date information. The input is the expiration date information in the database, and the output is a flag indicating the need for notification. Specifically, the scheduled task is executed and the corresponding record is searched for.

[0536] Step 7:

[0537] The server acquires and analyzes the user's emotional data. The input is the user's voice and facial expression data, and the output is analyzed emotional state data. Specifically, emotion recognition software (e.g., TensorFlow model) analyzes the voice and image data to identify the user's emotional state.

[0538] Step 8:

[0539] The server adjusts the content and timing of notifications based on the acquired emotional data. The input is the analyzed emotional state data, and the output is the adjusted notification content and timing. Specific operations include generating notification text and changing the schedule according to the emotional state.

[0540] Step 9:

[0541] The server sends the notification content to the smartphone application and notifies the user. The input is the adjusted notification data, and the output is the notification sent to the user's smartphone. Specifically, it uses the Firebase Messaging service to send the push notification.

[0542] Step 10:

[0543] The user receives a notification and checks the expiration date information of a preserved food. The input is the notification received on the smartphone, and the output is the user's action (e.g., launching an application). Specific actions include tapping the notification banner to open the application and check the detailed information.

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

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

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

[0547] [Second embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0560] The present invention is a system for efficiently managing the expiration dates of preserved foods, and is configured as follows.

[0561] System Overview

[0562] This system allows users to take pictures of preserved food, extract and save expiration date information from the images, and automatically notify users on the set expiration date.The system is mainly divided into a terminal application, a server, and a back-end process.

[0563] Configuring the Terminal Application

[0564] User launches the app and takes a photo:

[0565] First, the user launches the application on their device. The application has a built-in camera function, allowing the user to take photos of the preserved food. The device then temporarily stores the photos in its local storage.

[0566] Extracting expiration dates from images:

[0567] The device analyzes the captured image and uses an OCR library to automatically recognize expiration dates. For example, a best-by date of "December 15, 2023" is extracted from the photo. This information is then confirmed by the user, who can then modify it if necessary.

[0568] Data transmission and storage:

[0569] After the expiration date information is confirmed, the device sends this information and image data to the server, which verifies the received data and stores it in a central database. At this time, the notification schedule is also set on the server side.

[0570] Server Configuration

[0571] Data Management:

[0572] The server stores the expiration date information and image data sent from the terminal in a central database and manages the necessary fields (food ID, user ID, image path, expiration date, registration date and time, etc.) It also calculates the notification timing and sets it to notify, for example, seven days before the expiration date.

[0573] Back-end process checks expiry date:

[0574] The server has a backend process that runs periodically, for example, every night at midnight, to check the database and find any records with expiration dates that require notification.

[0575] Send notifications:

[0576] When the server finds a suitable food item, it adds it to the device list and generates a push notification to send to the device, which then notifies the user that the expiration date is approaching.

[0577] Specific examples

[0578] Example: Canned food with a best-by date of December 15, 2023

[0579] 1. The user launches the app and takes a photo of a preserved food (canned food).

[0580] 2. The device recognizes the date as "December 15, 2023" from the captured image and displays that information to the user for confirmation.

[0581] 3. Once the user confirms, the expiration date information and image data are sent to the server.

[0582] 4. The server saves this data in a database and sets the notification timing (for example, notify on December 8th).

[0583] 5. On December 8th, the server checks the expiration date through a backend process and sends a push notification to the user's device.

[0584] 6. The device receives the push notification and displays a message to the user saying, "This canned food's expiration date is approaching."

[0585] In this way, users can efficiently manage the expiration dates of preserved foods without any hassle and receive appropriate notifications on the set deadlines.

[0586] The processing flow will be explained below.

[0587] Program processing flow

[0588] 1. Terminal application processing

[0589] 1.1 Taking photos:

[0590] Step 1:

[0591] The user launches the app and presses the "Take Photo" button.

[0592] The device will launch the camera and switch to preview mode.

[0593] Step 2:

[0594] The user takes a photo of the preserved food and presses the capture button.

[0595] The device acquires the photos it has taken and temporarily stores them in local storage.

[0596] 1.2 Extract expiration date from image:

[0597] Step 3:

[0598] The device analyzes images stored in local storage using an OCR library.

[0599] The device extracts text data from the image and searches for date information corresponding to the expiration date.

[0600] Step 4:

[0601] The terminal displays the extracted expiration date information on a confirmation screen and asks the user for confirmation.

[0602] 1.3 Data verification and transmission:

[0603] Step 5:

[0604] The user checks the displayed expiration date information and corrects it if necessary.

[0605] The user presses the "Save" button to confirm the expiration date information.

[0606] Step 6:

[0607] The device sends the confirmed expiration date information and image data in JSON format to the server.

[0608] 2. Server Processing

[0609] 2.1 Data Receipt and Storage:

[0610] Step 7:

[0611] The server receives the JSON data sent from the device.

[0612] The server validates the structure of the received data and ensures that all required fields (image data, expiration date, etc.) are present.

[0613] Step 8:

[0614] The server stores the data in a central database.

[0615] Record fields such as food ID, user ID, image path, expiration date, and registration date and time in the database.

[0616] 2.2 Setting up notification schedule:

[0617] Step 9:

[0618] The server calculates a notification schedule for the stored data.

[0619] The server calculates the date 7 days before the expiration date and saves it in the notification table.

[0620] 3. Backend processing

[0621] 3.1 Notification preparation:

[0622] Step 10:

[0623] A backend process on the server runs every night at midnight and checks the notification table.

[0624] The server searches for a record whose current date matches the notification date.

[0625] 3.2 Notifications sent:

[0626] Step 11:

[0627] The server creates a list of foods that require notifications and obtains the relevant user ID and device information.

[0628] The server sends a push notification to the user's device.

[0629] Step 12:

[0630] The device receives the push notification from the server and displays the notification to the user.

[0631] The user opens the notification and launches the app to see more information.

[0632] Specific examples

[0633] Example: Canned food with a best-by date of December 15, 2023

[0634] 1. Photographing and expiration date recognition:

[0635] Step 1:

[0636] The user launches the app and takes a photo of the can.

[0637] The device saves the captured image in local storage.

[0638] Step 2:

[0639] The device extracts the text "December 15, 2023" from the image.

[0640] The terminal prompts the user to check the expiration date information.

[0641] 2. Data transmission and storage:

[0642] Step 3:

[0643] The user confirms the information and clicks the save button.

[0644] The terminal transmits the expiration date information to the server.

[0645] Step 4:

[0646] The server stores the data in a database and sets up the notification schedule.

[0647] 3. Notification Processing:

[0648] Step 5:

[0649] On December 8th (the notification setting date), the server's backend process runs and searches for the notification record.

[0650] The server sends a push notification to the user.

[0651] Step 6:

[0652] The device receives the notification and displays to the user, "This canned food is nearing its expiration date."

[0653] The user opens the notification and launches the app to see more information.

[0654] Example 1

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

[0656] Managing the expiration dates of preserved foods manually is a huge hassle, and there is a problem that expired foods are easily overlooked. Furthermore, it is difficult to centrally manage multiple preserved foods, which increases the burden on users to check and record expiration dates individually. For this reason, there is a demand for a system that can efficiently and accurately manage expiration dates of preserved foods and automatically notify them.

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

[0658] In this invention, the server includes a means for sending a notification on a set date based on the stored expiration date information, an optical character recognition means, and a means for storing the expiration date information, thereby enabling the expiration dates of preserved foods to be automatically managed and for users to be notified without missing the notification timing.

[0659] "Means for taking images of preserved food" refers to the ability of an end user to use the device to capture images of preserved food.

[0660] "Optical character recognition means" refers to technology for extracting text information from image data, and includes OCR (Optical Character Recognition) libraries and APIs.

[0661] "Means for displaying recognized expiration date information to the user and allowing the user to confirm and correct it" is a function that displays the extracted expiration date information on the user's terminal screen, allowing the user to confirm the information and correct it as necessary.

[0662] The "means for saving the confirmed and corrected expiration date information" is a function for saving the expiration date information confirmed and corrected by the user in the database.

[0663] "Means for sending notifications on a set date based on stored expiration date information" is a function that sends notifications to users at a pre-set date and time based on stored expiration date information.

[0664] "Optical character recognition means for automatically extracting expiration dates from photographed images of preserved foods" is a function that uses optical character recognition technology to automatically extract expiration date information from images of preserved foods photographed by a user.

[0665] The "display means for allowing the user to confirm the extracted expiration date information" is a function that displays the expiration date information extracted by OCR on the user's terminal so that the information can be confirmed.

[0666] The "means for saving and transmitting expiration date information after confirmation by the user" is a function for saving the expiration date information confirmed by the user and transmitting it to the server.

[0667] The "timing calculation means for the server to automatically set the timing of notification" is a function that the server automatically calculates and sets the optimal timing of notification based on expiration date information.

[0668] "Means for periodically checking expiration date information as a back-end process based on timing calculations" is a function that uses a back-end process that runs periodically on the server side to check the database to ensure that notifications based on expiration dates are sent appropriately.

[0669] The "push notification generating means for sending a notification to the terminal of the relevant user" is a function that automatically generates a push notification when the expiration date approaches and sends it to the terminal of the relevant user.

[0670] This invention is a system for efficiently managing the expiration dates of preserved foods, and its main components are a user, a terminal, and a server. This system takes pictures of preserved foods, extracts expiration date information, saves that information, and automatically notifies users on a set date, thereby streamlining the management of preserved foods.

[0671] Configuring the Terminal Application

[0672] The terminal application has a camera function that allows the user to take an image of the preserved food. The user launches the application and takes a photo of the preserved food. The captured image is temporarily stored in local storage.

[0673] The system uses an optical character recognition (OCR) library (e.g., Google Vision API) to automatically extract expiration date information from captured images. This extracted information is then displayed to the user, who can review and correct it if necessary. This process ensures the accuracy of the expiration date information.

[0674] Server and backend process configuration

[0675] Once the user confirms the expiration date information, the device sends the information and image to the server, which verifies the received data and stores it in a central database. The stored data includes fields such as food ID, user ID, image path, expiration date, and registration date and time.

[0676] The server also automatically schedules notifications based on the stored expiration date information, with the timing calculations based on a pre-defined number of days (e.g., 7 days in advance).

[0677] The server has a backend process that runs periodically. This process checks the database and picks out records that require notifications. This process typically runs late at night every day. When a matching record is found, the server generates a push notification and sends it to the user's device. The device then displays the received push notification to the user, informing them that the expiration date is approaching.

[0678] Specific examples

[0679] Example: Canned food with a best-by date of December 15, 2023

[0680] 1. The user launches the food storage management app and uses the camera function to take a photo of the canned food.

[0681] 2. The device temporarily stores the captured image of the can in local storage.

[0682] 3. The device uses the OCR library to automatically read the expiration date "December 15, 2023" from the image and displays that information to the user.

[0683] 4. The user checks the expiration date information displayed and presses the confirmation button.

[0684] 5. The terminal sends the confirmed expiration date information and image data to the server.

[0685] 6. The server receives the data and stores the expiration date information, food ID, user ID, image path, registration date and time, etc. in the database.

[0686] 7. The server schedules notifications based on the expiration date (e.g., notify 7 days before the expiration date).

[0687] 8. On December 8th, the server checks the expiration date through a backend process and sends a push notification to the user's device.

[0688] 9. The device receives the push notification and displays a message to the user saying, "This canned food's expiration date is approaching."

[0689] In this way, users can efficiently manage the expiration dates of preserved foods and receive timely notifications.

[0690] Prompt Sentence Examples

[0691] Please explain in detail the process of extracting expiration dates from images and sending notifications in a system that streamlines the expiration date management of preserved foods.

[0692] This system allows users to avoid the tedious task of manually checking expiration dates, making food management easier.

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

[0694] Step 1:

[0695] The user launches the app and takes a photo of the preserved food.

[0696] A user launches a preserved food management application on a device. As input, the camera function is activated so that the user can take a photo. As output, the captured image is temporarily stored in the device's local storage. Specifically, the user uses the camera app to take a picture of the preserved food, and the image data is temporarily stored in the local storage.

[0697] Step 2:

[0698] The device performs OCR on the image and extracts the expiration date information.

[0699] The device takes image data stored in local storage as input and uses an OCR library (e.g., Google Vision API) to extract expiration date information. The output is extracted text data (e.g., "December 15, 2023"). Specifically, the device sends the image data to the OCR library, which extracts and returns text information from the image.

[0700] Step 3:

[0701] The device displays the extracted expiration date information to the user and asks for confirmation.

[0702] The terminal takes the results of the OCR process as input and displays the expiration date information to the user. The user can then check the extracted information and correct it if necessary. The output is the confirmed (or corrected) expiration date information. Specifically, the terminal uses a pop-up or dialog box to display the expiration date information to the user, who can then check or correct it.

[0703] Step 4:

[0704] Send expiration date information to the server

[0705] The device takes the expiration date information and image data confirmed by the user as input and sends them to the server using the HTTPS protocol. As output, the data is sent to the server, and the server confirms receipt. Specifically, the device generates an HTTPS request and sends it to the server along with metadata such as the user ID and food ID.

[0706] Step 5:

[0707] The server saves the received data

[0708] The server receives the expiration date information and image data from the terminal, verifies the data, and saves it in a central database. The saved expiration date information, image path, etc. are stored in the database as output. Specifically, the server checks the data format and whether the required information is present, and saves the information in the database.

[0709] Step 6:

[0710] The server sets the notification schedule

[0711] The server inputs the stored expiration date information and calculates and sets the notification timing. The configured notification schedule is obtained as output. Specifically, the server calculates a certain number of days (e.g., 7 days before) from the expiration date and sets the schedule to send notifications at that date and time.

[0712] Step 7:

[0713] A backend process periodically checks the database

[0714] The server's backend process runs every night at midnight and checks the central database. As input, it uses the current date and stored expiration date information. As output, it gets a list of expiration date records that require notification. Specifically, the backend process scans the expiration date information in the database and picks out records that require notification.

[0715] Step 8:

[0716] The server generates and sends the push notification

[0717] The server takes the expiration date records picked up by the backend process as input and generates push notifications to the corresponding user's device. As output, the generated push notifications are sent to each user's device. Specifically, the server creates a notification message and sends it to the user's device ID.

[0718] Step 9:

[0719] The device receives the push notification and displays it to the user.

[0720] The device receives the push notification from the server as input and displays the notification to the user. As output, the user is made aware that the expiration date is approaching. Specifically, the device displays a message such as "This preserved food is nearing its expiration date" using a notification bar or pop-up.

[0721] (Application example 1)

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

[0723] Manually managing expiration dates for preserved foods is time-consuming and prone to human error. Furthermore, efficiently managing large quantities of products in a store is difficult, and expired products may remain on the shelves. These problems result in increased disposal costs and reduced customer satisfaction. The present invention aims to solve these problems by providing a system for efficiently managing expiration dates for preserved foods and responding quickly.

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

[0725] In this invention, the server includes means for taking an image of the preserved food, means for recognizing the expiration date from the captured image, means for saving the recognized expiration date information, means for notifying the store staff based on the recognized expiration date information on a set date, means for store staff to efficiently manage the expiration dates of the products, optical character recognition means for automatically extracting the expiration date from the image, means for store staff to confirm the extracted expiration date information, means for transmitting data to a central computer for managing the expiration dates of the products, and means for communicating with a mobile terminal for transmitting notifications. This makes it possible to efficiently manage the expiration dates of preserved foods and quickly respond to products whose expiration dates are approaching.

[0726] "Preserved foods" are foods that can be stored for a long period of time and have a set expiration date.

[0727] "Means for taking an image" refers to a method or device for a device with a camera function to acquire an image.

[0728] The "means for recognizing expiration dates" refers to a method or device for extracting expiration date information from an image and recognizing its contents.

[0729] The "means for storing expiration date information" refers to a method or device for recording the extracted expiration date information in a storage device.

[0730] The "notification means" refers to a method or device for notifying the user on a set date based on expiration date information.

[0731] "Store staff management means" refers to methods and devices that enable store employees to efficiently manage product expiration dates.

[0732] "Optical character recognition means" is a technology for automatically reading character information from an image.

[0733] The "means for allowing confirmation" refers to a method or device for presenting the extracted information to the user and allowing the user to confirm its accuracy.

[0734] "Means for transmitting to a central computer" refers to a method or device for transferring data to a central computer system.

[0735] A "communication means" is a method or device for exchanging data between different devices.

[0736] A "mobile terminal" is a portable computing device, including, for example, a smartphone or tablet.

[0737] This invention is a system for efficiently managing the expiration dates of preserved foods and responding promptly. This system is mainly composed of a terminal, a server, and related software components.

[0738] System Overview

[0739] 1. Device features:

[0740] Image capture: The user (store staff) uses a device (such as a smartphone) to take a picture of the preserved food.

[0741] Best-before date recognition: The device analyzes the captured image and extracts the best-before date using optical character recognition (OCR) technology, such as software like Tesseract OCR.

[0742] Data confirmation and storage: The user confirms the extracted expiration date information and corrects it if necessary. The confirmed data is sent from the terminal to the server.

[0743] 2. Server Functions:

[0744] Data management: The server stores the submitted expiration date information and image data in a central database. This data includes the food ID, user ID, image path, expiration date, registration date, etc.

[0745] Notification setting: The server sets the notification timing based on the expiration date. For example, set it to notify 7 days before the expiration date.

[0746] Notification sending: The server periodically checks the database through a backend process and generates and sends push notifications to the device about products that are about to expire.

[0747] Specific examples

[0748] Example: Canned food with a best-by date of December 15, 2023

[0749] 1. The user (store staff) launches the app and takes a photo of the canned food.

[0750] 2. The device uses Tesseract OCR to recognize the date as "December 15, 2023" from the captured image and displays the information to the user for confirmation.

[0751] 3. Once the user confirms, the expiration date information and image data are sent to the server.

[0752] 4. The server saves this data in a database and sets the notification timing (for example, notify on December 8th).

[0753] 5. On December 8th, the server checks the expiration date through a backend process and sends a push notification to the user's device.

[0754] 6. The device receives the push notification and displays a message to the user saying, "This canned food's expiration date is approaching."

[0755] Hardware and software used

[0756] Hardware: Smartphones, servers, mobile devices

[0757] Software: Tesseract OCR, Django framework, Firebase Cloud Messaging (FCM) or Apple Push Notification service (APNs)

[0758] Example prompt for a generative AI model:

[0759] Design a smartphone application that takes a photo of a can of food, extracts the expiration date, and sends a notification 7 days before the expiration date. Use Tesseract as the OCR library and Firebase Cloud Messaging for the notification.

[0760] This allows for efficient management of expiration dates for preserved foods and makes it possible to respond quickly to products approaching their expiration date.

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

[0762] Step 1:

[0763] The user launches the application on their device and takes a picture of the preserved food. The actual preserved food is used as input, and the captured image data is generated as output. Specifically, the image is captured using the smartphone's camera function and temporarily saved in local storage.

[0764] Step 2:

[0765] The device analyzes the captured image and extracts the expiration date. The input here is the captured image data, and the output is the extracted expiration date information. Specifically, Tesseract OCR is used to read text information from the image, and the expiration date part is extracted using regular expressions, etc.

[0766] Step 3:

[0767] The terminal displays the extracted expiration date information to the user and asks for confirmation. The input is the extracted expiration date information, and the output is the expiration date information confirmed by the user. Specifically, a screen displaying the expiration date is presented to the user, and the user confirms the information and corrects it if necessary.

[0768] Step 4:

[0769] The expiration date information and image data confirmed by the user are sent from the terminal to the server. The input is the confirmed expiration date information and image data, and the output is the data sent to the server. Specifically, this data is sent to the server using an HTTP request.

[0770] Step 5:

[0771] The server validates the received data and stores it in a central database. The input here is the submitted expiration date information and image data, and the output is the data recorded in the database. Specifically, the Django framework is used to store the data in the appropriate fields in the database.

[0772] Step 6:

[0773] The server sets the notification timing based on the saved data. The input is the expiration date information, and the output is the notification timing setting. Specifically, it calculates the notification timing to be 7 days before the expiration date and records this information in the database.

[0774] Step 7:

[0775] The server periodically checks the database through a backend process to pick out products that are approaching their expiration date. The input is all the data in the database, and the output is a list of products for which notifications are required. Specifically, a batch process is run every night to search for products with expiration dates within the next seven days.

[0776] Step 8:

[0777] The server generates a push notification for the relevant product and sends it to the device. The input is the product data for the notification, and the output is the push notification to the device. Specifically, notifications are sent using Firebase Cloud Messaging (FCM) or Apple Push Notification service (APNs).

[0778] Step 9:

[0779] The device displays the received push notification to the user. The input is the push notification from the server, and the output is the notification displayed to the user. Specifically, using the smartphone's notification function, a message such as "This canned food's expiration date is approaching" is displayed to the user.

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

[0781] This invention is an advanced system that efficiently manages expiration dates for preserved foods and adjusts notification content and timing by recognizing the user's emotions. This system is composed of a terminal application, a server, and an emotion engine.

[0782] System Overview

[0783] This system allows users to take pictures of preserved foods, extract and save expiration date information from the images, and automatically send notifications on the set date.It also incorporates an emotion engine that recognizes the user's emotions, and has the function of adjusting the content and timing of notifications according to the user's emotional state.

[0784] Configuring the Terminal Application

[0785] User launches the app and takes a photo:

[0786] The user launches the app and takes a photo of the preserved food, which is then temporarily saved to the device's local storage.

[0787] Extracting expiration dates from images:

[0788] The device analyzes the stored image and uses an OCR library to recognize the expiration date. For example, a best-by date of "December 15, 2023" is extracted. This information can be confirmed by the user and corrected if necessary.

[0789] Data transmission and storage:

[0790] After the expiration date information is confirmed, the device sends this information and image data to the server, which verifies the received data and stores it in a central database. At this time, the notification schedule is also set on the server side.

[0791] Server Configuration

[0792] Data Management:

[0793] The server stores the expiration date information and image data sent from the terminal in a central database and manages the necessary fields (food ID, user ID, image path, expiration date, registration date and time, etc.) It also calculates the notification timing and sets it to notify, for example, seven days before the expiration date.

[0794] Back-end process checks expiry date:

[0795] The server has a backend process that runs periodically, for example, every night at midnight, to check the database and find any records with expiration dates that require notification.

[0796] Emotion engine integration:

[0797] The server incorporates an emotion engine that analyzes and stores the user's emotional data. The emotion engine analyzes facial expressions and voice data when the user uses the app to grasp the user's emotional state in real time.

[0798] Sending and Coordinating Notifications:

[0799] The server adjusts the content and timing of notifications based on the user's emotional state. For example, if the user is feeling stressed, the server can delay or soften the notification. If the user is happy, the server can also speed up the notification.

[0800] Specific examples

[0801] Example: Canned food with a best-by date of December 15, 2023

[0802] 1. Shooting and Recognition:

[0803] The user launches the app and takes a photo of a can of preserved food. The device extracts the expiration date (December 15, 2023) from the image and prompts the user to confirm it.

[0804] 2. Data transmission and storage:

[0805] The user checks the expiration date information and presses the send button. The device sends the expiration date information and image data to the server. The server saves the data in a database and sets a notification schedule (for example, to notify on December 8th).

[0806] 3. Emotion recognition and notification adjustment:

[0807] The emotion engine analyzes the user's emotions while they are using the app. For example, if the server detects that the user is feeling stressed on December 8th, it will delay the timing of notifications or make them lighter. Conversely, if the user is feeling happy, it will send notifications immediately.

[0808] 4. Notification Processing:

[0809] The server's backend process finds the date December 8th and searches for the relevant record. Based on the emotion engine data, a tailored notification is generated and sent to the device. The device receives the notification and displays to the user, "This canned food is nearing its expiration date." The user opens the notification and launches the app to view more information.

[0810] In this way, the system reduces the effort required to manage preserved foods and provides notifications tailored to the user's emotional state, creating a more comfortable user experience.

[0811] The processing flow will be explained below.

[0812] Program processing flow (system combining emotion engines)

[0813] 1. Terminal application processing

[0814] 1.1 Taking photos:

[0815] Step 1:

[0816] The user launches the app and presses the "Take Photo" button.

[0817] The device will launch the camera and switch to preview mode.

[0818] Step 2:

[0819] The user takes a photo of the preserved food and presses the capture button.

[0820] The device acquires the photos it has taken and temporarily stores them in local storage.

[0821] 1.2 Extract expiration date from image:

[0822] Step 3:

[0823] The device analyzes images stored in local storage using an OCR library.

[0824] The device extracts text data from the image and searches for date information corresponding to the expiration date.

[0825] Step 4:

[0826] The terminal displays the extracted expiration date information on a confirmation screen and asks the user for confirmation.

[0827] 1.3 Data verification and transmission:

[0828] Step 5:

[0829] The user checks the displayed expiration date information and corrects it if necessary.

[0830] The user presses the "Save" button to confirm the expiration date information.

[0831] Step 6:

[0832] The device sends the confirmed expiration date information and image data in JSON format to the server.

[0833] 2. Server Processing

[0834] 2.1 Data Receipt and Storage:

[0835] Step 7:

[0836] The server receives the JSON data sent from the device.

[0837] The server validates the structure of the received data and ensures that all required fields (image data, expiration date, etc.) are present.

[0838] Step 8:

[0839] The server stores the data in a central database.

[0840] Record fields such as food ID, user ID, image path, expiration date, and registration date and time in the database.

[0841] 2.2 Setting up notification schedule:

[0842] Step 9:

[0843] The server calculates a notification schedule for the stored data.

[0844] The server calculates the date 7 days before the expiration date and saves it in the notification table.

[0845] 3. Emotion Engine Processing

[0846] 3.1 Analysis of user emotion data:

[0847] Step 10:

[0848] When a user operates the app, the device uses the camera and microphone to collect the user's facial expressions and voice.

[0849] The device sends the collected data to the emotion engine.

[0850] Step 11:

[0851] The emotion engine analyzes the user's facial and voice data to identify their emotional state (e.g., stress, joy, depression, etc.).

[0852] The emotion engine sends the analysis results to the server.

[0853] 3.2 Storage and Use of Emotional Data:

[0854] Step 12:

[0855] The server stores the emotion data received from the emotion engine in a database.

[0856] The server adjusts the timing and content of notifications based on the user's emotional state.

[0857] 4. Backend processing

[0858] 4.1 Notification preparation:

[0859] Step 13:

[0860] A backend process on the server runs every night at midnight and checks the notification table.

[0861] The server searches for a record whose current date matches the notification date.

[0862] 4.2 Notification Delivery:

[0863] Step 14:

[0864] The server creates a list of foods that require notifications and obtains the relevant user ID and device information.

[0865] The server references the user's emotional data and adjusts the content and timing of the notification.

[0866] Step 15:

[0867] The server generates the tailored notification and sends the push notification to the device.

[0868] Step 16:

[0869] The device receives the push notification from the server and displays the notification to the user.

[0870] The user opens the notification and launches the app to see more information.

[0871] Specific examples

[0872] Example: Canned food with a best-by date of December 15, 2023

[0873] 1. Shooting and Recognition:

[0874] Step 1:

[0875] The user launches the app and takes a photo of a preserved food item (canned food).

[0876] The device saves the captured image in local storage.

[0877] Step 2:

[0878] The device extracts the text "December 15, 2023" from the image.

[0879] The terminal prompts the user to check the expiration date information.

[0880] 2. Data transmission and storage:

[0881] Step 3:

[0882] The user confirms the information and clicks the save button.

[0883] The terminal transmits the expiration date information to the server.

[0884] Step 4:

[0885] The server stores the data in a database and sets up the notification schedule.

[0886] 3. Emotion recognition and notification adjustment:

[0887] Step 5:

[0888] The user operates the app, and the device collects the user's facial expressions and voice data.

[0889] The device sends data to the emotion engine.

[0890] Step 6:

[0891] The emotion engine analyzes the user's emotional state and sends the results to the server.

[0892] The server stores the emotion data and configures the notification settings.

[0893] 4. Notification Processing:

[0894] Step 7:

[0895] On December 8th (the notification setting date), the server's backend process runs and searches for the notification record.

[0896] Step 8:

[0897] Based on the data from the emotion engine, tailored notifications are generated and sent to the device.

[0898] Step 9:

[0899] The device receives the notification and displays to the user, "This canned food is nearing its expiration date."

[0900] The user opens the notification and launches the app to see more information.

[0901] In this way, the system utilizes an emotion engine to provide notifications according to the user's state, thereby achieving a better user experience.

[0902] Example 2

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

[0904] Although there are many systems that efficiently manage expiration dates for preserved foods, these systems do not take into account the user's current emotional state, and notifications can be stressful for the user. In addition, extracting and managing expiration date information can be time-consuming, which increases the burden on the user.

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

[0906] In this invention, the server includes a means for taking an image of the preserved food, a means for recognizing the expiration date from the taken image, a means for saving the recognized expiration date information, and a means for adjusting the content and timing of the notification based on the emotion recognition means, thereby enabling the content and timing of the notification to be flexibly adjusted according to the user's emotional state, thereby improving the user experience.

[0907] "Preserved foods" refers to foods that have a long shelf life and can be stored, including canned and dried foods.

[0908] "Means for taking an image" refers to the process of acquiring an image using a device or application with a camera function.

[0909] "Means for recognizing expiration dates" refers to technology or software for extracting text information from captured images and identifying expiration dates.

[0910] "Means for storing recognized expiration date information" refers to a system or process for storing the extracted expiration date data in a storage device or database.

[0911] "Means for notifying based on expiration date information recognized on a set date" refers to a function that sends a notification to the user when a pre-set date is reached based on stored expiration date data.

[0912] "Emotion recognition means" refers to algorithms or technologies used to analyze a user's emotions, such as systems that perform facial expression recognition or voice analysis.

[0913] "Means for adjusting the content and timing of notifications" refers to a function for changing the text of notifications and the timing of sending notifications based on the analysis results of the emotion recognition means.

[0914] "User experience" refers to the overall satisfaction and convenience that a user feels when using a system.

[0915] This invention is an advanced system that efficiently manages expiration dates for preserved foods and adjusts notification content and timing by recognizing the user's emotions. The system is composed of a terminal application, a server, and an emotion engine.

[0916] System Overview

[0917] This system allows users to take pictures of preserved foods, extract and save expiration date information from the images, and automatically send notifications on the set date.It also incorporates an emotion engine that recognizes the user's emotions, and has the function of adjusting the content and timing of notifications according to the user's emotional state.

[0918] Configuring the Terminal Application

[0919] The user launches the app and takes a photo

[0920] The user launches the app and takes a photo of the preserved food. The device temporarily saves the photo in local storage.

[0921] Extract expiration dates from images

[0922] The device analyzes the stored image and uses an OCR library (e.g., Tesseract OCR) to recognize the expiration date. For example, a best-by date of "December 15, 2023" is extracted. This information can be confirmed by the user and corrected if necessary.

[0923] Data transmission and storage

[0924] After the expiration date information is confirmed, the device sends this information and image data to the server, which verifies the received data and stores it in a central database. At this time, the notification schedule is also set on the server side.

[0925] Server Configuration

[0926] Manage data

[0927] The server stores the expiration date information and image data sent from the terminal in a central database and manages the necessary fields (food ID, user ID, image path, expiration date, registration date and time, etc.) It also calculates the notification timing and sets it to notify, for example, seven days before the expiration date.

[0928] Back-end process checks expiration dates

[0929] The server has a backend process that runs periodically, for example, every night at midnight, to check the database and find any records with expiration dates that require notification.

[0930] Emotion engine integration

[0931] The server incorporates an emotion engine that analyzes and stores the user's emotional data. The emotion engine analyzes facial expressions and voice data when the user uses the app to grasp the user's emotional state in real time.

[0932] Sending and Coordinating Notifications

[0933] The server adjusts the content and timing of notifications based on the user's emotional state. For example, if the user is feeling stressed, the server can delay or soften the notification. If the user is happy, the server can also speed up the notification.

[0934] Specific examples

[0935] Example: Canned food with a best-by date of December 15, 2023

[0936] 1. Shooting and Recognition

[0937] The user launches the app and takes a photo of a can of preserved food. The device extracts the expiration date (December 15, 2023) from the image and prompts the user to confirm it.

[0938] 2. Data transmission and storage

[0939] The user checks the expiration date information and presses the send button. The device sends the expiration date information and image data to the server. The server saves the data in a database and sets a notification schedule (e.g., notification on December 8th).

[0940] 3. Emotion recognition and notification adjustment

[0941] The emotion engine analyzes the user's emotions while they use the app. For example, if the server detects that the user is feeling stressed on December 8th, it will delay the timing of notifications or make them lighter. Conversely, if the user is feeling happy, it will send notifications immediately.

[0942] 4. Notification Processing

[0943] The server's backend process finds the date December 8th and searches for the relevant record. Based on the emotion engine data, a tailored notification is generated and sent to the device. The device receives the notification and displays to the user, "This canned food is nearing its expiration date." The user opens the notification and launches the app to view more information.

[0944] Examples of prompt statements

[0945] Here are some example prompts to input to a generative AI model:

[0946] Describe the specific steps of a system that efficiently manages expiration dates for preserved foods and adjusts the content and timing of notifications based on the user's emotions. Please provide a detailed description of each process, including taking a photo, extracting the expiration date, analyzing the emotion data, and adjusting the notification.

[0947] As described above, this system reduces the effort required to manage preserved foods and provides notifications that correspond to the user's emotional state, thereby providing a more comfortable user experience.

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

[0949] Specific processing steps of this system program

[0950] Step 1:

[0951] Taking photos

[0952] The user launches the app and takes a photo of the preserved food.

[0953] The device temporarily stores the captured photos in local storage.

[0954] Input: User-launched apps, photos of preserved foods

[0955] Output: Photo data saved in local storage

[0956] Specific behavior: The moment the user presses the shutter button, the device's camera takes a photo and saves it as a file in the internal storage.

[0957] Step 2:

[0958] Best before date extraction

[0959] The device uses an OCR library (e.g., Tesseract OCR) to analyze the captured image.

[0960] Input: Photo data stored in local storage

[0961] Output: Extracted expiration date information (e.g. "December 15, 2023")

[0962] What happens: The device calls the OCR software, processes the stored photo data as OCR input, extracts expiration date information from the parsed text data, and displays it to the user.

[0963] Step 3:

[0964] Check and correct expiration date information

[0965] The extracted expiration date information is displayed to the user so that the user can check and correct it.

[0966] Input: Extracted expiration date information

[0967] Output: Confirmed or corrected expiration date information

[0968] Specific behavior: The screen displays "The extracted expiration date is December 15, 2023. Is this correct?" and provides "Confirm" or "Modify" buttons. If the user presses the "Modify" button, a correction input field will appear.

[0969] Step 4:

[0970] Sending data

[0971] The terminal transmits the confirmed expiration date information and image data to the server.

[0972] Input: Confirmed or corrected expiration date information, saved photo data

[0973] Output: Data sent to the server

[0974] Specific operation: The device uses Wi-Fi or a mobile data network to send the confirmed expiration date information and image data as a POST request to the server's API endpoint.

[0975] Step 5:

[0976] Data storage and notification settings

[0977] The server validates the received data and stores it in a central database.

[0978] Input: Data sent to the server (expiration date information, image data)

[0979] Output: Records stored in a central database (e.g. food ID, user ID, image path, expiration date, registration date)

[0980] Specific operations: The server analyzes the received data, saves it as a new record in the database, calculates the notification schedule (e.g., sets it to notify 7 days before the expiration date), and sets the notification.

[0981] Step 6:

[0982] Emotional Data Analysis

[0983] The server uses an emotion engine to analyze the user's emotion data.

[0984] Input: User's facial expression data, voice data

[0985] Output: Parsed emotional state (e.g., stress, joy)

[0986] Specific operation: The server calls the emotion engine, receives the user's facial expression and voice data as input, analyzes the emotional state, and stores the results in a database.

[0987] Step 7:

[0988] Sending and Coordinating Notifications

[0989] The server adjusts the content and timing of notifications based on the user's emotional state.

[0990] Input: Emotional state, notification schedule

[0991] Output: Throttled notification

[0992] Specific operation: The server checks the user's emotional data and adjusts the timing and content of notifications as needed. For example, if the user is feeling stressed, the server may delay notifications or soften their content.

[0993] Step 8:

[0994] Receiving and Viewing Notifications

[0995] The terminal receives the tailored notification from the server and displays it to the user.

[0996] Input: Adjusted notification

[0997] Output: The notification that is displayed to the user

[0998] What happens: The device receives the notification from the server and displays it to the user as a push notification. When the user clicks on the notification, the app launches and displays more information.

[0999] Through the above processing steps, the system can efficiently manage the expiration date of preserved foods and provide notifications according to the user's emotional state.

[1000] (Application example 2)

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

[1002] Managing expiration dates for non-perishable foods is a time-consuming task for users, and they often forget to do so. Furthermore, the lack of flexible notifications based on the user's emotional state can increase stress. Furthermore, food delivery services often lack adequate support for users to efficiently manage non-perishable foods. To solve these problems, a system that integrates expiration date management and notification adjustment based on the user's emotional state is needed.

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

[1004] In this invention, the server includes a means for capturing images of preserved foods, a means for recognizing expiration dates from the captured images, a means for saving the recognized expiration date information, a means for notifying the user based on the recognized expiration date information on a set date, a means for acquiring and analyzing emotional data, and a means for adjusting the content and timing of notifications based on the acquired emotional data. This enables efficient expiration date management of preserved foods and flexible notifications according to the user's emotional state. It also improves user convenience and satisfaction in food delivery services.

[1005] "Means for taking images of preserved foods" refers to a camera or photographing device for taking images of preserved foods, and is a device that can save the images as digital data.

[1006] "Means for recognizing expiration dates from photographed images" refers to technology that analyzes photographed images and extracts text information related to expiration dates from them, such as a system that uses OCR (optical character recognition) technology to recognize expiration dates.

[1007] A "means for storing recognized expiration date information" is a device or software for storing the extracted expiration date data in a local or remote database.

[1008] "Means for notifying based on expiration date information recognized on a set date" refers to a function or mechanism for sending notifications to users based on stored expiration date data, including, for example, push notifications to mobile devices.

[1009] "Means for acquiring and analyzing emotional data" refers to technology for acquiring and analyzing emotional information from a user's facial expressions, voice, etc. in real time, and includes, for example, a camera, microphone, and emotion recognition software.

[1010] "Means for adjusting the content and timing of notifications based on the acquired emotional data" refers to a function that uses analyzed emotional data to notify users with appropriate content at the appropriate time.

[1011] This invention is a system that manages expiration dates of preserved foods and provides notifications based on the user's emotions. This system is realized using a smartphone application, a server, and an emotion engine.

[1012] System configuration

[1013] Smartphone application

[1014] 1. Photographing preserved foods

[1015] The user launches the smartphone application and takes a picture of the preserved food. The image is captured using the camera module and saved in local storage.

[1016] 2. Extraction of expiration date information

[1017] The application analyzes the captured image using OCR (Optical Character Recognition) technology to extract expiration date information, which is then displayed to the user for confirmation. The user can then modify this information as needed.

[1018] 3. Data transmission

[1019] The confirmed expiration date information and image data are sent to the server. The application encodes this data and sends it to the server using a secure communication protocol (e.g., HTTPS).

[1020] server

[1021] 1. Data storage

[1022] The server stores the received expiration date information and image data in a database. A database system (e.g., Firebase) is used for efficient data management and access.

[1023] 2. Backend Processes

[1024] The server runs a backend process based on a set schedule to periodically check the stored expiration date information. For example, if a notification is required one week before the expiration date, the server identifies the relevant record and prepares the notification.

[1025] 3. Emotion recognition and notification adjustment

[1026] The server is integrated with an emotion engine (e.g., a TensorFlow-based model) that analyzes the user's voice and facial expression data to recognize their emotional state in real time. Based on this, the content and timing of notifications are adjusted. If the user is feeling stressed, the timing of notifications may be delayed or the content may be softened.

[1027] 4. Sending notifications

[1028] The notification is sent via a push notification from the server to the smartphone application. The notification is sent to the user's device using the Firebase Messaging service. The notification includes a message informing them of the approaching expiration date and, if necessary, a sentiment-based comment.

[1029] Specific examples

[1030] Example of input prompt:

[1031] User ID: user_123

[1032] Image path: path_to_image.jpg

[1033] Hardware and software used

[1034] Hardware:

[1035] Smartphone (camera, microphone, display)

[1036] software:

[1037] Camera module (image acquisition)

[1038] OCR library (Tesseract, etc.)

[1039] Emotion recognition software (TensorFlow, etc.)

[1040] Database system (Firebase, etc.)

[1041] Communication protocol (HTTPS)

[1042] Push notification service (Firebase Messaging)

[1043] By using this system, users can not only efficiently manage the expiration dates of their preserved foods, but also receive flexible notifications according to their emotional state, thereby improving user convenience and satisfaction in food delivery services.

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

[1045] Step 1:

[1046] A user launches a smartphone application and takes a picture of a preserved food. The input is image data acquired through the camera, which is then saved in local storage. The specific action is to launch the camera application and press the shutter button.

[1047] Step 2:

[1048] The device extracts expiration date information from the captured image using OCR (Optical Character Recognition) technology. The input is the stored image data, and the output is the extracted expiration date information. Specifically, it uses an OCR library (such as Tesseract) to analyze the text in the image and identify the expiration date.

[1049] Step 3:

[1050] The extracted expiration date information is displayed to the user, who then confirms the information. The input is the expiration date data extracted by OCR, and the output is the expiration date data after user confirmation. Specific operations include the expiration date being displayed on a confirmation screen in the application, and the user pressing the confirm button.

[1051] Step 4:

[1052] The terminal sends the confirmed expiration date information and image data to the server. The input is the expiration date information confirmed by the user and the original image data, and the output is the transmission of data to the server. Specifically, the terminal uses the HTTPS protocol to perform communication processing to securely send data to the server.

[1053] Step 5:

[1054] The server stores the received expiration date information and image data in a database. The input is the sent expiration date information and image data, and the output is the result of saving to the database. Specifically, the server performs a process to add the data to a database service such as Firebase.

[1055] Step 6:

[1056] The server executes backend processing based on a set schedule and periodically checks the stored expiration date information. The input is the expiration date information in the database, and the output is a flag indicating the need for notification. Specifically, the scheduled task is executed and the corresponding record is searched for.

[1057] Step 7:

[1058] The server acquires and analyzes the user's emotional data. The input is the user's voice and facial expression data, and the output is analyzed emotional state data. Specifically, emotion recognition software (e.g., TensorFlow model) analyzes the voice and image data to identify the user's emotional state.

[1059] Step 8:

[1060] The server adjusts the content and timing of notifications based on the acquired emotional data. The input is the analyzed emotional state data, and the output is the adjusted notification content and timing. Specific operations include generating notification text and changing the schedule according to the emotional state.

[1061] Step 9:

[1062] The server sends the notification content to the smartphone application and notifies the user. The input is the adjusted notification data, and the output is the notification sent to the user's smartphone. Specifically, it uses the Firebase Messaging service to send the push notification.

[1063] Step 10:

[1064] The user receives a notification and checks the expiration date information of a preserved food. The input is the notification received on the smartphone, and the output is the user's action (e.g., launching an application). Specific actions include tapping the notification banner to open the application and check the detailed information.

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

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

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

[1068] [Third embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[1081] The present invention is a system for efficiently managing the expiration dates of preserved foods, and is configured as follows.

[1082] System Overview

[1083] This system allows users to take pictures of preserved food, extract and save expiration date information from the images, and automatically notify users on the set expiration date.The system is mainly divided into a terminal application, a server, and a back-end process.

[1084] Configuring the Terminal Application

[1085] User launches the app and takes a photo:

[1086] First, the user launches the application on their device. The application has a built-in camera function, allowing the user to take photos of the preserved food. The device then temporarily stores the photos in its local storage.

[1087] Extracting expiration dates from images:

[1088] The device analyzes the captured image and uses an OCR library to automatically recognize expiration dates. For example, a best-by date of "December 15, 2023" is extracted from the photo. This information is then confirmed by the user, who can then modify it if necessary.

[1089] Data transmission and storage:

[1090] After the expiration date information is confirmed, the device sends this information and image data to the server, which verifies the received data and stores it in a central database. At this time, the notification schedule is also set on the server side.

[1091] Server Configuration

[1092] Data Management:

[1093] The server stores the expiration date information and image data sent from the terminal in a central database and manages the necessary fields (food ID, user ID, image path, expiration date, registration date and time, etc.) It also calculates the notification timing and sets it to notify, for example, seven days before the expiration date.

[1094] Back-end process checks expiry date:

[1095] The server has a backend process that runs periodically, for example, every night at midnight, to check the database and find any records with expiration dates that require notification.

[1096] Send notifications:

[1097] When the server finds a suitable food item, it adds it to the device list and generates a push notification to send to the device, which then notifies the user that the expiration date is approaching.

[1098] Specific examples

[1099] Example: Canned food with a best-by date of December 15, 2023

[1100] 1. The user launches the app and takes a photo of a preserved food (canned food).

[1101] 2. The device recognizes the date as "December 15, 2023" from the captured image and displays that information to the user for confirmation.

[1102] 3. Once the user confirms, the expiration date information and image data are sent to the server.

[1103] 4. The server saves this data in a database and sets the notification timing (for example, notify on December 8th).

[1104] 5. On December 8th, the server checks the expiration date through a backend process and sends a push notification to the user's device.

[1105] 6. The device receives the push notification and displays a message to the user saying, "This canned food's expiration date is approaching."

[1106] In this way, users can efficiently manage the expiration dates of preserved foods without any hassle and receive appropriate notifications on the set deadlines.

[1107] The processing flow will be explained below.

[1108] Program processing flow

[1109] 1. Terminal application processing

[1110] 1.1 Taking photos:

[1111] Step 1:

[1112] The user launches the app and presses the "Take Photo" button.

[1113] The device will launch the camera and switch to preview mode.

[1114] Step 2:

[1115] The user takes a photo of the preserved food and presses the capture button.

[1116] The device acquires the photos it has taken and temporarily stores them in local storage.

[1117] 1.2 Extract expiration date from image:

[1118] Step 3:

[1119] The device analyzes images stored in local storage using an OCR library.

[1120] The device extracts text data from the image and searches for date information corresponding to the expiration date.

[1121] Step 4:

[1122] The terminal displays the extracted expiration date information on a confirmation screen and asks the user for confirmation.

[1123] 1.3 Data verification and transmission:

[1124] Step 5:

[1125] The user checks the displayed expiration date information and corrects it if necessary.

[1126] The user presses the "Save" button to confirm the expiration date information.

[1127] Step 6:

[1128] The device sends the confirmed expiration date information and image data in JSON format to the server.

[1129] 2. Server Processing

[1130] 2.1 Data Receipt and Storage:

[1131] Step 7:

[1132] The server receives the JSON data sent from the device.

[1133] The server validates the structure of the received data and ensures that all required fields (image data, expiration date, etc.) are present.

[1134] Step 8:

[1135] The server stores the data in a central database.

[1136] Record fields such as food ID, user ID, image path, expiration date, and registration date and time in the database.

[1137] 2.2 Setting up notification schedule:

[1138] Step 9:

[1139] The server calculates a notification schedule for the stored data.

[1140] The server calculates the date 7 days before the expiration date and saves it in the notification table.

[1141] 3. Backend processing

[1142] 3.1 Notification preparation:

[1143] Step 10:

[1144] A backend process on the server runs every night at midnight and checks the notification table.

[1145] The server searches for a record whose current date matches the notification date.

[1146] 3.2 Notifications sent:

[1147] Step 11:

[1148] The server creates a list of foods that require notifications and obtains the relevant user ID and device information.

[1149] The server sends a push notification to the user's device.

[1150] Step 12:

[1151] The device receives the push notification from the server and displays the notification to the user.

[1152] The user opens the notification and launches the app to see more information.

[1153] Specific examples

[1154] Example: Canned food with a best-by date of December 15, 2023

[1155] 1. Photographing and expiration date recognition:

[1156] Step 1:

[1157] The user launches the app and takes a photo of the can.

[1158] The device saves the captured image in local storage.

[1159] Step 2:

[1160] The device extracts the text "December 15, 2023" from the image.

[1161] The terminal prompts the user to check the expiration date information.

[1162] 2. Data transmission and storage:

[1163] Step 3:

[1164] The user confirms the information and clicks the save button.

[1165] The terminal transmits the expiration date information to the server.

[1166] Step 4:

[1167] The server stores the data in a database and sets up the notification schedule.

[1168] 3. Notification Processing:

[1169] Step 5:

[1170] On December 8th (the notification setting date), the server's backend process runs and searches for the notification record.

[1171] The server sends a push notification to the user.

[1172] Step 6:

[1173] The device receives the notification and displays to the user, "This canned food is nearing its expiration date."

[1174] The user opens the notification and launches the app to see more information.

[1175] Example 1

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

[1177] Managing the expiration dates of preserved foods manually is a huge hassle, and there is a problem that expired foods are easily overlooked. Furthermore, it is difficult to centrally manage multiple preserved foods, which increases the burden on users to check and record expiration dates individually. For this reason, there is a demand for a system that can efficiently and accurately manage expiration dates of preserved foods and automatically notify them.

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

[1179] In this invention, the server includes a means for sending a notification on a set date based on the stored expiration date information, an optical character recognition means, and a means for storing the expiration date information, thereby enabling the expiration dates of preserved foods to be automatically managed and for users to be notified without missing the notification timing.

[1180] "Means for taking images of preserved food" refers to the ability of an end user to use the device to capture images of preserved food.

[1181] "Optical character recognition means" refers to technology for extracting text information from image data, and includes OCR (Optical Character Recognition) libraries and APIs.

[1182] "Means for displaying recognized expiration date information to the user and allowing the user to confirm and correct it" is a function that displays the extracted expiration date information on the user's terminal screen, allowing the user to confirm the information and correct it as necessary.

[1183] The "means for saving the confirmed and corrected expiration date information" is a function for saving the expiration date information confirmed and corrected by the user in the database.

[1184] "Means for sending notifications on a set date based on stored expiration date information" is a function that sends notifications to users at a pre-set date and time based on stored expiration date information.

[1185] "Optical character recognition means for automatically extracting expiration dates from photographed images of preserved foods" is a function that uses optical character recognition technology to automatically extract expiration date information from images of preserved foods photographed by a user.

[1186] The "display means for allowing the user to confirm the extracted expiration date information" is a function that displays the expiration date information extracted by OCR on the user's terminal so that the information can be confirmed.

[1187] The "means for saving and transmitting expiration date information after confirmation by the user" is a function for saving the expiration date information confirmed by the user and transmitting it to the server.

[1188] The "timing calculation means for the server to automatically set the timing of notification" is a function that the server automatically calculates and sets the optimal timing of notification based on expiration date information.

[1189] "Means for periodically checking expiration date information as a back-end process based on timing calculations" is a function that uses a back-end process that runs periodically on the server side to check the database to ensure that notifications based on expiration dates are sent appropriately.

[1190] The "push notification generating means for sending a notification to the terminal of the relevant user" is a function that automatically generates a push notification when the expiration date approaches and sends it to the terminal of the relevant user.

[1191] This invention is a system for efficiently managing the expiration dates of preserved foods, and its main components are a user, a terminal, and a server. This system takes pictures of preserved foods, extracts expiration date information, saves that information, and automatically notifies users on a set date, thereby streamlining the management of preserved foods.

[1192] Configuring the Terminal Application

[1193] The terminal application has a camera function that allows the user to take an image of the preserved food. The user launches the application and takes a photo of the preserved food. The captured image is temporarily stored in local storage.

[1194] The system uses an optical character recognition (OCR) library (e.g., Google Vision API) to automatically extract expiration date information from captured images. This extracted information is then displayed to the user, who can review and correct it if necessary. This process ensures the accuracy of the expiration date information.

[1195] Server and backend process configuration

[1196] Once the user confirms the expiration date information, the device sends the information and image to the server, which verifies the received data and stores it in a central database. The stored data includes fields such as food ID, user ID, image path, expiration date, and registration date and time.

[1197] The server also automatically schedules notifications based on the stored expiration date information, with the timing calculations based on a pre-defined number of days (e.g., 7 days in advance).

[1198] The server has a backend process that runs periodically. This process checks the database and picks out records that require notifications. This process typically runs late at night every day. When a matching record is found, the server generates a push notification and sends it to the user's device. The device then displays the received push notification to the user, informing them that the expiration date is approaching.

[1199] Specific examples

[1200] Example: Canned food with a best-by date of December 15, 2023

[1201] 1. The user launches the food storage management app and uses the camera function to take a photo of the canned food.

[1202] 2. The device temporarily stores the captured image of the can in local storage.

[1203] 3. The device uses the OCR library to automatically read the expiration date "December 15, 2023" from the image and displays that information to the user.

[1204] 4. The user checks the expiration date information displayed and presses the confirmation button.

[1205] 5. The terminal sends the confirmed expiration date information and image data to the server.

[1206] 6. The server receives the data and stores the expiration date information, food ID, user ID, image path, registration date and time, etc. in the database.

[1207] 7. The server schedules notifications based on the expiration date (e.g., notify 7 days before the expiration date).

[1208] 8. On December 8th, the server checks the expiration date through a backend process and sends a push notification to the user's device.

[1209] 9. The device receives the push notification and displays a message to the user saying, "This canned food's expiration date is approaching."

[1210] In this way, users can efficiently manage the expiration dates of preserved foods and receive timely notifications.

[1211] Prompt Sentence Examples

[1212] Please explain in detail the process of extracting expiration dates from images and sending notifications in a system that streamlines the expiration date management of preserved foods.

[1213] This system allows users to avoid the tedious task of manually checking expiration dates, making food management easier.

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

[1215] Step 1:

[1216] The user launches the app and takes a photo of the preserved food.

[1217] A user launches a preserved food management application on a device. As input, the camera function is activated so that the user can take a photo. As output, the captured image is temporarily stored in the device's local storage. Specifically, the user uses the camera app to take a picture of the preserved food, and the image data is temporarily stored in the local storage.

[1218] Step 2:

[1219] The device performs OCR on the image and extracts the expiration date information.

[1220] The device takes image data stored in local storage as input and uses an OCR library (e.g., Google Vision API) to extract expiration date information. The output is extracted text data (e.g., "December 15, 2023"). Specifically, the device sends the image data to the OCR library, which extracts and returns text information from the image.

[1221] Step 3:

[1222] The device displays the extracted expiration date information to the user and asks for confirmation.

[1223] The terminal takes the results of the OCR process as input and displays the expiration date information to the user. The user can then check the extracted information and correct it if necessary. The output is the confirmed (or corrected) expiration date information. Specifically, the terminal uses a pop-up or dialog box to display the expiration date information to the user, who can then check or correct it.

[1224] Step 4:

[1225] Send expiration date information to the server

[1226] The device takes the expiration date information and image data confirmed by the user as input and sends them to the server using the HTTPS protocol. As output, the data is sent to the server, and the server confirms receipt. Specifically, the device generates an HTTPS request and sends it to the server along with metadata such as the user ID and food ID.

[1227] Step 5:

[1228] The server saves the received data

[1229] The server receives the expiration date information and image data from the terminal, verifies the data, and saves it in a central database. The saved expiration date information, image path, etc. are stored in the database as output. Specifically, the server checks the data format and whether the required information is present, and saves the information in the database.

[1230] Step 6:

[1231] The server sets the notification schedule

[1232] The server inputs the stored expiration date information and calculates and sets the notification timing. The configured notification schedule is obtained as output. Specifically, the server calculates a certain number of days (e.g., 7 days before) from the expiration date and sets the schedule to send notifications at that date and time.

[1233] Step 7:

[1234] A backend process periodically checks the database

[1235] The server's backend process runs every night at midnight and checks the central database. As input, it uses the current date and stored expiration date information. As output, it gets a list of expiration date records that require notification. Specifically, the backend process scans the expiration date information in the database and picks out records that require notification.

[1236] Step 8:

[1237] The server generates and sends the push notification

[1238] The server takes the expiration date records picked up by the backend process as input and generates push notifications to the corresponding user's device. As output, the generated push notifications are sent to each user's device. Specifically, the server creates a notification message and sends it to the user's device ID.

[1239] Step 9:

[1240] The device receives the push notification and displays it to the user.

[1241] The device receives the push notification from the server as input and displays the notification to the user. As output, the user is made aware that the expiration date is approaching. Specifically, the device displays a message such as "This preserved food is nearing its expiration date" using a notification bar or pop-up.

[1242] (Application example 1)

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

[1244] Manually managing expiration dates for preserved foods is time-consuming and prone to human error. Furthermore, efficiently managing large quantities of products in a store is difficult, and expired products may remain on the shelves. These problems result in increased disposal costs and reduced customer satisfaction. The present invention aims to solve these problems by providing a system for efficiently managing expiration dates for preserved foods and responding quickly.

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

[1246] In this invention, the server includes means for taking an image of the preserved food, means for recognizing the expiration date from the captured image, means for saving the recognized expiration date information, means for notifying the store staff based on the recognized expiration date information on a set date, means for store staff to efficiently manage the expiration dates of the products, optical character recognition means for automatically extracting the expiration date from the image, means for store staff to confirm the extracted expiration date information, means for transmitting data to a central computer for managing the expiration dates of the products, and means for communicating with a mobile terminal for transmitting notifications. This makes it possible to efficiently manage the expiration dates of preserved foods and quickly respond to products whose expiration dates are approaching.

[1247] "Preserved foods" are foods that can be stored for a long period of time and have a set expiration date.

[1248] "Means for taking an image" refers to a method or device for a device with a camera function to acquire an image.

[1249] The "means for recognizing expiration dates" refers to a method or device for extracting expiration date information from an image and recognizing its contents.

[1250] The "means for storing expiration date information" refers to a method or device for recording the extracted expiration date information in a storage device.

[1251] The "notification means" refers to a method or device for notifying the user on a set date based on expiration date information.

[1252] "Store staff management means" refers to methods and devices that enable store employees to efficiently manage product expiration dates.

[1253] "Optical character recognition means" is a technology for automatically reading character information from an image.

[1254] The "means for allowing confirmation" refers to a method or device for presenting the extracted information to the user and allowing the user to confirm its accuracy.

[1255] "Means for transmitting to a central computer" refers to a method or device for transferring data to a central computer system.

[1256] A "communication means" is a method or device for exchanging data between different devices.

[1257] A "mobile terminal" is a portable computing device, including, for example, a smartphone or tablet.

[1258] This invention is a system for efficiently managing the expiration dates of preserved foods and responding promptly. This system is mainly composed of a terminal, a server, and related software components.

[1259] System Overview

[1260] 1. Device features:

[1261] Image capture: The user (store staff) uses a device (such as a smartphone) to take a picture of the preserved food.

[1262] Best-before date recognition: The device analyzes the captured image and extracts the best-before date using optical character recognition (OCR) technology, such as software like Tesseract OCR.

[1263] Data confirmation and storage: The user confirms the extracted expiration date information and corrects it if necessary. The confirmed data is sent from the terminal to the server.

[1264] 2. Server Functions:

[1265] Data management: The server stores the submitted expiration date information and image data in a central database. This data includes the food ID, user ID, image path, expiration date, registration date, etc.

[1266] Notification setting: The server sets the notification timing based on the expiration date. For example, set it to notify 7 days before the expiration date.

[1267] Notification sending: The server periodically checks the database through a backend process and generates and sends push notifications to the device about products that are about to expire.

[1268] Specific examples

[1269] Example: Canned food with a best-by date of December 15, 2023

[1270] 1. The user (store staff) launches the app and takes a photo of the canned food.

[1271] 2. The device uses Tesseract OCR to recognize the date as "December 15, 2023" from the captured image and displays the information to the user for confirmation.

[1272] 3. Once the user confirms, the expiration date information and image data are sent to the server.

[1273] 4. The server saves this data in a database and sets the notification timing (for example, notify on December 8th).

[1274] 5. On December 8th, the server checks the expiration date through a backend process and sends a push notification to the user's device.

[1275] 6. The device receives the push notification and displays a message to the user saying, "This canned food's expiration date is approaching."

[1276] Hardware and software used

[1277] Hardware: Smartphones, servers, mobile devices

[1278] Software: Tesseract OCR, Django framework, Firebase Cloud Messaging (FCM) or Apple Push Notification service (APNs)

[1279] Example prompt for a generative AI model:

[1280] Design a smartphone application that takes a photo of a can of food, extracts the expiration date, and sends a notification 7 days before the expiration date. Use Tesseract as the OCR library and Firebase Cloud Messaging for the notification.

[1281] This allows for efficient management of expiration dates for preserved foods and makes it possible to respond quickly to products approaching their expiration date.

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

[1283] Step 1:

[1284] The user launches the application on their device and takes a picture of the preserved food. The actual preserved food is used as input, and the captured image data is generated as output. Specifically, the image is captured using the smartphone's camera function and temporarily saved in local storage.

[1285] Step 2:

[1286] The device analyzes the captured image and extracts the expiration date. The input here is the captured image data, and the output is the extracted expiration date information. Specifically, Tesseract OCR is used to read text information from the image, and the expiration date part is extracted using regular expressions, etc.

[1287] Step 3:

[1288] The terminal displays the extracted expiration date information to the user and asks for confirmation. The input is the extracted expiration date information, and the output is the expiration date information confirmed by the user. Specifically, a screen displaying the expiration date is presented to the user, and the user confirms the information and corrects it if necessary.

[1289] Step 4:

[1290] The expiration date information and image data confirmed by the user are sent from the terminal to the server. The input is the confirmed expiration date information and image data, and the output is the data sent to the server. Specifically, this data is sent to the server using an HTTP request.

[1291] Step 5:

[1292] The server validates the received data and stores it in a central database. The input here is the submitted expiration date information and image data, and the output is the data recorded in the database. Specifically, the Django framework is used to store the data in the appropriate fields in the database.

[1293] Step 6:

[1294] The server sets the notification timing based on the saved data. The input is the expiration date information, and the output is the notification timing setting. Specifically, it calculates the notification timing to be 7 days before the expiration date and records this information in the database.

[1295] Step 7:

[1296] The server periodically checks the database through a backend process to pick out products that are approaching their expiration date. The input is all the data in the database, and the output is a list of products for which notifications are required. Specifically, a batch process is run every night to search for products with expiration dates within the next seven days.

[1297] Step 8:

[1298] The server generates a push notification for the relevant product and sends it to the device. The input is the product data for the notification, and the output is the push notification to the device. Specifically, notifications are sent using Firebase Cloud Messaging (FCM) or Apple Push Notification service (APNs).

[1299] Step 9:

[1300] The device displays the received push notification to the user. The input is the push notification from the server, and the output is the notification displayed to the user. Specifically, using the smartphone's notification function, a message such as "This canned food's expiration date is approaching" is displayed to the user.

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

[1302] This invention is an advanced system that efficiently manages expiration dates for preserved foods and adjusts notification content and timing by recognizing the user's emotions. This system is composed of a terminal application, a server, and an emotion engine.

[1303] System Overview

[1304] This system allows users to take pictures of preserved foods, extract and save expiration date information from the images, and automatically send notifications on the set date.It also incorporates an emotion engine that recognizes the user's emotions, and has the function of adjusting the content and timing of notifications according to the user's emotional state.

[1305] Configuring the Terminal Application

[1306] User launches the app and takes a photo:

[1307] The user launches the app and takes a photo of the preserved food, which is then temporarily saved to the device's local storage.

[1308] Extracting expiration dates from images:

[1309] The device analyzes the stored image and uses an OCR library to recognize the expiration date. For example, a best-by date of "December 15, 2023" is extracted. This information can be confirmed by the user and corrected if necessary.

[1310] Data transmission and storage:

[1311] After the expiration date information is confirmed, the device sends this information and image data to the server, which verifies the received data and stores it in a central database. At this time, the notification schedule is also set on the server side.

[1312] Server Configuration

[1313] Data Management:

[1314] The server stores the expiration date information and image data sent from the terminal in a central database and manages the necessary fields (food ID, user ID, image path, expiration date, registration date and time, etc.) It also calculates the notification timing and sets it to notify, for example, seven days before the expiration date.

[1315] Back-end process checks expiry date:

[1316] The server has a backend process that runs periodically, for example, every night at midnight, to check the database and find any records with expiration dates that require notification.

[1317] Emotion engine integration:

[1318] The server incorporates an emotion engine that analyzes and stores the user's emotional data. The emotion engine analyzes facial expressions and voice data when the user uses the app to grasp the user's emotional state in real time.

[1319] Sending and Coordinating Notifications:

[1320] The server adjusts the content and timing of notifications based on the user's emotional state. For example, if the user is feeling stressed, the server can delay or soften the notification. If the user is happy, the server can also speed up the notification.

[1321] Specific examples

[1322] Example: Canned food with a best-by date of December 15, 2023

[1323] 1. Shooting and Recognition:

[1324] The user launches the app and takes a photo of a can of preserved food. The device extracts the expiration date (December 15, 2023) from the image and prompts the user to confirm it.

[1325] 2. Data transmission and storage:

[1326] The user checks the expiration date information and presses the send button. The device sends the expiration date information and image data to the server. The server saves the data in a database and sets a notification schedule (for example, to notify on December 8th).

[1327] 3. Emotion recognition and notification adjustment:

[1328] The emotion engine analyzes the user's emotions while they are using the app. For example, if the server detects that the user is feeling stressed on December 8th, it will delay the timing of notifications or make them lighter. Conversely, if the user is feeling happy, it will send notifications immediately.

[1329] 4. Notification Processing:

[1330] The server's backend process finds the date December 8th and searches for the relevant record. Based on the emotion engine data, a tailored notification is generated and sent to the device. The device receives the notification and displays to the user, "This canned food is nearing its expiration date." The user opens the notification and launches the app to view more information.

[1331] In this way, the system reduces the effort required to manage preserved foods and provides notifications tailored to the user's emotional state, creating a more comfortable user experience.

[1332] The processing flow will be explained below.

[1333] Program processing flow (system combining emotion engines)

[1334] 1. Terminal application processing

[1335] 1.1 Taking photos:

[1336] Step 1:

[1337] The user launches the app and presses the "Take Photo" button.

[1338] The device will launch the camera and switch to preview mode.

[1339] Step 2:

[1340] The user takes a photo of the preserved food and presses the capture button.

[1341] The device acquires the photos it has taken and temporarily stores them in local storage.

[1342] 1.2 Extract expiration date from image:

[1343] Step 3:

[1344] The device analyzes images stored in local storage using an OCR library.

[1345] The device extracts text data from the image and searches for date information corresponding to the expiration date.

[1346] Step 4:

[1347] The terminal displays the extracted expiration date information on a confirmation screen and asks the user for confirmation.

[1348] 1.3 Data verification and transmission:

[1349] Step 5:

[1350] The user checks the displayed expiration date information and corrects it if necessary.

[1351] The user presses the "Save" button to confirm the expiration date information.

[1352] Step 6:

[1353] The device sends the confirmed expiration date information and image data in JSON format to the server.

[1354] 2. Server Processing

[1355] 2.1 Data Receipt and Storage:

[1356] Step 7:

[1357] The server receives the JSON data sent from the device.

[1358] The server validates the structure of the received data and ensures that all required fields (image data, expiration date, etc.) are present.

[1359] Step 8:

[1360] The server stores the data in a central database.

[1361] Record fields such as food ID, user ID, image path, expiration date, and registration date and time in the database.

[1362] 2.2 Setting up notification schedule:

[1363] Step 9:

[1364] The server calculates a notification schedule for the stored data.

[1365] The server calculates the date 7 days before the expiration date and saves it in the notification table.

[1366] 3. Emotion Engine Processing

[1367] 3.1 Analysis of user emotion data:

[1368] Step 10:

[1369] When a user operates the app, the device uses the camera and microphone to collect the user's facial expressions and voice.

[1370] The device sends the collected data to the emotion engine.

[1371] Step 11:

[1372] The emotion engine analyzes the user's facial and voice data to identify their emotional state (e.g., stress, joy, depression, etc.).

[1373] The emotion engine sends the analysis results to the server.

[1374] 3.2 Storage and Use of Emotional Data:

[1375] Step 12:

[1376] The server stores the emotion data received from the emotion engine in a database.

[1377] The server adjusts the timing and content of notifications based on the user's emotional state.

[1378] 4. Backend processing

[1379] 4.1 Notification preparation:

[1380] Step 13:

[1381] A backend process on the server runs every night at midnight and checks the notification table.

[1382] The server searches for a record whose current date matches the notification date.

[1383] 4.2 Notification Delivery:

[1384] Step 14:

[1385] The server creates a list of foods that require notifications and obtains the relevant user ID and device information.

[1386] The server references the user's emotional data and adjusts the content and timing of the notification.

[1387] Step 15:

[1388] The server generates the tailored notification and sends the push notification to the device.

[1389] Step 16:

[1390] The device receives the push notification from the server and displays the notification to the user.

[1391] The user opens the notification and launches the app to see more information.

[1392] Specific examples

[1393] Example: Canned food with a best-by date of December 15, 2023

[1394] 1. Shooting and Recognition:

[1395] Step 1:

[1396] The user launches the app and takes a photo of a preserved food item (canned food).

[1397] The device saves the captured image in local storage.

[1398] Step 2:

[1399] The device extracts the text "December 15, 2023" from the image.

[1400] The terminal prompts the user to check the expiration date information.

[1401] 2. Data transmission and storage:

[1402] Step 3:

[1403] The user confirms the information and clicks the save button.

[1404] The terminal transmits the expiration date information to the server.

[1405] Step 4:

[1406] The server stores the data in a database and sets up the notification schedule.

[1407] 3. Emotion recognition and notification adjustment:

[1408] Step 5:

[1409] The user operates the app, and the device collects the user's facial expressions and voice data.

[1410] The device sends data to the emotion engine.

[1411] Step 6:

[1412] The emotion engine analyzes the user's emotional state and sends the results to the server.

[1413] The server stores the emotion data and configures the notification settings.

[1414] 4. Notification Processing:

[1415] Step 7:

[1416] On December 8th (the notification setting date), the server's backend process runs and searches for the notification record.

[1417] Step 8:

[1418] Based on the data from the emotion engine, tailored notifications are generated and sent to the device.

[1419] Step 9:

[1420] The device receives the notification and displays to the user, "This canned food is nearing its expiration date."

[1421] The user opens the notification and launches the app to see more information.

[1422] In this way, the system utilizes an emotion engine to provide notifications according to the user's state, thereby achieving a better user experience.

[1423] Example 2

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

[1425] Although there are many systems that efficiently manage expiration dates for preserved foods, these systems do not take into account the user's current emotional state, and notifications can be stressful for the user. In addition, extracting and managing expiration date information can be time-consuming, which increases the burden on the user.

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

[1427] In this invention, the server includes a means for taking an image of the preserved food, a means for recognizing the expiration date from the taken image, a means for saving the recognized expiration date information, and a means for adjusting the content and timing of the notification based on the emotion recognition means, thereby enabling the content and timing of the notification to be flexibly adjusted according to the user's emotional state, thereby improving the user experience.

[1428] "Preserved foods" refers to foods that have a long shelf life and can be stored, including canned and dried foods.

[1429] "Means for taking an image" refers to the process of acquiring an image using a device or application with a camera function.

[1430] "Means for recognizing expiration dates" refers to technology or software for extracting text information from captured images and identifying expiration dates.

[1431] "Means for storing recognized expiration date information" refers to a system or process for storing the extracted expiration date data in a storage device or database.

[1432] "Means for notifying based on expiration date information recognized on a set date" refers to a function that sends a notification to the user when a pre-set date is reached based on stored expiration date data.

[1433] "Emotion recognition means" refers to algorithms or technologies used to analyze a user's emotions, such as systems that perform facial expression recognition or voice analysis.

[1434] "Means for adjusting the content and timing of notifications" refers to a function for changing the text of notifications and the timing of sending notifications based on the analysis results of the emotion recognition means.

[1435] "User experience" refers to the overall satisfaction and convenience that a user feels when using a system.

[1436] This invention is an advanced system that efficiently manages expiration dates for preserved foods and adjusts notification content and timing by recognizing the user's emotions. The system is composed of a terminal application, a server, and an emotion engine.

[1437] System Overview

[1438] This system allows users to take pictures of preserved foods, extract and save expiration date information from the images, and automatically send notifications on the set date.It also incorporates an emotion engine that recognizes the user's emotions, and has the function of adjusting the content and timing of notifications according to the user's emotional state.

[1439] Configuring the Terminal Application

[1440] The user launches the app and takes a photo

[1441] The user launches the app and takes a photo of the preserved food. The device temporarily saves the photo in local storage.

[1442] Extract expiration dates from images

[1443] The device analyzes the stored image and uses an OCR library (e.g., Tesseract OCR) to recognize the expiration date. For example, a best-by date of "December 15, 2023" is extracted. This information can be confirmed by the user and corrected if necessary.

[1444] Data transmission and storage

[1445] After the expiration date information is confirmed, the device sends this information and image data to the server, which verifies the received data and stores it in a central database. At this time, the notification schedule is also set on the server side.

[1446] Server Configuration

[1447] Manage data

[1448] The server stores the expiration date information and image data sent from the terminal in a central database and manages the necessary fields (food ID, user ID, image path, expiration date, registration date and time, etc.) It also calculates the notification timing and sets it to notify, for example, seven days before the expiration date.

[1449] Back-end process checks expiration dates

[1450] The server has a backend process that runs periodically, for example, every night at midnight, to check the database and find any records with expiration dates that require notification.

[1451] Emotion engine integration

[1452] The server incorporates an emotion engine that analyzes and stores the user's emotional data. The emotion engine analyzes facial expressions and voice data when the user uses the app to grasp the user's emotional state in real time.

[1453] Sending and Coordinating Notifications

[1454] The server adjusts the content and timing of notifications based on the user's emotional state. For example, if the user is feeling stressed, the server can delay or soften the notification. If the user is happy, the server can also speed up the notification.

[1455] Specific examples

[1456] Example: Canned food with a best-by date of December 15, 2023

[1457] 1. Shooting and Recognition

[1458] The user launches the app and takes a photo of a can of preserved food. The device extracts the expiration date (December 15, 2023) from the image and prompts the user to confirm it.

[1459] 2. Data transmission and storage

[1460] The user checks the expiration date information and presses the send button. The device sends the expiration date information and image data to the server. The server saves the data in a database and sets a notification schedule (e.g., notification on December 8th).

[1461] 3. Emotion recognition and notification adjustment

[1462] The emotion engine analyzes the user's emotions while they use the app. For example, if the server detects that the user is feeling stressed on December 8th, it will delay the timing of notifications or make them lighter. Conversely, if the user is feeling happy, it will send notifications immediately.

[1463] 4. Notification Processing

[1464] The server's backend process finds the date December 8th and searches for the relevant record. Based on the emotion engine data, a tailored notification is generated and sent to the device. The device receives the notification and displays to the user, "This canned food is nearing its expiration date." The user opens the notification and launches the app to view more information.

[1465] Examples of prompt statements

[1466] Here are some example prompts to input to a generative AI model:

[1467] Describe the specific steps of a system that efficiently manages expiration dates for preserved foods and adjusts the content and timing of notifications based on the user's emotions. Please provide a detailed description of each process, including taking a photo, extracting the expiration date, analyzing the emotion data, and adjusting the notification.

[1468] As described above, this system reduces the effort required to manage preserved foods and provides notifications that correspond to the user's emotional state, thereby providing a more comfortable user experience.

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

[1470] Specific processing steps of this system program

[1471] Step 1:

[1472] Taking photos

[1473] The user launches the app and takes a photo of the preserved food.

[1474] The device temporarily stores the captured photos in local storage.

[1475] Input: User-launched apps, photos of preserved foods

[1476] Output: Photo data saved in local storage

[1477] Specific behavior: The moment the user presses the shutter button, the device's camera takes a photo and saves it as a file in the internal storage.

[1478] Step 2:

[1479] Best before date extraction

[1480] The device uses an OCR library (e.g., Tesseract OCR) to analyze the captured image.

[1481] Input: Photo data stored in local storage

[1482] Output: Extracted expiration date information (e.g. "December 15, 2023")

[1483] What happens: The device calls the OCR software, processes the stored photo data as OCR input, extracts expiration date information from the parsed text data, and displays it to the user.

[1484] Step 3:

[1485] Check and correct expiration date information

[1486] The extracted expiration date information is displayed to the user so that the user can check and correct it.

[1487] Input: Extracted expiration date information

[1488] Output: Confirmed or corrected expiration date information

[1489] Specific behavior: The screen displays "The extracted expiration date is December 15, 2023. Is this correct?" and provides "Confirm" or "Modify" buttons. If the user presses the "Modify" button, a correction input field will appear.

[1490] Step 4:

[1491] Sending data

[1492] The terminal transmits the confirmed expiration date information and image data to the server.

[1493] Input: Confirmed or corrected expiration date information, saved photo data

[1494] Output: Data sent to the server

[1495] Specific operation: The device uses Wi-Fi or a mobile data network to send the confirmed expiration date information and image data as a POST request to the server's API endpoint.

[1496] Step 5:

[1497] Data storage and notification settings

[1498] The server validates the received data and stores it in a central database.

[1499] Input: Data sent to the server (expiration date information, image data)

[1500] Output: Records stored in a central database (e.g. food ID, user ID, image path, expiration date, registration date)

[1501] Specific operations: The server analyzes the received data, saves it as a new record in the database, calculates the notification schedule (e.g., sets it to notify 7 days before the expiration date), and sets the notification.

[1502] Step 6:

[1503] Emotional Data Analysis

[1504] The server uses an emotion engine to analyze the user's emotion data.

[1505] Input: User's facial expression data, voice data

[1506] Output: Parsed emotional state (e.g., stress, joy)

[1507] Specific operation: The server calls the emotion engine, receives the user's facial expression and voice data as input, analyzes the emotional state, and stores the results in a database.

[1508] Step 7:

[1509] Sending and Coordinating Notifications

[1510] The server adjusts the content and timing of notifications based on the user's emotional state.

[1511] Input: Emotional state, notification schedule

[1512] Output: Throttled notification

[1513] Specific operation: The server checks the user's emotional data and adjusts the timing and content of notifications as needed. For example, if the user is feeling stressed, the server may delay notifications or soften their content.

[1514] Step 8:

[1515] Receiving and Viewing Notifications

[1516] The terminal receives the tailored notification from the server and displays it to the user.

[1517] Input: Adjusted notification

[1518] Output: The notification that is displayed to the user

[1519] What happens: The device receives the notification from the server and displays it to the user as a push notification. When the user clicks on the notification, the app launches and displays more information.

[1520] Through the above processing steps, the system can efficiently manage the expiration date of preserved foods and provide notifications according to the user's emotional state.

[1521] (Application example 2)

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

[1523] Managing expiration dates for non-perishable foods is a time-consuming task for users, and they often forget to do so. Furthermore, the lack of flexible notifications based on the user's emotional state can increase stress. Furthermore, food delivery services often lack adequate support for users to efficiently manage non-perishable foods. To solve these problems, a system that integrates expiration date management and notification adjustment based on the user's emotional state is needed.

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

[1525] In this invention, the server includes a means for capturing images of preserved foods, a means for recognizing expiration dates from the captured images, a means for saving the recognized expiration date information, a means for notifying the user based on the recognized expiration date information on a set date, a means for acquiring and analyzing emotional data, and a means for adjusting the content and timing of notifications based on the acquired emotional data. This enables efficient expiration date management of preserved foods and flexible notifications according to the user's emotional state. It also improves user convenience and satisfaction in food delivery services.

[1526] "Means for taking images of preserved foods" refers to a camera or photographing device for taking images of preserved foods, and is a device that can save the images as digital data.

[1527] "Means for recognizing expiration dates from photographed images" refers to technology that analyzes photographed images and extracts text information related to expiration dates from them, such as a system that uses OCR (optical character recognition) technology to recognize expiration dates.

[1528] A "means for storing recognized expiration date information" is a device or software for storing the extracted expiration date data in a local or remote database.

[1529] "Means for notifying based on expiration date information recognized on a set date" refers to a function or mechanism for sending notifications to users based on stored expiration date data, including, for example, push notifications to mobile devices.

[1530] "Means for acquiring and analyzing emotional data" refers to technology for acquiring and analyzing emotional information from a user's facial expressions, voice, etc. in real time, and includes, for example, a camera, microphone, and emotion recognition software.

[1531] "Means for adjusting the content and timing of notifications based on the acquired emotional data" refers to a function that uses analyzed emotional data to notify users with appropriate content at the appropriate time.

[1532] This invention is a system that manages expiration dates of preserved foods and provides notifications based on the user's emotions. This system is realized using a smartphone application, a server, and an emotion engine.

[1533] System configuration

[1534] Smartphone application

[1535] 1. Photographing preserved foods

[1536] The user launches the smartphone application and takes a picture of the preserved food. The image is captured using the camera module and saved in local storage.

[1537] 2. Extraction of expiration date information

[1538] The application analyzes the captured image using OCR (Optical Character Recognition) technology to extract expiration date information, which is then displayed to the user for confirmation. The user can then modify this information as needed.

[1539] 3. Data transmission

[1540] The confirmed expiration date information and image data are sent to the server. The application encodes this data and sends it to the server using a secure communication protocol (e.g., HTTPS).

[1541] server

[1542] 1. Data storage

[1543] The server stores the received expiration date information and image data in a database. A database system (e.g., Firebase) is used for efficient data management and access.

[1544] 2. Backend Processes

[1545] The server runs a backend process based on a set schedule to periodically check the stored expiration date information. For example, if a notification is required one week before the expiration date, the server identifies the relevant record and prepares the notification.

[1546] 3. Emotion recognition and notification adjustment

[1547] The server is integrated with an emotion engine (e.g., a TensorFlow-based model) that analyzes the user's voice and facial expression data to recognize their emotional state in real time. Based on this, the content and timing of notifications are adjusted. If the user is feeling stressed, the timing of notifications may be delayed or the content may be softened.

[1548] 4. Sending notifications

[1549] The notification is sent via a push notification from the server to the smartphone application. The notification is sent to the user's device using the Firebase Messaging service. The notification includes a message informing them of the approaching expiration date and, if necessary, a sentiment-based comment.

[1550] Specific examples

[1551] Example of input prompt:

[1552] User ID: user_123

[1553] Image path: path_to_image.jpg

[1554] Hardware and software used

[1555] Hardware:

[1556] Smartphone (camera, microphone, display)

[1557] software:

[1558] Camera module (image acquisition)

[1559] OCR library (Tesseract, etc.)

[1560] Emotion recognition software (TensorFlow, etc.)

[1561] Database system (Firebase, etc.)

[1562] Communication protocol (HTTPS)

[1563] Push notification service (Firebase Messaging)

[1564] By using this system, users can not only efficiently manage the expiration dates of their preserved foods, but also receive flexible notifications according to their emotional state, thereby improving user convenience and satisfaction in food delivery services.

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

[1566] Step 1:

[1567] A user launches a smartphone application and takes a picture of a preserved food. The input is image data acquired through the camera, which is then saved in local storage. The specific action is to launch the camera application and press the shutter button.

[1568] Step 2:

[1569] The device extracts expiration date information from the captured image using OCR (Optical Character Recognition) technology. The input is the stored image data, and the output is the extracted expiration date information. Specifically, it uses an OCR library (such as Tesseract) to analyze the text in the image and identify the expiration date.

[1570] Step 3:

[1571] The extracted expiration date information is displayed to the user, who then confirms the information. The input is the expiration date data extracted by OCR, and the output is the expiration date data after user confirmation. Specific operations include the expiration date being displayed on a confirmation screen in the application, and the user pressing the confirm button.

[1572] Step 4:

[1573] The terminal sends the confirmed expiration date information and image data to the server. The input is the expiration date information confirmed by the user and the original image data, and the output is the transmission of data to the server. Specifically, the terminal uses the HTTPS protocol to perform communication processing to securely send data to the server.

[1574] Step 5:

[1575] The server stores the received expiration date information and image data in a database. The input is the sent expiration date information and image data, and the output is the result of saving to the database. Specifically, the server performs a process to add the data to a database service such as Firebase.

[1576] Step 6:

[1577] The server executes backend processing based on a set schedule and periodically checks the stored expiration date information. The input is the expiration date information in the database, and the output is a flag indicating the need for notification. Specifically, the scheduled task is executed and the corresponding record is searched for.

[1578] Step 7:

[1579] The server acquires and analyzes the user's emotional data. The input is the user's voice and facial expression data, and the output is analyzed emotional state data. Specifically, emotion recognition software (e.g., TensorFlow model) analyzes the voice and image data to identify the user's emotional state.

[1580] Step 8:

[1581] The server adjusts the content and timing of notifications based on the acquired emotional data. The input is the analyzed emotional state data, and the output is the adjusted notification content and timing. Specific operations include generating notification text and changing the schedule according to the emotional state.

[1582] Step 9:

[1583] The server sends the notification content to the smartphone application and notifies the user. The input is the adjusted notification data, and the output is the notification sent to the user's smartphone. Specifically, it uses the Firebase Messaging service to send the push notification.

[1584] Step 10:

[1585] The user receives a notification and checks the expiration date information of a preserved food. The input is the notification received on the smartphone, and the output is the user's action (e.g., launching an application). Specific actions include tapping the notification banner to open the application and check the detailed information.

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

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

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

[1589] [Fourth embodiment]

[1590] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

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

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

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

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

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

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

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

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

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

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

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

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

[1603] The present invention is a system for efficiently managing the expiration dates of preserved foods, and is configured as follows.

[1604] System Overview

[1605] This system allows users to take pictures of preserved food, extract and save expiration date information from the images, and automatically notify users on the set expiration date.The system is mainly divided into a terminal application, a server, and a back-end process.

[1606] Configuring the Terminal Application

[1607] User launches the app and takes a photo:

[1608] First, the user launches the application on their device. The application has a built-in camera function, allowing the user to take photos of the preserved food. The device then temporarily stores the photos in its local storage.

[1609] Extracting expiration dates from images:

[1610] The device analyzes the captured image and uses an OCR library to automatically recognize expiration dates. For example, a best-by date of "December 15, 2023" is extracted from the photo. This information is then confirmed by the user, who can then modify it if necessary.

[1611] Data transmission and storage:

[1612] After the expiration date information is confirmed, the device sends this information and image data to the server, which verifies the received data and stores it in a central database. At this time, the notification schedule is also set on the server side.

[1613] Server Configuration

[1614] Data Management:

[1615] The server stores the expiration date information and image data sent from the terminal in a central database and manages the necessary fields (food ID, user ID, image path, expiration date, registration date and time, etc.) It also calculates the notification timing and sets it to notify, for example, seven days before the expiration date.

[1616] Back-end process checks expiry date:

[1617] The server has a backend process that runs periodically, for example, every night at midnight, to check the database and find any records with expiration dates that require notification.

[1618] Send notifications:

[1619] When the server finds a suitable food item, it adds it to the device list and generates a push notification to send to the device, which then notifies the user that the expiration date is approaching.

[1620] Specific examples

[1621] Example: Canned food with a best-by date of December 15, 2023

[1622] 1. The user launches the app and takes a photo of a preserved food (canned food).

[1623] 2. The device recognizes the date as "December 15, 2023" from the captured image and displays that information to the user for confirmation.

[1624] 3. Once the user confirms, the expiration date information and image data are sent to the server.

[1625] 4. The server saves this data in a database and sets the notification timing (for example, notify on December 8th).

[1626] 5. On December 8th, the server checks the expiration date through a backend process and sends a push notification to the user's device.

[1627] 6. The device receives the push notification and displays a message to the user saying, "This canned food's expiration date is approaching."

[1628] In this way, users can efficiently manage the expiration dates of preserved foods without any hassle and receive appropriate notifications on the set deadlines.

[1629] The processing flow will be explained below.

[1630] Program processing flow

[1631] 1. Terminal application processing

[1632] 1.1 Taking photos:

[1633] Step 1:

[1634] The user launches the app and presses the "Take Photo" button.

[1635] The device will launch the camera and switch to preview mode.

[1636] Step 2:

[1637] The user takes a photo of the preserved food and presses the capture button.

[1638] The device acquires the photos it has taken and temporarily stores them in local storage.

[1639] 1.2 Extract expiration date from image:

[1640] Step 3:

[1641] The device analyzes images stored in local storage using an OCR library.

[1642] The device extracts text data from the image and searches for date information corresponding to the expiration date.

[1643] Step 4:

[1644] The terminal displays the extracted expiration date information on a confirmation screen and asks the user for confirmation.

[1645] 1.3 Data verification and transmission:

[1646] Step 5:

[1647] The user checks the displayed expiration date information and corrects it if necessary.

[1648] The user presses the "Save" button to confirm the expiration date information.

[1649] Step 6:

[1650] The device sends the confirmed expiration date information and image data in JSON format to the server.

[1651] 2. Server Processing

[1652] 2.1 Data Receipt and Storage:

[1653] Step 7:

[1654] The server receives the JSON data sent from the device.

[1655] The server validates the structure of the received data and ensures that all required fields (image data, expiration date, etc.) are present.

[1656] Step 8:

[1657] The server stores the data in a central database.

[1658] Record fields such as food ID, user ID, image path, expiration date, and registration date and time in the database.

[1659] 2.2 Setting up notification schedule:

[1660] Step 9:

[1661] The server calculates a notification schedule for the stored data.

[1662] The server calculates the date 7 days before the expiration date and saves it in the notification table.

[1663] 3. Backend processing

[1664] 3.1 Notification preparation:

[1665] Step 10:

[1666] A backend process on the server runs every night at midnight and checks the notification table.

[1667] The server searches for a record whose current date matches the notification date.

[1668] 3.2 Notifications sent:

[1669] Step 11:

[1670] The server creates a list of foods that require notifications and obtains the relevant user ID and device information.

[1671] The server sends a push notification to the user's device.

[1672] Step 12:

[1673] The device receives the push notification from the server and displays the notification to the user.

[1674] The user opens the notification and launches the app to see more information.

[1675] Specific examples

[1676] Example: Canned food with a best-by date of December 15, 2023

[1677] 1. Photographing and expiration date recognition:

[1678] Step 1:

[1679] The user launches the app and takes a photo of the can.

[1680] The device saves the captured image in local storage.

[1681] Step 2:

[1682] The device extracts the text "December 15, 2023" from the image.

[1683] The terminal prompts the user to check the expiration date information.

[1684] 2. Data transmission and storage:

[1685] Step 3:

[1686] The user confirms the information and clicks the save button.

[1687] The terminal transmits the expiration date information to the server.

[1688] Step 4:

[1689] The server stores the data in a database and sets up the notification schedule.

[1690] 3. Notification Processing:

[1691] Step 5:

[1692] On December 8th (the notification setting date), the server's backend process runs and searches for the notification record.

[1693] The server sends a push notification to the user.

[1694] Step 6:

[1695] The device receives the notification and displays to the user, "This canned food is nearing its expiration date."

[1696] The user opens the notification and launches the app to see more information.

[1697] Example 1

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

[1699] Managing the expiration dates of preserved foods manually is a huge hassle, and there is a problem that expired foods are easily overlooked. Furthermore, it is difficult to centrally manage multiple preserved foods, which increases the burden on users to check and record expiration dates individually. For this reason, there is a demand for a system that can efficiently and accurately manage expiration dates of preserved foods and automatically notify them.

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

[1701] In this invention, the server includes a means for sending a notification on a set date based on the stored expiration date information, an optical character recognition means, and a means for storing the expiration date information, thereby enabling the expiration dates of preserved foods to be automatically managed and for users to be notified without missing the notification timing.

[1702] "Means for taking images of preserved food" refers to the ability of an end user to use the device to capture images of preserved food.

[1703] "Optical character recognition means" refers to technology for extracting text information from image data, and includes OCR (Optical Character Recognition) libraries and APIs.

[1704] "Means for displaying recognized expiration date information to the user and allowing the user to confirm and correct it" is a function that displays the extracted expiration date information on the user's terminal screen, allowing the user to confirm the information and correct it as necessary.

[1705] The "means for saving the confirmed and corrected expiration date information" is a function for saving the expiration date information confirmed and corrected by the user in the database.

[1706] "Means for sending notifications on a set date based on stored expiration date information" is a function that sends notifications to users at a pre-set date and time based on stored expiration date information.

[1707] "Optical character recognition means for automatically extracting expiration dates from photographed images of preserved foods" is a function that uses optical character recognition technology to automatically extract expiration date information from images of preserved foods photographed by a user.

[1708] The "display means for allowing the user to confirm the extracted expiration date information" is a function that displays the expiration date information extracted by OCR on the user's terminal so that the information can be confirmed.

[1709] The "means for saving and transmitting expiration date information after confirmation by the user" is a function for saving the expiration date information confirmed by the user and transmitting it to the server.

[1710] The "timing calculation means for the server to automatically set the timing of notification" is a function that the server automatically calculates and sets the optimal timing of notification based on expiration date information.

[1711] "Means for periodically checking expiration date information as a back-end process based on timing calculations" is a function that uses a back-end process that runs periodically on the server side to check the database to ensure that notifications based on expiration dates are sent appropriately.

[1712] The "push notification generating means for sending a notification to the terminal of the relevant user" is a function that automatically generates a push notification when the expiration date approaches and sends it to the terminal of the relevant user.

[1713] This invention is a system for efficiently managing the expiration dates of preserved foods, and its main components are a user, a terminal, and a server. This system takes pictures of preserved foods, extracts expiration date information, saves that information, and automatically notifies users on a set date, thereby streamlining the management of preserved foods.

[1714] Configuring the Terminal Application

[1715] The terminal application has a camera function that allows the user to take an image of the preserved food. The user launches the application and takes a photo of the preserved food. The captured image is temporarily stored in local storage.

[1716] The system uses an optical character recognition (OCR) library (e.g., Google Vision API) to automatically extract expiration date information from captured images. This extracted information is then displayed to the user, who can review and correct it if necessary. This process ensures the accuracy of the expiration date information.

[1717] Server and backend process configuration

[1718] Once the user confirms the expiration date information, the device sends the information and image to the server, which verifies the received data and stores it in a central database. The stored data includes fields such as food ID, user ID, image path, expiration date, and registration date and time.

[1719] The server also automatically schedules notifications based on the stored expiration date information, with the timing calculations based on a pre-defined number of days (e.g., 7 days in advance).

[1720] The server has a backend process that runs periodically. This process checks the database and picks out records that require notifications. This process typically runs late at night every day. When a matching record is found, the server generates a push notification and sends it to the user's device. The device then displays the received push notification to the user, informing them that the expiration date is approaching.

[1721] Specific examples

[1722] Example: Canned food with a best-by date of December 15, 2023

[1723] 1. The user launches the food storage management app and uses the camera function to take a photo of the canned food.

[1724] 2. The device temporarily stores the captured image of the can in local storage.

[1725] 3. The device uses the OCR library to automatically read the expiration date "December 15, 2023" from the image and displays that information to the user.

[1726] 4. The user checks the expiration date information displayed and presses the confirmation button.

[1727] 5. The terminal sends the confirmed expiration date information and image data to the server.

[1728] 6. The server receives the data and stores the expiration date information, food ID, user ID, image path, registration date and time, etc. in the database.

[1729] 7. The server schedules notifications based on the expiration date (e.g., notify 7 days before the expiration date).

[1730] 8. On December 8th, the server checks the expiration date through a backend process and sends a push notification to the user's device.

[1731] 9. The device receives the push notification and displays a message to the user saying, "This canned food's expiration date is approaching."

[1732] In this way, users can efficiently manage the expiration dates of preserved foods and receive timely notifications.

[1733] Prompt Sentence Examples

[1734] Please explain in detail the process of extracting expiration dates from images and sending notifications in a system that streamlines the expiration date management of preserved foods.

[1735] This system allows users to avoid the tedious task of manually checking expiration dates, making food management easier.

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

[1737] Step 1:

[1738] The user launches the app and takes a photo of the preserved food.

[1739] A user launches a preserved food management application on a device. As input, the camera function is activated so that the user can take a photo. As output, the captured image is temporarily stored in the device's local storage. Specifically, the user uses the camera app to take a picture of the preserved food, and the image data is temporarily stored in the local storage.

[1740] Step 2:

[1741] The device performs OCR on the image and extracts the expiration date information.

[1742] The device takes image data stored in local storage as input and uses an OCR library (e.g., Google Vision API) to extract expiration date information. The output is extracted text data (e.g., "December 15, 2023"). Specifically, the device sends the image data to the OCR library, which extracts and returns text information from the image.

[1743] Step 3:

[1744] The device displays the extracted expiration date information to the user and asks for confirmation.

[1745] The terminal takes the results of the OCR process as input and displays the expiration date information to the user. The user can then check the extracted information and correct it if necessary. The output is the confirmed (or corrected) expiration date information. Specifically, the terminal uses a pop-up or dialog box to display the expiration date information to the user, who can then check or correct it.

[1746] Step 4:

[1747] Send expiration date information to the server

[1748] The device takes the expiration date information and image data confirmed by the user as input and sends them to the server using the HTTPS protocol. As output, the data is sent to the server, and the server confirms receipt. Specifically, the device generates an HTTPS request and sends it to the server along with metadata such as the user ID and food ID.

[1749] Step 5:

[1750] The server saves the received data

[1751] The server receives the expiration date information and image data from the terminal, verifies the data, and saves it in a central database. The saved expiration date information, image path, etc. are stored in the database as output. Specifically, the server checks the data format and whether the required information is present, and saves the information in the database.

[1752] Step 6:

[1753] The server sets the notification schedule

[1754] The server inputs the stored expiration date information and calculates and sets the notification timing. The configured notification schedule is obtained as output. Specifically, the server calculates a certain number of days (e.g., 7 days before) from the expiration date and sets the schedule to send notifications at that date and time.

[1755] Step 7:

[1756] A backend process periodically checks the database

[1757] The server's backend process runs every night at midnight and checks the central database. As input, it uses the current date and stored expiration date information. As output, it gets a list of expiration date records that require notification. Specifically, the backend process scans the expiration date information in the database and picks out records that require notification.

[1758] Step 8:

[1759] The server generates and sends the push notification

[1760] The server takes the expiration date records picked up by the backend process as input and generates push notifications to the corresponding user's device. As output, the generated push notifications are sent to each user's device. Specifically, the server creates a notification message and sends it to the user's device ID.

[1761] Step 9:

[1762] The device receives the push notification and displays it to the user.

[1763] The device receives the push notification from the server as input and displays the notification to the user. As output, the user is made aware that the expiration date is approaching. Specifically, the device displays a message such as "This preserved food is nearing its expiration date" using a notification bar or pop-up.

[1764] (Application example 1)

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

[1766] Manually managing expiration dates for preserved foods is time-consuming and prone to human error. Furthermore, efficiently managing large quantities of products in a store is difficult, and expired products may remain on the shelves. These problems result in increased disposal costs and reduced customer satisfaction. The present invention aims to solve these problems by providing a system for efficiently managing expiration dates for preserved foods and responding quickly.

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

[1768] In this invention, the server includes means for taking an image of the preserved food, means for recognizing the expiration date from the captured image, means for saving the recognized expiration date information, means for notifying the store staff based on the recognized expiration date information on a set date, means for store staff to efficiently manage the expiration dates of the products, optical character recognition means for automatically extracting the expiration date from the image, means for store staff to confirm the extracted expiration date information, means for transmitting data to a central computer for managing the expiration dates of the products, and means for communicating with a mobile terminal for transmitting notifications. This makes it possible to efficiently manage the expiration dates of preserved foods and quickly respond to products whose expiration dates are approaching.

[1769] "Preserved foods" are foods that can be stored for a long period of time and have a set expiration date.

[1770] "Means for taking an image" refers to a method or device for a device with a camera function to acquire an image.

[1771] The "means for recognizing expiration dates" refers to a method or device for extracting expiration date information from an image and recognizing its contents.

[1772] The "means for storing expiration date information" refers to a method or device for recording the extracted expiration date information in a storage device.

[1773] The "notification means" refers to a method or device for notifying the user on a set date based on expiration date information.

[1774] "Store staff management means" refers to methods and devices that enable store employees to efficiently manage product expiration dates.

[1775] "Optical character recognition means" is a technology for automatically reading character information from an image.

[1776] The "means for allowing confirmation" refers to a method or device for presenting the extracted information to the user and allowing the user to confirm its accuracy.

[1777] "Means for transmitting to a central computer" refers to a method or device for transferring data to a central computer system.

[1778] A "communication means" is a method or device for exchanging data between different devices.

[1779] A "mobile terminal" is a portable computing device, including, for example, a smartphone or tablet.

[1780] This invention is a system for efficiently managing the expiration dates of preserved foods and responding promptly. This system is mainly composed of a terminal, a server, and related software components.

[1781] System Overview

[1782] 1. Device features:

[1783] Image capture: The user (store staff) uses a device (such as a smartphone) to take a picture of the preserved food.

[1784] Best-before date recognition: The device analyzes the captured image and extracts the best-before date using optical character recognition (OCR) technology, such as software like Tesseract OCR.

[1785] Data confirmation and storage: The user confirms the extracted expiration date information and corrects it if necessary. The confirmed data is sent from the terminal to the server.

[1786] 2. Server Functions:

[1787] Data management: The server stores the submitted expiration date information and image data in a central database. This data includes the food ID, user ID, image path, expiration date, registration date, etc.

[1788] Notification setting: The server sets the notification timing based on the expiration date. For example, set it to notify 7 days before the expiration date.

[1789] Notification sending: The server periodically checks the database through a backend process and generates and sends push notifications to the device about products that are about to expire.

[1790] Specific examples

[1791] Example: Canned food with a best-by date of December 15, 2023

[1792] 1. The user (store staff) launches the app and takes a photo of the canned food.

[1793] 2. The device uses Tesseract OCR to recognize the date as "December 15, 2023" from the captured image and displays the information to the user for confirmation.

[1794] 3. Once the user confirms, the expiration date information and image data are sent to the server.

[1795] 4. The server saves this data in a database and sets the notification timing (for example, notify on December 8th).

[1796] 5. On December 8th, the server checks the expiration date through a backend process and sends a push notification to the user's device.

[1797] 6. The device receives the push notification and displays a message to the user saying, "This canned food's expiration date is approaching."

[1798] Hardware and software used

[1799] Hardware: Smartphones, servers, mobile devices

[1800] Software: Tesseract OCR, Django framework, Firebase Cloud Messaging (FCM) or Apple Push Notification service (APNs)

[1801] Example prompt for a generative AI model:

[1802] Design a smartphone application that takes a photo of a can of food, extracts the expiration date, and sends a notification 7 days before the expiration date. Use Tesseract as the OCR library and Firebase Cloud Messaging for the notification.

[1803] This allows for efficient management of expiration dates for preserved foods and makes it possible to respond quickly to products approaching their expiration date.

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

[1805] Step 1:

[1806] The user launches the application on their device and takes a picture of the preserved food. The actual preserved food is used as input, and the captured image data is generated as output. Specifically, the image is captured using the smartphone's camera function and temporarily saved in local storage.

[1807] Step 2:

[1808] The device analyzes the captured image and extracts the expiration date. The input here is the captured image data, and the output is the extracted expiration date information. Specifically, Tesseract OCR is used to read text information from the image, and the expiration date part is extracted using regular expressions, etc.

[1809] Step 3:

[1810] The terminal displays the extracted expiration date information to the user and asks for confirmation. The input is the extracted expiration date information, and the output is the expiration date information confirmed by the user. Specifically, a screen displaying the expiration date is presented to the user, and the user confirms the information and corrects it if necessary.

[1811] Step 4:

[1812] The expiration date information and image data confirmed by the user are sent from the terminal to the server. The input is the confirmed expiration date information and image data, and the output is the data sent to the server. Specifically, this data is sent to the server using an HTTP request.

[1813] Step 5:

[1814] The server validates the received data and stores it in a central database. The input here is the submitted expiration date information and image data, and the output is the data recorded in the database. Specifically, the Django framework is used to store the data in the appropriate fields in the database.

[1815] Step 6:

[1816] The server sets the notification timing based on the saved data. The input is the expiration date information, and the output is the notification timing setting. Specifically, it calculates the notification timing to be 7 days before the expiration date and records this information in the database.

[1817] Step 7:

[1818] The server periodically checks the database through a backend process to pick out products that are approaching their expiration date. The input is all the data in the database, and the output is a list of products for which notifications are required. Specifically, a batch process is run every night to search for products with expiration dates within the next seven days.

[1819] Step 8:

[1820] The server generates a push notification for the relevant product and sends it to the device. The input is the product data for the notification, and the output is the push notification to the device. Specifically, notifications are sent using Firebase Cloud Messaging (FCM) or Apple Push Notification service (APNs).

[1821] Step 9:

[1822] The device displays the received push notification to the user. The input is the push notification from the server, and the output is the notification displayed to the user. Specifically, using the smartphone's notification function, a message such as "This canned food's expiration date is approaching" is displayed to the user.

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

[1824] This invention is an advanced system that efficiently manages expiration dates for preserved foods and adjusts notification content and timing by recognizing the user's emotions. This system is composed of a terminal application, a server, and an emotion engine.

[1825] System Overview

[1826] This system allows users to take pictures of preserved foods, extract and save expiration date information from the images, and automatically send notifications on the set date.It also incorporates an emotion engine that recognizes the user's emotions, and has the function of adjusting the content and timing of notifications according to the user's emotional state.

[1827] Configuring the Terminal Application

[1828] User launches the app and takes a photo:

[1829] The user launches the app and takes a photo of the preserved food, which is then temporarily saved to the device's local storage.

[1830] Extracting expiration dates from images:

[1831] The device analyzes the stored image and uses an OCR library to recognize the expiration date. For example, a best-by date of "December 15, 2023" is extracted. This information can be confirmed by the user and corrected if necessary.

[1832] Data transmission and storage:

[1833] After the expiration date information is confirmed, the device sends this information and image data to the server, which verifies the received data and stores it in a central database. At this time, the notification schedule is also set on the server side.

[1834] Server Configuration

[1835] Data Management:

[1836] The server stores the expiration date information and image data sent from the terminal in a central database and manages the necessary fields (food ID, user ID, image path, expiration date, registration date and time, etc.) It also calculates the notification timing and sets it to notify, for example, seven days before the expiration date.

[1837] Back-end process checks expiry date:

[1838] The server has a backend process that runs periodically, for example, every night at midnight, to check the database and find any records with expiration dates that require notification.

[1839] Emotion engine integration:

[1840] The server incorporates an emotion engine that analyzes and stores the user's emotional data. The emotion engine analyzes facial expressions and voice data when the user uses the app to grasp the user's emotional state in real time.

[1841] Sending and Coordinating Notifications:

[1842] The server adjusts the content and timing of notifications based on the user's emotional state. For example, if the user is feeling stressed, the server can delay or soften the notification. If the user is happy, the server can also speed up the notification.

[1843] Specific examples

[1844] Example: Canned food with a best-by date of December 15, 2023

[1845] 1. Shooting and Recognition:

[1846] The user launches the app and takes a photo of a can of preserved food. The device extracts the expiration date (December 15, 2023) from the image and prompts the user to confirm it.

[1847] 2. Data transmission and storage:

[1848] The user checks the expiration date information and presses the send button. The device sends the expiration date information and image data to the server. The server saves the data in a database and sets a notification schedule (for example, to notify on December 8th).

[1849] 3. Emotion recognition and notification adjustment:

[1850] The emotion engine analyzes the user's emotions while they are using the app. For example, if the server detects that the user is feeling stressed on December 8th, it will delay the timing of notifications or make them lighter. Conversely, if the user is feeling happy, it will send notifications immediately.

[1851] 4. Notification Processing:

[1852] The server's backend process finds the date December 8th and searches for the relevant record. Based on the emotion engine data, a tailored notification is generated and sent to the device. The device receives the notification and displays to the user, "This canned food is nearing its expiration date." The user opens the notification and launches the app to view more information.

[1853] In this way, the system reduces the effort required to manage preserved foods and provides notifications tailored to the user's emotional state, creating a more comfortable user experience.

[1854] The processing flow will be explained below.

[1855] Program processing flow (system combining emotion engines)

[1856] 1. Terminal application processing

[1857] 1.1 Taking photos:

[1858] Step 1:

[1859] The user launches the app and presses the "Take Photo" button.

[1860] The device will launch the camera and switch to preview mode.

[1861] Step 2:

[1862] The user takes a photo of the preserved food and presses the capture button.

[1863] The device acquires the photos it has taken and temporarily stores them in local storage.

[1864] 1.2 Extract expiration date from image:

[1865] Step 3:

[1866] The device analyzes images stored in local storage using an OCR library.

[1867] The device extracts text data from the image and searches for date information corresponding to the expiration date.

[1868] Step 4:

[1869] The terminal displays the extracted expiration date information on a confirmation screen and asks the user for confirmation.

[1870] 1.3 Data verification and transmission:

[1871] Step 5:

[1872] The user checks the displayed expiration date information and corrects it if necessary.

[1873] The user presses the "Save" button to confirm the expiration date information.

[1874] Step 6:

[1875] The device sends the confirmed expiration date information and image data in JSON format to the server.

[1876] 2. Server Processing

[1877] 2.1 Data Receipt and Storage:

[1878] Step 7:

[1879] The server receives the JSON data sent from the device.

[1880] The server validates the structure of the received data and ensures that all required fields (image data, expiration date, etc.) are present.

[1881] Step 8:

[1882] The server stores the data in a central database.

[1883] Record fields such as food ID, user ID, image path, expiration date, and registration date and time in the database.

[1884] 2.2 Setting up notification schedule:

[1885] Step 9:

[1886] The server calculates a notification schedule for the stored data.

[1887] The server calculates the date 7 days before the expiration date and saves it in the notification table.

[1888] 3. Emotion Engine Processing

[1889] 3.1 Analysis of user emotion data:

[1890] Step 10:

[1891] When a user operates the app, the device uses the camera and microphone to collect the user's facial expressions and voice.

[1892] The device sends the collected data to the emotion engine.

[1893] Step 11:

[1894] The emotion engine analyzes the user's facial and voice data to identify their emotional state (e.g., stress, joy, depression, etc.).

[1895] The emotion engine sends the analysis results to the server.

[1896] 3.2 Storage and Use of Emotional Data:

[1897] Step 12:

[1898] The server stores the emotion data received from the emotion engine in a database.

[1899] The server adjusts the timing and content of notifications based on the user's emotional state.

[1900] 4. Backend processing

[1901] 4.1 Notification preparation:

[1902] Step 13:

[1903] A backend process on the server runs every night at midnight and checks the notification table.

[1904] The server searches for a record whose current date matches the notification date.

[1905] 4.2 Notification Delivery:

[1906] Step 14:

[1907] The server creates a list of foods that require notifications and obtains the relevant user ID and device information.

[1908] The server references the user's emotional data and adjusts the content and timing of the notification.

[1909] Step 15:

[1910] The server generates the tailored notification and sends the push notification to the device.

[1911] Step 16:

[1912] The device receives the push notification from the server and displays the notification to the user.

[1913] The user opens the notification and launches the app to see more information.

[1914] Specific examples

[1915] Example: Canned food with a best-by date of December 15, 2023

[1916] 1. Shooting and Recognition:

[1917] Step 1:

[1918] The user launches the app and takes a photo of a preserved food item (canned food).

[1919] The device saves the captured image in local storage.

[1920] Step 2:

[1921] The device extracts the text "December 15, 2023" from the image.

[1922] The terminal prompts the user to check the expiration date information.

[1923] 2. Data transmission and storage:

[1924] Step 3:

[1925] The user confirms the information and clicks the save button.

[1926] The terminal transmits the expiration date information to the server.

[1927] Step 4:

[1928] The server stores the data in a database and sets up the notification schedule.

[1929] 3. Emotion recognition and notification adjustment:

[1930] Step 5:

[1931] The user operates the app, and the device collects the user's facial expressions and voice data.

[1932] The device sends data to the emotion engine.

[1933] Step 6:

[1934] The emotion engine analyzes the user's emotional state and sends the results to the server.

[1935] The server stores the emotion data and configures the notification settings.

[1936] 4. Notification Processing:

[1937] Step 7:

[1938] On December 8th (the notification setting date), the server's backend process runs and searches for the notification record.

[1939] Step 8:

[1940] Based on the data from the emotion engine, tailored notifications are generated and sent to the device.

[1941] Step 9:

[1942] The device receives the notification and displays to the user, "This canned food is nearing its expiration date."

[1943] The user opens the notification and launches the app to see more information.

[1944] In this way, the system utilizes an emotion engine to provide notifications according to the user's state, thereby achieving a better user experience.

[1945] Example 2

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

[1947] Although there are many systems that efficiently manage expiration dates for preserved foods, these systems do not take into account the user's current emotional state, and notifications can be stressful for the user. In addition, extracting and managing expiration date information can be time-consuming, which increases the burden on the user.

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

[1949] In this invention, the server includes a means for taking an image of the preserved food, a means for recognizing the expiration date from the taken image, a means for saving the recognized expiration date information, and a means for adjusting the content and timing of the notification based on the emotion recognition means, thereby enabling the content and timing of the notification to be flexibly adjusted according to the user's emotional state, thereby improving the user experience.

[1950] "Preserved foods" refers to foods that have a long shelf life and can be stored, including canned and dried foods.

[1951] "Means for taking an image" refers to the process of acquiring an image using a device or application with a camera function.

[1952] "Means for recognizing expiration dates" refers to technology or software for extracting text information from captured images and identifying expiration dates.

[1953] "Means for storing recognized expiration date information" refers to a system or process for storing the extracted expiration date data in a storage device or database.

[1954] "Means for notifying based on expiration date information recognized on a set date" refers to a function that sends a notification to the user when a pre-set date is reached based on stored expiration date data.

[1955] "Emotion recognition means" refers to algorithms or technologies used to analyze a user's emotions, such as systems that perform facial expression recognition or voice analysis.

[1956] "Means for adjusting the content and timing of notifications" refers to a function for changing the text of notifications and the timing of sending notifications based on the analysis results of the emotion recognition means.

[1957] "User experience" refers to the overall satisfaction and convenience that a user feels when using a system.

[1958] This invention is an advanced system that efficiently manages expiration dates for preserved foods and adjusts notification content and timing by recognizing the user's emotions. The system is composed of a terminal application, a server, and an emotion engine.

[1959] System Overview

[1960] This system allows users to take pictures of preserved foods, extract and save expiration date information from the images, and automatically send notifications on the set date.It also incorporates an emotion engine that recognizes the user's emotions, and has the function of adjusting the content and timing of notifications according to the user's emotional state.

[1961] Configuring the Terminal Application

[1962] The user launches the app and takes a photo

[1963] The user launches the app and takes a photo of the preserved food. The device temporarily saves the photo in local storage.

[1964] Extract expiration dates from images

[1965] The device analyzes the stored image and uses an OCR library (e.g., Tesseract OCR) to recognize the expiration date. For example, a best-by date of "December 15, 2023" is extracted. This information can be confirmed by the user and corrected if necessary.

[1966] Data transmission and storage

[1967] After the expiration date information is confirmed, the device sends this information and image data to the server, which verifies the received data and stores it in a central database. At this time, the notification schedule is also set on the server side.

[1968] Server Configuration

[1969] Manage data

[1970] The server stores the expiration date information and image data sent from the terminal in a central database and manages the necessary fields (food ID, user ID, image path, expiration date, registration date and time, etc.) It also calculates the notification timing and sets it to notify, for example, seven days before the expiration date.

[1971] Back-end process checks expiration dates

[1972] The server has a backend process that runs periodically, for example, every night at midnight, to check the database and find any records with expiration dates that require notification.

[1973] Emotion engine integration

[1974] The server incorporates an emotion engine that analyzes and stores the user's emotional data. The emotion engine analyzes facial expressions and voice data when the user uses the app to grasp the user's emotional state in real time.

[1975] Sending and Coordinating Notifications

[1976] The server adjusts the content and timing of notifications based on the user's emotional state. For example, if the user is feeling stressed, the server can delay or soften the notification. If the user is happy, the server can also speed up the notification.

[1977] Specific examples

[1978] Example: Canned food with a best-by date of December 15, 2023

[1979] 1. Shooting and Recognition

[1980] The user launches the app and takes a photo of a can of preserved food. The device extracts the expiration date (December 15, 2023) from the image and prompts the user to confirm it.

[1981] 2. Data transmission and storage

[1982] The user checks the expiration date information and presses the send button. The device sends the expiration date information and image data to the server. The server saves the data in a database and sets a notification schedule (e.g., notification on December 8th).

[1983] 3. Emotion recognition and notification adjustment

[1984] The emotion engine analyzes the user's emotions while they use the app. For example, if the server detects that the user is feeling stressed on December 8th, it will delay the timing of notifications or make them lighter. Conversely, if the user is feeling happy, it will send notifications immediately.

[1985] 4. Notification Processing

[1986] The server's backend process finds the date December 8th and searches for the relevant record. Based on the emotion engine data, a tailored notification is generated and sent to the device. The device receives the notification and displays to the user, "This canned food is nearing its expiration date." The user opens the notification and launches the app to view more information.

[1987] Examples of prompt statements

[1988] Here are some example prompts to input to a generative AI model:

[1989] Describe the specific steps of a system that efficiently manages expiration dates for preserved foods and adjusts the content and timing of notifications based on the user's emotions. Please provide a detailed description of each process, including taking a photo, extracting the expiration date, analyzing the emotion data, and adjusting the notification.

[1990] As described above, this system reduces the effort required to manage preserved foods and provides notifications that correspond to the user's emotional state, thereby providing a more comfortable user experience.

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

[1992] Specific processing steps of this system program

[1993] Step 1:

[1994] Taking photos

[1995] The user launches the app and takes a photo of the preserved food.

[1996] The device temporarily stores the captured photos in local storage.

[1997] Input: User-launched apps, photos of preserved foods

[1998] Output: Photo data saved in local storage

[1999] Specific behavior: The moment the user presses the shutter button, the device's camera takes a photo and saves it as a file in the internal storage.

[2000] Step 2:

[2001] Best before date extraction

[2002] The device uses an OCR library (e.g., Tesseract OCR) to analyze the captured image.

[2003] Input: Photo data stored in local storage

[2004] Output: Extracted expiration date information (e.g. "December 15, 2023")

[2005] What happens: The device calls the OCR software, processes the stored photo data as OCR input, extracts expiration date information from the parsed text data, and displays it to the user.

[2006] Step 3:

[2007] Check and correct expiration date information

[2008] The extracted expiration date information is displayed to the user so that the user can check and correct it.

[2009] Input: Extracted expiration date information

[2010] Output: Confirmed or corrected expiration date information

[2011] Specific behavior: The screen displays "The extracted expiration date is December 15, 2023. Is this correct?" and provides "Confirm" or "Modify" buttons. If the user presses the "Modify" button, a correction input field will appear.

[2012] Step 4:

[2013] Sending data

[2014] The terminal transmits the confirmed expiration date information and image data to the server.

[2015] Input: Confirmed or corrected expiration date information, saved photo data

[2016] Output: Data sent to the server

[2017] Specific operation: The device uses Wi-Fi or a mobile data network to send the confirmed expiration date information and image data as a POST request to the server's API endpoint.

[2018] Step 5:

[2019] Data storage and notification settings

[2020] The server validates the received data and stores it in a central database.

[2021] Input: Data sent to the server (expiration date information, image data)

[2022] Output: Records stored in a central database (e.g. food ID, user ID, image path, expiration date, registration date)

[2023] Specific operations: The server analyzes the received data, saves it as a new record in the database, calculates the notification schedule (e.g., sets it to notify 7 days before the expiration date), and sets the notification.

[2024] Step 6:

[2025] Emotional Data Analysis

[2026] The server uses an emotion engine to analyze the user's emotion data.

[2027] Input: User's facial expression data, voice data

[2028] Output: Parsed emotional state (e.g., stress, joy)

[2029] Specific operation: The server calls the emotion engine, receives the user's facial expression and voice data as input, analyzes the emotional state, and stores the results in a database.

[2030] Step 7:

[2031] Sending and Coordinating Notifications

[2032] The server adjusts the content and timing of notifications based on the user's emotional state.

[2033] Input: Emotional state, notification schedule

[2034] Output: Throttled notification

[2035] Specific operation: The server checks the user's emotional data and adjusts the timing and content of notifications as needed. For example, if the user is feeling stressed, the server may delay notifications or soften their content.

[2036] Step 8:

[2037] Receiving and Viewing Notifications

[2038] The terminal receives the tailored notification from the server and displays it to the user.

[2039] Input: Adjusted notification

[2040] Output: The notification that is displayed to the user

[2041] What happens: The device receives the notification from the server and displays it to the user as a push notification. When the user clicks on the notification, the app launches and displays more information.

[2042] Through the above processing steps, the system can efficiently manage the expiration date of preserved foods and provide notifications according to the user's emotional state.

[2043] (Application example 2)

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

[2045] Managing expiration dates for non-perishable foods is a time-consuming task for users, and they often forget to do so. Furthermore, the lack of flexible notifications based on the user's emotional state can increase stress. Furthermore, food delivery services often lack adequate support for users to efficiently manage non-perishable foods. To solve these problems, a system that integrates expiration date management and notification adjustment based on the user's emotional state is needed.

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

[2047] In this invention, the server includes a means for capturing images of preserved foods, a means for recognizing expiration dates from the captured images, a means for saving the recognized expiration date information, a means for notifying the user based on the recognized expiration date information on a set date, a means for acquiring and analyzing emotional data, and a means for adjusting the content and timing of notifications based on the acquired emotional data. This enables efficient expiration date management of preserved foods and flexible notifications according to the user's emotional state. It also improves user convenience and satisfaction in food delivery services.

[2048] "Means for taking images of preserved foods" refers to a camera or photographing device for taking images of preserved foods, and is a device that can save the images as digital data.

[2049] "Means for recognizing expiration dates from photographed images" refers to technology that analyzes photographed images and extracts text information related to expiration dates from them, such as a system that uses OCR (optical character recognition) technology to recognize expiration dates.

[2050] A "means for storing recognized expiration date information" is a device or software for storing the extracted expiration date data in a local or remote database.

[2051] "Means for notifying based on expiration date information recognized on a set date" refers to a function or mechanism for sending notifications to users based on stored expiration date data, including, for example, push notifications to mobile devices.

[2052] "Means for acquiring and analyzing emotional data" refers to technology for acquiring and analyzing emotional information from a user's facial expressions, voice, etc. in real time, and includes, for example, a camera, microphone, and emotion recognition software.

[2053] "Means for adjusting the content and timing of notifications based on the acquired emotional data" refers to a function that uses analyzed emotional data to notify users with appropriate content at the appropriate time.

[2054] This invention is a system that manages expiration dates of preserved foods and provides notifications based on the user's emotions. This system is realized using a smartphone application, a server, and an emotion engine.

[2055] System configuration

[2056] Smartphone application

[2057] 1. Photographing preserved foods

[2058] The user launches the smartphone application and takes a picture of the preserved food. The image is captured using the camera module and saved in local storage.

[2059] 2. Extraction of expiration date information

[2060] The application analyzes the captured image using OCR (Optical Character Recognition) technology to extract expiration date information, which is then displayed to the user for confirmation. The user can then modify this information as needed.

[2061] 3. Data transmission

[2062] The confirmed expiration date information and image data are sent to the server. The application encodes this data and sends it to the server using a secure communication protocol (e.g., HTTPS).

[2063] server

[2064] 1. Data storage

[2065] The server stores the received expiration date information and image data in a database. A database system (e.g., Firebase) is used for efficient data management and access.

[2066] 2. Backend Processes

[2067] The server runs a backend process based on a set schedule to periodically check the stored expiration date information. For example, if a notification is required one week before the expiration date, the server identifies the relevant record and prepares the notification.

[2068] 3. Emotion recognition and notification adjustment

[2069] The server is integrated with an emotion engine (e.g., a TensorFlow-based model) that analyzes the user's voice and facial expression data to recognize their emotional state in real time. Based on this, the content and timing of notifications are adjusted. If the user is feeling stressed, the timing of notifications may be delayed or the content may be softened.

[2070] 4. Sending notifications

[2071] The notification is sent via a push notification from the server to the smartphone application. The notification is sent to the user's device using the Firebase Messaging service. The notification includes a message informing them of the approaching expiration date and, if necessary, a sentiment-based comment.

[2072] Specific examples

[2073] Example of input prompt:

[2074] User ID: user_123

[2075] Image path: path_to_image.jpg

[2076] Hardware and software used

[2077] Hardware:

[2078] Smartphone (camera, microphone, display)

[2079] software:

[2080] Camera module (image acquisition)

[2081] OCR library (Tesseract, etc.)

[2082] Emotion recognition software (TensorFlow, etc.)

[2083] Database system (Firebase, etc.)

[2084] Communication protocol (HTTPS)

[2085] Push notification service (Firebase Messaging)

[2086] By using this system, users can not only efficiently manage the expiration dates of their preserved foods, but also receive flexible notifications according to their emotional state, thereby improving user convenience and satisfaction in food delivery services.

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

[2088] Step 1:

[2089] A user launches a smartphone application and takes a picture of a preserved food. The input is image data acquired through the camera, which is then saved in local storage. The specific action is to launch the camera application and press the shutter button.

[2090] Step 2:

[2091] The device extracts expiration date information from the captured image using OCR (Optical Character Recognition) technology. The input is the stored image data, and the output is the extracted expiration date information. Specifically, it uses an OCR library (such as Tesseract) to analyze the text in the image and identify the expiration date.

[2092] Step 3:

[2093] The extracted expiration date information is displayed to the user, who then confirms the information. The input is the expiration date data extracted by OCR, and the output is the expiration date data after user confirmation. Specific operations include the expiration date being displayed on a confirmation screen in the application, and the user pressing the confirm button.

[2094] Step 4:

[2095] The terminal sends the confirmed expiration date information and image data to the server. The input is the expiration date information confirmed by the user and the original image data, and the output is the transmission of data to the server. Specifically, the terminal uses the HTTPS protocol to perform communication processing to securely send data to the server.

[2096] Step 5:

[2097] The server stores the received expiration date information and image data in a database. The input is the sent expiration date information and image data, and the output is the result of saving to the database. Specifically, the server performs a process to add the data to a database service such as Firebase.

[2098] Step 6:

[2099] The server executes backend processing based on a set schedule and periodically checks the stored expiration date information. The input is the expiration date information in the database, and the output is a flag indicating the need for notification. Specifically, the scheduled task is executed and the corresponding record is searched for.

[2100] Step 7:

[2101] The server acquires and analyzes the user's emotional data. The input is the user's voice and facial expression data, and the output is analyzed emotional state data. Specifically, emotion recognition software (e.g., TensorFlow model) analyzes the voice and image data to identify the user's emotional state.

[2102] Step 8:

[2103] The server adjusts the content and timing of notifications based on the acquired emotional data. The input is the analyzed emotional state data, and the output is the adjusted notification content and timing. Specific operations include generating notification text and changing the schedule according to the emotional state.

[2104] Step 9:

[2105] The server sends the notification content to the smartphone application and notifies the user. The input is the adjusted notification data, and the output is the notification sent to the user's smartphone. Specifically, it uses the Firebase Messaging service to send the push notification.

[2106] Step 10:

[2107] The user receives a notification and checks the expiration date information of a preserved food. The input is the notification received on the smartphone, and the output is the user's action (e.g., launching an application). Specific actions include tapping the notification banner to open the application and check the detailed information.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[2129] The following is further disclosed regarding the above embodiment.

[2130] (Claim 1)

[2131] a means for capturing an image of the preserved food;

[2132] A means for recognizing an expiration date from the captured image;

[2133] means for storing the recognized expiration date information;

[2134] A means for notifying based on the expiration date information recognized on a set date;

[2135] A system including:

[2136] (Claim 2)

[2137] A means for automatically extracting expiration dates from photographed images of preserved food;...

Claims

1. a means for capturing an image of the preserved food; A means for recognizing an expiration date from the captured image; means for storing the recognized expiration date information; A means for notifying based on the expiration date information recognized on a set date; A system including:

2. A means for automatically extracting expiration dates from photographed images of preserved food; a means for allowing a user to confirm the extracted expiration date information; The system of claim 1 further comprising:

3. 10. The system of claim 1, further comprising means for a user to set the timing of the notification.

4. 10. The system of claim 1, further comprising means for sorting the preserved food into a plurality of categories.

5. means for transmitting the stored image data together with the extracted expiration date information to a server; A means for managing expiration date information and image data stored in a server; The system of claim 1 further comprising:

6. 6. The system of claim 5, wherein the server includes a periodic back-end process for checking for expiration dates.

7. The system of claim 1 , further comprising means for generating a push notification when an expiration date is approaching based on the stored expiration date information.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A