System
The system addresses inefficiencies in food waste reduction by collecting, preprocessing, and analyzing data from producers and suppliers, optimizing logistics, and providing feedback-driven proposals to enhance food supply efficiency.
Patent Information
- Application Number
- JP2024126229
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-01
- Publication Date
- 2026-02-13
AI Technical Summary
Conventional methods struggle with efficiently collecting, processing, and analyzing data from food production, distribution, and provision stages to reduce food waste, balance supply and demand, and provide food assistance effectively, often lacking in data correction, format standardization, and logistics optimization.
A system that collects data from producers, distributors, and suppliers, preprocesses it to correct missing values and unify formats, analyzes supply and demand patterns, predicts waste risks, and calculates optimal logistics routes, providing feedback-driven proposals to reduce waste and enhance food supply efficiency.
The system effectively reduces food waste and optimizes food supply by correcting data inconsistencies, standardizing formats, analyzing supply and demand patterns, and calculating efficient logistics routes, leading to continuous improvement through user feedback.
Smart Images

Figure 2026023908000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In recent years, food waste has become a major environmental and socio-economic issue. To reduce food waste, it is necessary to efficiently collect and analyze data from each stage of production, distribution, and provision, and to make accurate decisions. However, conventional methods require the rapid and accurate processing of large amounts of data, and a lack of efficiency has become a problem in many situations. It is also important to reduce the amount of waste disposed of, and a balanced food supply and waste reduction are required. Providing food assistance appropriately to those in need is also a challenge. [Means for solving the problem]
[0005] To address these challenges, the present invention provides a system that collects data from producers, distributors, and suppliers, preprocesses the collected data, and generates optimal proposals based on the analysis results. Specifically, the system includes means for complementing or correcting missing or outliers in the data, converting data in different formats into a unified format, analyzing supply and demand patterns, predicting waste risks, and calculating optimal logistics routes. It also includes means for receiving feedback from users and improving the system. This makes it possible to efficiently provide needed food support while reducing food waste and reducing the amount of waste disposed of.
[0006] "Means for collecting data" refers to means for receiving and storing various data sent from manufacturers, distributors, and providers.
[0007] "Means for preprocessing data" refers to means for complementing or correcting missing values or abnormal values in collected data and converting data in different formats into a unified format.
[0008] "Means for analyzing data" refers to means for analyzing supply and demand patterns using advanced algorithms based on pre-processed data and predicting waste risks.
[0009] "Means for generating optimal proposals" refers to means for generating specific improvement proposals, such as reducing food waste and presenting efficient logistics routes, based on the results of data analysis.
[0010] The "means for providing a proposal to a user" is a means for displaying the generated proposal to a user and reflecting it in the user's work.
[0011] The "means for receiving feedback and improving the system" refers to the means for receiving actual business operation results and new data from users and improving the system's algorithms and analytical models.
[0012] "Means for complementing or correcting missing values or abnormal values" refers to means for detecting missing parts of data or abnormal values and complementing or correcting them with appropriate values.
[0013] "Means for converting data in different formats into a unified format" refers to means for converting and unifying collected data into a consistent format when the data is provided in different formats.
[0014] "Means for analyzing supply and demand patterns" means means for analyzing trends and patterns in supply and demand based on data collected from producers, distributors, and suppliers.
[0015] "Means for predicting waste risk" refers to means for predicting the risk of excess inventory of specific foods or products based on analytical data and generating alerts.
[0016] The "means for calculating the optimal logistics route" is a means for calculating the optimal logistics route taking into consideration traffic congestion, delivery distance, cost, etc. [Brief explanation of the drawings]
[0017] [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
[0018] 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.
[0019] First, the terms used in the following description will be explained.
[0020] 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).
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 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.
[0028] 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).
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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."
[0038] This invention is a system that collects, preprocesses, and analyzes data from producers, distributors, and suppliers to generate optimal proposals, with the aim of reducing food waste, reducing the amount of waste disposed of, and efficiently supplying food to people in need.
[0039] A natural language description of the program's operation
[0040] The system operates as follows.
[0041] 1. Data Collection
[0042] Users: Producers, distributors and providers enter information about their inventory, consumption and waste, as well as information about people who need help, including via smartphones and tablets.
[0043] Server: Receives the data in real time and stores it in a database.
[0044] 2. Data Preprocessing
[0045] Server: Detects missing or abnormal values in the collected data and completes or corrects them. For example, if there is abnormal data such as a negative inventory value, corrections are made.
[0046] Server: Converts data provided in different formats into a unified format, for example, by unifying date formats and numerical units.
[0047] 3. Data Analysis
[0048] Server: Applying advanced analytical algorithms to analyze supply and demand patterns using data collected from each supplier, determining the supply-demand balance and predicting waste risks.
[0049] Server: Calculates optimal logistics routes, including route optimization that takes into account traffic congestion, delivery distance, costs, etc.
[0050] 4. Providing results
[0051] Server: Generates optimal food management and delivery recommendations based on the analysis results. For example, it suggests donating excess bread to food banks and recommends efficient delivery routes.
[0052] Device: This suggestion is displayed on the user's device to help improve their work.
[0053] User: Review the proposal and adjust inventory management and delivery schedules as needed.
[0054] 5. Feedback and Improvement
[0055] Users: Feed back actual operational results and new data (e.g., distribution status of surplus food and new consumption patterns) to the system.
[0056] Server: receives this feedback, improves and updates the algorithm, and generates new optimization recommendations, which are then presented to the user again.
[0057] Specific examples
[0058] For example, suppose a grocery store (supplier) has excess bread in stock.
[0059] User (supplier manager): Enters bread inventory and consumption forecast data.
[0060] Server: Aggregates the data and integrates it with data from other providers and distributors for analysis.
[0061] Server: A bread surplus is predicted, so generate a proposal to partner with a local food bank to donate the excess bread.
[0062] User: Review the offer, decide to donate to the food bank, and manage the delivery process.
[0063] Server: The results of the donation are stored in a database to improve the accuracy of the prediction model in future.
[0064] In this way, through multi-stage data collection and analysis, it is possible to reduce food waste, decrease the amount of waste disposed of, and realize an effective approach to food support.
[0065] The processing flow will be explained below.
[0066] Step 1:
[0067] Users: Producers, distributors, providers, and local governments input information about their own inventory, consumption, and waste, as well as information about people who need assistance. For example, they input agricultural harvest data and consumer purchase data via smartphones or tablets.
[0068] Step 2:
[0069] Server: Receives data sent from each user in real time and stores it in a database. At this time, it stores the data in a format that allows for unified management of data from multiple data sources.
[0070] Step 3:
[0071] Server: Cleans the collected data. Detects missing or outlier values and performs appropriate interpolation or correction. For example, it corrects data with negative inventory amounts to 0.
[0072] Step 4:
[0073] Server: Converts data provided in different formats into a unified format, specifically unifying date formats and numerical units (e.g., kilograms and pounds), to facilitate subsequent analysis.
[0074] Step 5:
[0075] Server: Applying advanced analytical algorithms to pre-processed data, including analyzing supply and demand patterns, forecasting demand using time series data, and identifying excess and shortage inventory.
[0076] Step 6:
[0077] Server: Based on the analysis results, the server generates optimal proposals. For example, if an excess of a certain food item is predicted, the server suggests donating it to a local food bank or holding a sales campaign. It also suggests optimizing logistics routes.
[0078] Step 7:
[0079] Terminal: The analysis results and suggestions sent from the server are displayed on the user's terminal. If you are a supplier manager, you can check the measures to be taken for excess inventory in real time.
[0080] Step 8:
[0081] User: Review the proposal and adjust inventory management and delivery schedules as needed, including donating excess food to food banks and planning sales promotions.
[0082] Step 9:
[0083] User: The results of the work performed, such as the distribution status of surplus food and new consumption patterns, are fed back to the system.
[0084] Step 10:
[0085] Server: Receives the feedback data and improves and updates the algorithms. For example, it trains a new demand forecasting model based on actual data to improve forecast accuracy.
[0086] Step 11:
[0087] Server: Based on the improved algorithm, the server performs a new analysis and provides updated recommendations to the user again, thereby achieving continuous food waste reduction and efficient food supply.
[0088] Example 1
[0089] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0090] In modern society, increasing food waste and the amount of garbage disposed of are serious problems. Providing food efficiently to people in need is also a difficult challenge. To solve these problems, a system is needed that collects and analyzes data from producers, distributors, and suppliers and generates optimal proposals. However, existing systems do not adequately correct missing or outlier data, standardize different formats, or analyze supply and demand patterns or optimize logistics routes, preventing efficient food management and delivery.
[0091] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0092] In this invention, the server includes means for collecting data from producers, distributors, and suppliers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal proposals based on the analysis results, means for providing the generated proposals to users, means for receiving feedback from users and improving the system, and means for inputting prompt statements into the generative AI model. This makes it possible to complement and correct missing or outlier values in data, unify different formats, analyze supply and demand patterns, predict waste risks, and calculate optimal logistics routes, thereby reducing food waste and realizing an efficient food supply.
[0093] "Producer" refers to the entity that produces or manufactures food or products.
[0094] "Distributor" refers to an entity that transports and distributes products and food from the place of production to the place of consumption.
[0095] "Provider" refers to an entity that provides a product or food to a consumer.
[0096] "Data" includes information collected from producers, distributors and providers about stock levels, consumption levels, waste levels and people in need of assistance.
[0097] "Collection methods" refers to the methods and techniques used to collect data from producers, distributors, and providers.
[0098] "Preprocessing means" refers to processing methods and technologies that complement and correct missing or abnormal values in collected data and standardize the format.
[0099] "Analysis means" refers to methods and technologies for analyzing supply and demand patterns, predicting waste risks, and calculating logistics routes using preprocessed data.
[0100] "Proposal generation means" refers to a method or technology that generates optimal food management and delivery proposals based on the analysis results.
[0101] "Providing means" refers to a method or technology for providing generated suggestions to users.
[0102] "Feedback means" refers to methods and techniques for receiving feedback from users and improving the system.
[0103] A "prompt sentence" refers to a sentence containing instructions that are input into a generative AI model.
[0104] A "generative AI model" refers to an artificial intelligence model that performs appropriate analysis and makes suggestions based on the input prompt text.
[0105] This invention is a system that uses data collected from producers, distributors, and suppliers to reduce food waste, decrease the amount of waste disposed of, and realize an efficient food supply. This system is composed of a server, terminals, and users.
[0106] Data collection
[0107] User
[0108] Producers, distributors, and providers enter information about their inventory, consumption, and waste, as well as information about people who need assistance. This includes entering information via smartphones or tablets. For example, producers can enter the amount of food they produce and waste into the app using their smartphones.
[0109] Terminal
[0110] The data entered by the user is received and temporarily stored in local storage. After that, a communication module operates to periodically send the data to the server.
[0111] server
[0112] The received data is stored in a cloud database (e.g., Amazon RDS or Google Cloud Spanner) in real time.
[0113] Data Preprocessing
[0114] server
[0115] Detect missing or outlier values in the collected data and complete or correct them. Use Python's Pandas library to detect outlier data where inventory is negative and correct it to the appropriate value. Also, convert data provided in different formats into a unified format. For example, unify the date format to "YYYY-MM-DD" and the weight unit to kilograms. Use an ETL tool (for example, Apache NiFi) for data conversion.
[0116] Data analysis
[0117] server
[0118] Applying advanced analytical algorithms to analyze supply and demand patterns using data collected from each supplier, for example, Scikit-learn is used to build supply and demand forecasting models to predict future supply and demand balances based on past data, and Google Maps API is used to calculate optimal logistics routes and implement algorithms to maximize delivery efficiency.
[0119] Providing results
[0120] server
[0121] Based on the analysis results, the system generates optimal food management and delivery suggestions. The generated suggestions are materialized based on prompts using a generative AI model. For example, the server may suggest donating excess bread to a food bank or suggesting an efficient delivery route. The server then sends these suggestions to the user's device.
[0122] Terminal
[0123] The user's smartphone app or web app receives the suggestions sent from the server and notifies and displays them.
[0124] User
[0125] The user reviews the proposed content and adjusts inventory management and delivery schedules as needed. For example, the provider decides to donate to a food bank and processes the delivery.
[0126] Feedback and Improvements
[0127] User
[0128] Actual operational results and new data (such as the distribution status of surplus food and new consumption patterns) are fed back into the system via a dedicated app.
[0129] server
[0130] Receive feedback and improve and update the analytical model. For example, analyze the feedback data and optimize the parameters of the machine learning model. As a result, generate new optimization suggestions and provide them to the user again. Specific instructions can be given to the generative AI model using example prompt sentences such as the following:
[0131] Prompt Sentence Examples
[0132] Using the data below, forecast bread consumption for the next week and generate suggestions to reduce the risk of overstocking. Data has been collected from producers, distributors, and suppliers. Factors to consider are supply, consumption, traffic conditions, and local demand trends.
[0133] By implementing such a system, food waste can be reduced and food supply can be made more efficient.
[0134] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0135] Step 1: Data collection
[0136] Users: Producers, distributors, and providers use smartphones or tablets to enter information about their company's inventory, consumption, waste, and people in need of assistance into a dedicated app.
[0137] Input: Information on inventory, consumption, waste, and people in need of assistance
[0138] Output: Data entered into the app
[0139] Terminal: Operates a communication module that temporarily stores data entered by the user in local storage and periodically transmits it to the server.
[0140] Input: Data entered by the user into the app
[0141] Output: Data to send to the server
[0142] Server: Receives data sent from the device in real time and stores it in a cloud database (e.g., Amazon RDS or Google Cloud Spanner).
[0143] Input: Data sent from the terminal
[0144] Output: Data stored in the database
[0145] Step 2: Data Preprocessing
[0146] Server: Detect missing values and outliers in the collected data and impute or correct them. Detect outliers using the Python Pandas library and correct them appropriately.
[0147] Input: Raw data (inventory, consumption, waste, etc.)
[0148] Data processing: missing value imputation, outlier detection and correction
[0149] Output: Corrected data
[0150] Server: Convert data from different formats into a unified format. Use an ETL tool (e.g., Apache Nifi) to unify date formats and weight units.
[0151] Input: Data after completion and correction
[0152] Data processing: Standardization of date format and numerical units
[0153] Output: Data in a unified format
[0154] Step 3: Data analysis
[0155] Server: Applying advanced analytical algorithms to analyze supply and demand patterns. Building supply and demand forecasting models using Scikit-learn.
[0156] Input: Data in a unified format
[0157] Data Computing: Supply and Demand Forecasting with Machine Learning
[0158] Output: Supply and demand balance forecast results
[0159] Server: Calculates the optimal logistics route using the Google Maps API. Route optimization takes into account traffic congestion, delivery distance, and costs.
[0160] Input: Supply and demand balance forecast results
[0161] Data calculation: Logistics route optimization
[0162] Output: Optimal logistics route
[0163] Step 4: Delivering results
[0164] Server: Generates optimal suggestions based on the analysis results. Using a generative AI model, it creates specific suggestions based on the prompt.
[0165] Input: Supply and demand forecast results, optimal logistics route
[0166] Data calculation: Proposal generation
[0167] Output: Proposal
[0168] Device: Proposals sent from the server are notified to the user's device and displayed on the smartphone app or web app.
[0169] Input: Suggestion from the server
[0170] Action: Notify and display suggestions
[0171] Output: The proposal displayed to the user
[0172] User: Review the proposal and adjust inventory management and delivery schedules, for example, deciding to donate excess bread to a food bank.
[0173] Input: Proposal text
[0174] Behavior: Proposal confirmation, decision making
[0175] Output: Execution plan (adjustment of inventory management and delivery schedule)
[0176] Step 5: Feedback and Improvement
[0177] User: Actual operational results and new data (distribution status of surplus food, new consumption patterns) are fed back to the system via a dedicated app.
[0178] Input: Operational data
[0179] Action: Data entry and transmission
[0180] Output: Feedback data sent to the server
[0181] Server: Receives feedback, improves and updates the analytical model, optimizes the parameters of the machine learning model, and generates new optimization suggestions.
[0182] Input: Feedback data
[0183] Data calculation: Adjusting model parameters and generating optimization proposals
[0184] Output: Improved model, updated proposals
[0185] In this way, each step is interconnected, with data collection, analysis, results provided, and feedback leading to continuous improvement of the model.
[0186] (Application example 1)
[0187] 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."
[0188] Reducing food waste and efficiently supplying food are important issues in modern society. In particular, there is a need for cooperation between producers, distributors, and suppliers to ensure optimal food management and delivery. However, inconsistent data and missing information among these suppliers often make it difficult to calculate optimal proposals and delivery routes. Furthermore, there is a lack of concrete proposals for efficiently donating excess food inventory. This leads to increased food waste, wasted resources, and increased costs.
[0189] 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.
[0190] In this invention, the server includes means for collecting data from producers, distributors, and suppliers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal proposals based on the analysis results, means for providing the generated proposals to a terminal device, means for identifying excess food inventory and generating donation proposals based on the proposals provided on the terminal device, means for calculating optimal delivery routes based on the proposals provided on the terminal device, and means for receiving feedback from users and improving the system. This makes it possible to compensate for data inconsistencies and missing information and provide optimal proposals and delivery routes. It also allows excess food inventory to be donated efficiently, contributing to reducing food waste.
[0191] definition statement
[0192] "Producer" refers to a business that produces food such as agricultural products, livestock products, and seafood.
[0193] "Distributor" refers to a business that delivers and supplies food and other products from producers to suppliers or consumers.
[0194] "Provider" refers to the business that ultimately provides food to consumers, including supermarkets and restaurants.
[0195] "Means of collecting data" refers to methods of obtaining relevant data such as inventory, consumption, and waste amounts from producers, distributors, and providers using various devices and APIs.
[0196] "Preprocessing means" refers to the process of complementing missing and outlier values from collected data and standardizing the data format.
[0197] "Means of analysis" refers to algorithms that analyze supply and demand patterns based on pre-processed data and derive optimal proposals and delivery routes.
[0198] "Means for generating optimal proposals" refers to a method for creating specific proposals based on the analysis results regarding the management of excess food inventory and efficient delivery methods.
[0199] "Detention terminal device" refers to a device such as a smartphone or tablet that makes it easier for users to check the best suggestions.
[0200] "Means of receiving feedback and improving the system" refers to methods of collecting usage results and new data from users and using that information to update and improve the algorithms and suggestions.
[0201] MODE FOR CARRYING OUT THE INVENTION
[0202] In this invention, we build a system to collect, preprocess, and analyze data from manufacturers, distributors, and suppliers to generate optimal proposals. The system consists of the following main components:
[0203] System Configuration Overview
[0204] 1. Data Collection Methods
[0205] The server collects data from producers, distributors, and suppliers via APIs. For example, data on inventory, consumption, and waste is collected from each supplier. The collected data is stored in a database on the server.
[0206] 2. Data preprocessing methods
[0207] The server then fills or corrects missing or outliers in the collected data, using the Pandas library to fill in missing data and detect and correct outliers. Additionally, the server standardizes the data using the StandardScaler class to convert data from different formats into a unified format.
[0208] 3. Data Analysis Methods
[0209] Based on the preprocessed data, the server uses the K-means clustering algorithm to analyze supply and demand patterns, and uses the Scikit-learn library to divide the data into clusters and generate optimal proposals based on the characteristics of each cluster.
[0210] 4. Proposal generation means
[0211] The server uses the results of K-means clustering to identify excess food inventory and generate donation suggestions, thereby reducing food waste and building an efficient supply system.
[0212] 5. Delivery and feedback methods
[0213] The server provides optimal proposals to the user's terminal device (such as a smartphone or tablet). The user reviews the proposals and adjusts inventory management and delivery schedules as necessary. User feedback is sent to the server and used to improve the system.
[0214] Hardware and Software
[0215] 1. Hardware
[0216] User devices (smartphones, tablets)
[0217] server
[0218] 2. Software
[0219] Python environment
[0220] Pandas library (data collection and preprocessing)
[0221] Scikit-learn library (data analysis)
[0222] Requests library (collecting data from APIs)
[0223] Specific examples
[0224] For example, if data is collected from a local bread manufacturer, several distributors, and suppliers and it is found that there is an excess of bread in stock, the server will generate a proposal through the following process.
[0225] 1. Data Collection and Preprocessing
[0226] Data from a bread manufacturer: "Inventory: 120, Consumption forecast: 80"
[0227] Data from distributor: "Inventory: 200, Demand forecast: 150"
[0228] Data from the provider: "Inventory: 50, Consumption forecast: 30"
[0229] 2. Data Analysis
[0230] Clustering ensures that bread is overstocked.
[0231] 3. Proposal results
[0232] "Donation suggestion: Donate 50 units of bread to a local food bank."
[0233] Proposing optimal delivery routes
[0234] Prompt Sentence Examples
[0235] Generate optimal proposals for donating excess bread to food banks based on data collected from food manufacturers, distributors, and suppliers. Include inventory levels, consumption forecasts, and demand forecasts in the proposals. Also provide an approach that takes into account delivery route optimization.
[0236] This system makes it possible to compensate for data inconsistencies and missing information, provide optimal proposals and delivery routes, and efficiently donate excess food stocks, contributing to reducing food waste.
[0237] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0238] Program processing steps
[0239] Step 1:
[0240] The server collects data from producers, distributors, and suppliers. The data obtained through APIs includes inventory, consumption, and waste. The server stores the collected data in a database.
[0241] Input: Data such as inventory, consumption, and waste obtained through API
[0242] Data processing: Save to database
[0243] Output: Raw data stored in a database
[0244] Step 2:
[0245] The server preprocesses the collected data, imputing and correcting missing and outlier values, and converting data from different formats into a unified format. It uses the Pandas library to impute missing data and the StandardScaler class to standardize the data.
[0246] Input: Raw data retrieved from the database
[0247] Data processing: Imputing missing values and correcting outliers using the Pandas library, and standardizing data using StandardScaler
[0248] Output: Preprocessed data in a unified format
[0249] Step 3:
[0250] The server analyzes the preprocessed data. It uses the K-means clustering algorithm from the Scikit-learn library to analyze supply and demand patterns. The analysis divides the data into clusters and derives the characteristics of each cluster.
[0251] Input: Preprocessed data in a unified format
[0252] Data Calculation: Data Analysis using K-means Clustering Algorithm
[0253] Output: Data divided into clusters and their features
[0254] Step 4:
[0255] The server generates optimal recommendations based on the analysis results, identifying excess food stocks and creating donation suggestions and optimal delivery route suggestions.
[0256] Input: Cluster analysis results
[0257] Data processing: generating recommendations based on analysis results
[0258] Output: Donation suggestions and delivery route suggestions
[0259] Step 5:
[0260] The server provides the generated proposal to the user's terminal device, which includes a specific donation method and an optimal delivery route.
[0261] Input: Proposal data
[0262] Data processing: Sending to user terminal
[0263] Output: Proposal displayed on the user's terminal
[0264] Step 6:
[0265] The user reviews the proposal and adjusts inventory management and delivery schedules as necessary. Feedback from the user is sent to the server via the office terminal device.
[0266] Input: User-reviewed suggestions and feedback
[0267] Data processing: Gathering feedback
[0268] Output: Feedback sent to the server
[0269] Step 7:
[0270] The server receives feedback from users and improves the system, updating and refining the algorithms and suggestions based on new data and feedback.
[0271] Input: User feedback and new data
[0272] Data processing: updating and improving algorithms and proposals
[0273] Output: Improved system and updated proposals
[0274] 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.
[0275] This invention combines a system that collects, preprocesses, and analyzes data from producers, distributors, and suppliers to generate optimal recommendations with an emotion engine that recognizes the user's emotions. This system aims to reduce food waste, reduce the amount of waste disposed of, and efficiently provide food to people in need. It also provides optimal recommendations based on the user's emotional state and analyzes feedback to improve the system.
[0276] A natural language description of the program's operation
[0277] The process of this system is divided into the following steps:
[0278] 1. Data Collection
[0279] Users: Producers, distributors, suppliers, and local governments enter information about their inventory, consumption, and waste, as well as information about people in need of assistance, including through smartphones and tablets.
[0280] Server: Receives data sent by each user in real time and stores it in a database. Information from multiple data sources is centrally managed.
[0281] 2. Data Preprocessing
[0282] Server: Detects missing or outliers in the collected data and performs corrections or completions. For example, it corrects negative inventory data to 0.
[0283] Server: Converts data provided in different formats into a unified format. Specifically, standardizing date formats and numerical units makes analysis easier.
[0284] 3. Data Analysis
[0285] Server: Applying advanced analytical algorithms to the pre-processed data, including analyzing supply and demand patterns, forecasting demand using time series data, and identifying excess and shortage inventory.
[0286] Server: Calculates the optimal logistics route. Route optimization takes into account factors such as traffic congestion, delivery distance, and cost.
[0287] 4. Providing results
[0288] Server: Based on the analysis results, the server generates optimal suggestions based on the user's emotional state. For example, if an overstock of a certain food item is predicted, the emotion engine will determine the user's stress level and suggest donations at the appropriate time.
[0289] Terminal: The analysis results and suggestions sent from the server are displayed on the user's terminal, helping to improve business operations.
[0290] User: Review the proposal and adjust inventory management and delivery schedules as needed.
[0291] 5. Feedback and Emotion Recognition
[0292] User: Provides feedback to the system on the results of the tasks performed and their emotional state (e.g., satisfaction level and stress level) at the time.
[0293] Server: Analyzes the received feedback data and improves the emotion engine algorithm. It also takes into account the user's emotion data to optimize future suggestions.
[0294] Specific examples
[0295] For example, in a case where a supermarket (supplier) has excess bread in stock,
[0296] 1. User (supplier manager): Enters bread inventory and consumption forecast data into the system.
[0297] 2. Server: Aggregates the data and integrates it with data from other providers and distributors for analysis.
[0298] 3. Server: Generate donation proposals to partner with local food banks due to anticipated excess bread inventory.
[0299] 4. Device: Suggestions are displayed on the user's device. At the same time, the emotion engine checks the user's stress level and notifies them at the appropriate time and in the appropriate way.
[0300] 5. User: Review the offer and decide to donate to the food bank. The emotion engine monitors the user's response and takes appropriate follow-up action.
[0301] 6. Server: Receives feedback on the user's emotional state along with the execution results, and uses this to improve the quality of future suggestions.
[0302] In this way, by combining the emotion engine, flexible and effective suggestions can be made according to the user's emotional state, reducing food waste, minimizing waste, and providing effective food assistance.
[0303] The processing flow will be explained below.
[0304] Step 1:
[0305] Users: Producers, distributors, suppliers, and local governments input information about their own stock, consumption, and waste levels, as well as information about people who need assistance. They input agricultural harvest data and consumer purchasing data via smartphones or tablets.
[0306] Step 2:
[0307] Server: Receives data sent by each user in real time and stores it in a database, making the information centrally managed from multiple data sources available for the next processing step.
[0308] Step 3:
[0309] Server: Cleans the collected data. First, it detects missing or outlier values and corrects them as necessary. For example, it corrects data with negative inventory values to the correct value.
[0310] Step 4:
[0311] Server: Converts data provided in different formats into a unified format. Specifically, it standardizes date formats and numerical units. This makes subsequent data analysis easier.
[0312] Step 5:
[0313] Server: Applying advanced analytical algorithms to the pre-processed data to analyze supply and demand patterns, forecast demand using time series data, and identify excess and shortage inventory.
[0314] Step 6:
[0315] Server: Generates optimal recommendations based on the analysis results. For example, if excess food is predicted, the server may suggest donating the food to a food bank or launching a sales promotion campaign.
[0316] Step 7:
[0317] Device: The analysis results and suggestions sent from the server are displayed on the user's device. At the same time, the emotion engine analyzes the user's emotional state from their facial expressions and voice, and adjusts the display method and timing.
[0318] Step 8:
[0319] User: Review proposals and adjust inventory management and delivery schedules as needed, including approving and implementing proposed donations and promotions.
[0320] Step 9:
[0321] User: The user provides feedback to the system on the results of the tasks they performed and their emotional state (e.g., satisfaction or stress level) at the time. Emotional states are either entered directly via a smartphone or tablet or automatically captured by the emotion engine.
[0322] Step 10:
[0323] Server: Analyzes the received feedback data and improves the emotion engine algorithm. Based on the feedback, the server optimizes the method of generating new suggestions that take into account the user's emotional state.
[0324] Step 11:
[0325] Server: Based on the improved algorithm, the server performs a new analysis and provides updated recommendations to the user again, thereby achieving continuous food waste reduction and efficient food supply.
[0326] Example 2
[0327] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0328] Conventional food supply systems do not take into account the user's emotional state, resulting in problems such as poor recommendations and difficulty in reducing food waste and achieving effective food supply. Furthermore, data analysis to balance supply and demand was not adequately performed, often resulting in inventory with a high risk of being wasted. Furthermore, user feedback was often not utilized to improve the system, resulting in a lack of improvement in the quality of recommendations.
[0329] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0330] In this invention, the server includes means for collecting data from producers, distributors, and providers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal suggestions based on the analysis results, means for providing the generated suggestions to a user, means for receiving feedback from the user and improving the system, means for recognizing the emotional state of the user, and means for adjusting the suggestions based on the emotional state of the user. This enables flexible and effective suggestions according to the emotional state of the user, making it possible to reduce food waste and realize an efficient food supply.
[0331] The "data collection means" is a function for collecting data provided by users, such as inventory, consumption, and waste, as well as information on people who need support.
[0332] The "data preprocessing means" is a function that detects missing values and abnormal values in collected data, complements or corrects them, and converts data provided in different formats into a unified format.
[0333] "Data analysis means" is a function that applies machine learning algorithms and statistical analysis to preprocessed data to analyze supply and demand patterns and predict waste risks.
[0334] The "optimal proposal generation means" is a function that generates optimal proposals according to the emotional state of the user based on the results of data analysis.
[0335] The "proposal providing means" is a function that transmits the generated proposal to the user's terminal and displays it.
[0336] The "feedback receiving means" is a function that receives feedback from users regarding suggestions and uses the feedback to improve the system.
[0337] The "emotional state recognition means" is a function that monitors the user's emotional state in real time and evaluates it through an emotion engine.
[0338] The "proposal adjustment means" is a function that adjusts the proposal content and notification method based on the user's emotional state.
[0339] The "missing value imputation means" is a function that, when there are missing data in the collected data, fills in the missing parts with appropriate values.
[0340] The "abnormal value correction means" is a function that corrects an abnormal value to an appropriate value if the collected data contains an abnormal value.
[0341] The "format unification means" is a function that converts the format of the provided data into a unified format.
[0342] "Supply and demand pattern analysis means" is a function that analyzes supply and demand patterns using collected and preprocessed data.
[0343] The "disposal risk prediction means" is a function that predicts future disposal risks based on data.
[0344] The "logistics route optimization means" is a function that calculates the optimal logistics route taking into account factors such as traffic congestion, delivery distance, and costs.
[0345] The "emotion engine" is a feature within the system that assesses the user's emotional state in real time and adjusts suggestions based on the results.
[0346] MODE FOR CARRYING OUT THE INVENTION
[0347] This invention combines a system that collects, preprocesses, and analyzes data from producers, distributors, and suppliers to generate optimal recommendations with an emotion engine that recognizes the user's emotions. The system's main objectives are to reduce food loss, minimize waste, and efficiently provide food to those in need. It also provides optimal recommendations based on the user's emotional state and analyzes feedback to improve the system.
[0348] This system is realized using the following hardware and software: The hardware includes servers and devices (smartphones and tablets), and the software includes a database management system, machine learning algorithms, and an emotion engine. Specific software used includes a MySQL database, RESTful API, WebSocket, and machine learning frameworks (such as TensorFlow and PyTorch).
[0349] Data collection
[0350] Users: Producers, distributors, suppliers, and local governments enter information about their inventory, consumption, and waste, as well as information about people in need of assistance, including through smartphones and tablets.
[0351] Server: Receives data sent by each user in real time and stores it in a database. Data is collected quickly using RESTful APIs and WebSockets.
[0352] Data Preprocessing
[0353] Server: Detects missing or outliers in the collected data and performs corrections or completions. For example, if the inventory amount is negative, it corrects the value to 0. It also processes data to eliminate duplicates.
[0354] Server: Convert data provided in different formats into a unified format. Specifically, standardize the date format to "yyyy-mm-dd" and the weight unit to "kg."
[0355] Data analysis
[0356] Server: Apply machine learning algorithms and statistical analysis to the pre-processed data. For example, use time series analysis for demand forecasting and clustering techniques for supply and demand pattern analysis.
[0357] Server: Uses Dijkstra algorithm and linear programming to calculate optimal logistics routes, taking into account multiple factors such as traffic congestion, delivery distance, and cost.
[0358] Providing results
[0359] Server: Based on the analysis results, the server generates optimal suggestions based on the user's emotional state. The emotion engine evaluates the user's stress level and satisfaction in real time and sends suggestions at the appropriate time.
[0360] Device: The analysis results and suggestions sent from the server are displayed on the user's device. For example, a notification such as "We predict there will be an excess of certain foods. We suggest donating them to a food bank."
[0361] Feedback and Emotion Recognition
[0362] User: After accepting the suggestion and carrying out the task, the user provides feedback to the system, including the results of the task and their emotional state (e.g., satisfaction level or stress level). Users submit feedback through a dedicated input form or survey.
[0363] Server: Analyzes the received feedback data and improves the emotion engine algorithm. Uses the feedback data to make future suggestions more accurate.
[0364] Specific examples
[0365] For example, in a case where a supermarket (supplier) has excess bread in stock,
[0366] 1. User (supplier manager): Enters bread inventory and consumption forecast data into the system.
[0367] 2. Server: Aggregates the data and integrates it with data from other providers and distributors for analysis.
[0368] 3. Server: Generate donation proposals to partner with local food banks due to anticipated excess bread inventory.
[0369] 4. Device: Suggestions are displayed on the user's device. At the same time, the emotion engine checks the user's stress level and notifies them at the appropriate time and in the appropriate way.
[0370] 5. User: Review the offer and decide to donate to the food bank. The emotion engine monitors the user's response and takes appropriate follow-up action.
[0371] 6. Server: Receives feedback on the user's emotional state along with the execution results, and uses this to improve the quality of future suggestions.
[0372] Example prompts to input to the generative AI model
[0373] "If a grocery store has excess bread, how can you optimize inventory management and donation suggestions? Also, how can you adjust suggestions based on the user's emotional state?"
[0374] This concludes the description of the "Mode for Carrying Out the Invention." By using this system, flexible and effective suggestions can be made according to the user's emotional state, reducing food waste, minimizing waste, and providing effective food assistance.
[0375] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0376] Program processing flow
[0377] Step 1: Data collection
[0378] Users: Producers, distributors, suppliers, and local governments use smartphones and tablets to input information about their inventory, consumption, and waste, as well as the people who need assistance.
[0379] Input: Data on inventory, consumption, waste, and support information entered into the system by the user from a terminal.
[0380] Server: Receives data sent by each user in real time and stores it in a database. Information entered by each user is sent to the server using a RESTful API or WebSocket.
[0381] Output: Stock, consumption, waste and support information stored in a database.
[0382] Step 2: Data Preprocessing
[0383] Server: Detects missing or outliers in the collected data and performs corrections or completions. For example, if the inventory amount is negative, it corrects the value to 0. It also performs processing to eliminate duplicate data.
[0384] Input: Raw data stored in a database.
[0385] Server: Convert data provided in different formats into a unified format. Specifically, standardize the date format to "yyyy-mm-dd" and the weight unit to "kg."
[0386] Output: Preprocessed and unified data.
[0387] Step 3: Data analysis
[0388] Server: Apply machine learning algorithms and statistical analysis to the pre-processed data. For example, use time series analysis for demand forecasting and clustering techniques for supply and demand pattern analysis.
[0389] Input: Preprocessed data in a unified format.
[0390] Server: Uses Dijkstra algorithm and linear programming to calculate optimal logistics routes, taking into account multiple factors such as traffic congestion, delivery distance, and cost.
[0391] Output: Demand forecast data, supply and demand pattern analysis results, logistics route optimization results.
[0392] Step 4: Delivering results
[0393] Server: Based on the analysis results, the server generates optimal suggestions based on the user's emotional state. The emotion engine evaluates the user's stress level and satisfaction in real time and sends suggestions at the appropriate time.
[0394] Input: Demand forecast data, supply and demand pattern analysis results, logistics route optimization results.
[0395] Server: Generates proposals such as how to handle excess inventory and how to adjust delivery schedules.
[0396] Output: Optimal suggestions taking into account emotional state.
[0397] Step 5: Feedback and Emotion Recognition
[0398] User: After accepting the suggestion and carrying out the task, the user provides feedback to the system, including the results of the task and their emotional state (e.g., satisfaction level or stress level). Users submit feedback through a dedicated input form or survey.
[0399] Input: User performance and emotional state data submitted through feedback forms and surveys.
[0400] Server: Analyzes the received feedback data and improves the emotion engine algorithm. Uses the feedback data to make future suggestions more accurate.
[0401] Output: Improved sentiment engine algorithm and better next suggestions.
[0402] Specific examples
[0403] Step 1:
[0404] The user (the provider's administrator) opens the smartphone app and enters the number of loaves of bread in stock (100), the number consumed the previous day (20), and the number discarded (5).
[0405] The server receives the entered data in real time and stores it in a MySQL database.
[0406] Step 2:
[0407] The server checks the data stored in the database and corrects any negative inventory values to 0. It also standardizes the date format to "yyyy-mm-dd" and converts the weight unit to "kg."
[0408] Step 3:
[0409] The server uses the preprocessed data to perform time series analysis and predict the demand for 120 loaves of bread next week. It then uses the Dijkstra algorithm to calculate the optimal logistics route.
[0410] Step 4:
[0411] The server analyzes the user's emotional state and suggests to users with high stress levels in a gentler way, "Would you consider donating to a food bank?"
[0412] Send a push notification to the device so the user can review the offer.
[0413] Step 5:
[0414] The user makes a donation to the food bank based on the suggestion, enters "Satisfaction level 5" and "Stress level 2" in the feedback form, and submits it.
[0415] The server analyzes the feedback data and improves the emotion engine algorithm, such as "encouraging quick response when stress levels are low."
[0416] The above is an explanation of the specific processing steps and the specific operations at each step. By using this system, flexible and effective suggestions can be made according to the user's emotional state, reducing food loss, minimizing waste, and realizing effective food assistance.
[0417] (Application example 2)
[0418] 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."
[0419] There are challenges in reducing food waste, reducing the amount of waste disposed of, and efficiently providing food to people in need. To solve these challenges, a system is needed that collects data from the entire supply chain, preprocesses and analyzes it, and generates and provides optimal suggestions. Furthermore, it is necessary to provide effective suggestions while reducing user stress by recognizing the user's emotional state and adjusting the suggestions based on that.
[0420] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting data from producers, distributors, and providers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal suggestions based on the analysis results, means for providing the generated suggestions to the user, means for recognizing the user's emotional state, means for adjusting the suggestions based on the emotional state, and means for receiving feedback from the user and improving the system. This enables centralized management and analysis of data across the entire supply chain, reducing food waste and ensuring efficient food supply, and further reducing user stress by generating optimal suggestions based on the user's emotional state.
[0421] "Producer" refers to a company or individual that produces products such as food or consumer goods.
[0422] "Distributor" refers to a company or individual that supplies products from producers to retailers or consumers.
[0423] "Provider" refers to a business or individual that offers products or services directly to consumers.
[0424] "Means of collecting data" refers to a system that centrally aggregates information from producers, distributors, and providers.
[0425] "Preprocessing means" refers to a system that complements missing values and corrects outliers in collected data, and converts it into a format suitable for analysis.
[0426] "Means of analysis" refers to a system that uses pre-processed data to analyze supply and demand patterns and derive optimal supply methods.
[0427] "Means for generating optimal proposals" refers to a system that creates the most effective action plan for the user based on the results of data analysis.
[0428] "Means for providing to the user" refers to a system that notifies the user of the generated suggestions.
[0429] "Means for recognizing emotional state" refers to a system that recognizes emotions using sensors and algorithms to assess the user's psychological state.
[0430] "Means for adjusting suggestions based on emotional state" refers to a system that changes the content of suggestions or the timing of notifications depending on the user's recognized emotions.
[0431] "Means for receiving feedback and improving the system" refers to a system that collects reactions and evaluations from users and uses them to improve the system's performance and algorithms.
[0432] "Means for analyzing supply and demand patterns" refers to systems that use historical data to forecast supply and demand trends.
[0433] "Means for predicting waste risk" refers to a system that predicts unnecessary waste in advance based on inventory expiration dates and deterioration information.
[0434] "Means for calculating optimal logistics routes" refers to a system that determines the optimal delivery route by taking into account traffic conditions and costs along the logistics route.
[0435] "Means for providing notifications at appropriate times according to stress levels" refers to a system that provides suggestions and notifications at appropriate times based on the user's stress level.
[0436] The present invention is implemented using a smartphone application used in a logistics center and a server system linked thereto.
[0437] System Configuration
[0438] Hardware
[0439] The system uses the following hardware:
[0440] Server: High performance server for data storage and analysis
[0441] User device: smartphone or tablet
[0442] Sensor device: a wearable device that detects the user's emotional state, or a smartphone camera and microphone
[0443] software
[0444] The system uses the following software:
[0445] Database Management: AWS RDS
[0446] Data Analysis: Python (Pandas, NumPy, SciPy)
[0447] Emotion Recognition Engine: Emotion Recognition Model Using TensorFlow
[0448] Application Development: Cross-platform app using Flutter
[0449] Specific functions of the system
[0450] Data collection
[0451] Users (producers, distributors, suppliers) input inventory data and consumption forecast data through a smartphone app. They can efficiently input inventory data using the barcode scanning function of their smartphone camera, and the data is stored in AWS RDS in real time.
[0452] Data Preprocessing
[0453] The server detects missing or outliers in the collected data and corrects or complements them. For example, if there is a negative value in the inventory quantity, it corrects it to zero. It also standardizes date formats and units of measurement.
[0454] Data analysis
[0455] The server uses Python (Pandas, NumPy, SciPy) to analyze the pre-processed data, analyze supply and demand patterns, identify excess or shortage inventory, calculate optimal logistics routes, and use time series data to forecast future demand.
[0456] Proposal generation and delivery
[0457] The server then generates optimal suggestions for users based on the analysis results. For example, if excess inventory is predicted, a suggestion to donate to a food bank will be generated. The suggestion is then notified to the user via a smartphone app.
[0458] Emotion recognition and suggestion adjustment
[0459] It recognizes the user's emotional state using a smartphone's camera and microphone or wearable sensors, and adjusts the timing and content of suggestions based on the user's stress level. It uses an emotion recognition model built with TensorFlow.
[0460] Gathering feedback and improving the system
[0461] After the user takes action based on the suggestions, they input their feedback via the smartphone app. The server receives this feedback data and uses it to improve the emotion engine and suggestion generation algorithm.
[0462] Examples of concrete examples and prompts
[0463] For example, if a food distribution center has a large amount of excess rice in stock,
[0464] 1. Collection:
[0465] The user (warehouse manager) uses a smartphone to scan the rice inventory and sends the data to AWS RDS.
[0466] 2. Pretreatment:
[0467] The server detects and corrects missing or outlier values in the collected inventory data.
[0468] 3. Data Analysis:
[0469] The server analyzes excess rice inventory and makes demand forecasts.
[0470] 4. Proposal generation and delivery:
[0471] The server generates a proposal to donate excess inventory to a local food bank and notifies the user via a smartphone app.
[0472] 5. Emotion recognition:
[0473] It uses the smartphone's camera and microphone to assess the user's stress level and adjust the timing of notifications.
[0474] 6. Gathering Feedback:
[0475] After implementing the suggestions, users enter feedback via a smartphone app, which the system receives and uses to improve the algorithm.
[0476] Prompt Sentence Examples
[0477] Write a Python script that uses an emotion recognition algorithm to assess the stress levels of distribution center staff and generate appropriate timing suggestions, including items that are close to expiry.
[0478] This will streamline logistics operations, reduce food waste, ease stress, and ensure an efficient food supply.
[0479] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0480] Step 1:
[0481] The terminal collects inventory data and consumption forecast data from producers, distributors, and suppliers. The data is collected using the barcode scanning function of a smartphone, and is sent to a server (AWS RDS) in real time. Input data includes product name, inventory quantity, consumption forecast, expiration date, etc. This allows for centralized management of inventory status within the logistics center.
[0482] Step 2:
[0483] The server preprocesses the collected data. Specifically, it complements or corrects missing or outlier values. For example, if an inventory quantity is negative, it changes it to zero. It also performs conversions to unify date formats and units of measurement. The input is the raw collected data, and the output is preprocessed, consistent data. This improves data quality and makes subsequent analysis easier.
[0484] Step 3:
[0485] The server analyzes the preprocessed data. Pandas, NumPy, and SciPy are used for the analysis. Analysis items include supply and demand patterns, identifying surplus and shortage inventory, and calculating optimal logistics routes. For example, future demand forecasts are made based on past data. The risk of inventory disposal is also predicted. The input is the preprocessed data, and the output is the specific analysis results. This allows the optimal logistics strategy to be derived.
[0486] Step 4:
[0487] The server generates optimal suggestions based on the analysis results. Machine learning algorithms are used to generate these suggestions. Examples include suggestions to donate excess inventory to food banks and suggestions for efficient logistics routes. The server also takes into account the user's emotional state and adjusts the content and timing of the suggestions according to their stress level. The input is the analysis results and emotional data, and the output is the optimal suggestion. This provides the user with effective improvement measures.
[0488] Step 5:
[0489] The device notifies the user of the generated suggestions. The notifications are sent via a smartphone app, and the emotion engine selects the appropriate timing. For example, the notification can be sent during a time when the user is not busy. The input is the suggestion from the server, and the output is the notification content sent to the user. This allows the user to receive the suggestions without feeling stressed.
[0490] Step 6:
[0491] The user takes action based on the suggestions and inputs the results as feedback. The feedback is sent to the server via a smartphone app. Specifically, the user inputs whether the suggestions were effective, how easy they were to implement, etc. The input is the user's feedback data, and the output is material for improving the system. This allows the system to improve the accuracy of future suggestions.
[0492] Step 7:
[0493] The server analyzes the received feedback and emotion data and retrains the system's algorithm. This improves the accuracy of future suggestions and user satisfaction. Specifically, this includes improving the emotion engine and tuning the suggestion generation algorithm. The input is user feedback data and emotion data, and the output is an improved algorithm. This allows for continuous improvement of the entire system.
[0494] 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.
[0495] 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.
[0496] 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.
[0497] [Second embodiment]
[0498] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0499] 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.
[0500] 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).
[0501] 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.
[0502] 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.
[0503] 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).
[0504] 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.
[0505] 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.
[0506] 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.
[0507] 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.
[0508] 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.
[0509] 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."
[0510] This invention is a system that collects, preprocesses, and analyzes data from producers, distributors, and suppliers to generate optimal proposals, with the aim of reducing food waste, reducing the amount of waste disposed of, and efficiently supplying food to people in need.
[0511] A natural language description of the program's operation
[0512] The system operates as follows.
[0513] 1. Data Collection
[0514] Users: Producers, distributors and providers enter information about their inventory, consumption and waste, as well as information about people who need help, including via smartphones and tablets.
[0515] Server: Receives the data in real time and stores it in a database.
[0516] 2. Data Preprocessing
[0517] Server: Detects missing or abnormal values in the collected data and completes or corrects them. For example, if there is abnormal data such as a negative inventory value, corrections are made.
[0518] Server: Converts data provided in different formats into a unified format, for example, by unifying date formats and numerical units.
[0519] 3. Data Analysis
[0520] Server: Applying advanced analytical algorithms to analyze supply and demand patterns using data collected from each supplier, determining the supply-demand balance and predicting waste risks.
[0521] Server: Calculates optimal logistics routes, including route optimization that takes into account traffic congestion, delivery distance, costs, etc.
[0522] 4. Providing results
[0523] Server: Generates optimal food management and delivery recommendations based on the analysis results. For example, it suggests donating excess bread to food banks and recommends efficient delivery routes.
[0524] Device: This suggestion is displayed on the user's device to help improve their work.
[0525] User: Review the proposal and adjust inventory management and delivery schedules as needed.
[0526] 5. Feedback and Improvement
[0527] Users: Feed back actual operational results and new data (e.g., distribution status of surplus food and new consumption patterns) to the system.
[0528] Server: receives this feedback, improves and updates the algorithm, and generates new optimization recommendations, which are then presented to the user again.
[0529] Specific examples
[0530] For example, suppose a grocery store (supplier) has excess bread in stock.
[0531] User (supplier manager): Enters bread inventory and consumption forecast data.
[0532] Server: Aggregates the data and integrates it with data from other providers and distributors for analysis.
[0533] Server: A bread surplus is predicted, so generate a proposal to partner with a local food bank to donate the excess bread.
[0534] User: Review the offer, decide to donate to the food bank, and manage the delivery process.
[0535] Server: The results of the donation are stored in a database to improve the accuracy of the prediction model in future.
[0536] In this way, through multi-stage data collection and analysis, it is possible to reduce food waste, decrease the amount of waste disposed of, and realize an effective approach to food support.
[0537] The processing flow will be explained below.
[0538] Step 1:
[0539] Users: Producers, distributors, providers, and local governments input information about their own inventory, consumption, and waste, as well as information about people who need assistance. For example, they input agricultural harvest data and consumer purchase data via smartphones or tablets.
[0540] Step 2:
[0541] Server: Receives data sent from each user in real time and stores it in a database. At this time, it stores the data in a format that allows for unified management of data from multiple data sources.
[0542] Step 3:
[0543] Server: Cleans the collected data. Detects missing or outlier values and performs appropriate interpolation or correction. For example, it corrects data with negative inventory amounts to 0.
[0544] Step 4:
[0545] Server: Converts data provided in different formats into a unified format, specifically unifying date formats and numerical units (e.g., kilograms and pounds), to facilitate subsequent analysis.
[0546] Step 5:
[0547] Server: Applying advanced analytical algorithms to pre-processed data, including analyzing supply and demand patterns, forecasting demand using time series data, and identifying excess and shortage inventory.
[0548] Step 6:
[0549] Server: Based on the analysis results, the server generates optimal proposals. For example, if an excess of a certain food item is predicted, the server suggests donating it to a local food bank or holding a sales campaign. It also suggests optimizing logistics routes.
[0550] Step 7:
[0551] Terminal: The analysis results and suggestions sent from the server are displayed on the user's terminal. If you are a supplier manager, you can check the measures to be taken for excess inventory in real time.
[0552] Step 8:
[0553] User: Review the proposal and adjust inventory management and delivery schedules as needed, including donating excess food to food banks and planning sales promotions.
[0554] Step 9:
[0555] User: The results of the work performed, such as the distribution status of surplus food and new consumption patterns, are fed back to the system.
[0556] Step 10:
[0557] Server: Receives the feedback data and improves and updates the algorithms. For example, it trains a new demand forecasting model based on actual data to improve forecast accuracy.
[0558] Step 11:
[0559] Server: Based on the improved algorithm, the server performs a new analysis and provides updated recommendations to the user again, thereby achieving continuous food waste reduction and efficient food supply.
[0560] Example 1
[0561] 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."
[0562] In modern society, increasing food waste and the amount of garbage disposed of are serious problems. Providing food efficiently to people in need is also a difficult challenge. To solve these problems, a system is needed that collects and analyzes data from producers, distributors, and suppliers and generates optimal proposals. However, existing systems do not adequately correct missing or outlier data, standardize different formats, or analyze supply and demand patterns or optimize logistics routes, preventing efficient food management and delivery.
[0563] 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.
[0564] In this invention, the server includes means for collecting data from producers, distributors, and suppliers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal proposals based on the analysis results, means for providing the generated proposals to users, means for receiving feedback from users and improving the system, and means for inputting prompt statements into the generative AI model. This makes it possible to complement and correct missing or outlier values in data, unify different formats, analyze supply and demand patterns, predict waste risks, and calculate optimal logistics routes, thereby reducing food waste and realizing an efficient food supply.
[0565] "Producer" refers to the entity that produces or manufactures food or products.
[0566] "Distributor" refers to an entity that transports and distributes products and food from the place of production to the place of consumption.
[0567] "Provider" refers to an entity that provides a product or food to a consumer.
[0568] "Data" includes information collected from producers, distributors and providers about stock levels, consumption levels, waste levels and people in need of assistance.
[0569] "Collection methods" refers to the methods and techniques used to collect data from producers, distributors, and providers.
[0570] "Preprocessing means" refers to processing methods and technologies that complement and correct missing or abnormal values in collected data and standardize the format.
[0571] "Analysis means" refers to methods and technologies for analyzing supply and demand patterns, predicting waste risks, and calculating logistics routes using preprocessed data.
[0572] "Proposal generation means" refers to a method or technology that generates optimal food management and delivery proposals based on the analysis results.
[0573] "Providing means" refers to a method or technology for providing generated suggestions to users.
[0574] "Feedback means" refers to methods and techniques for receiving feedback from users and improving the system.
[0575] A "prompt sentence" refers to a sentence containing instructions that are input into a generative AI model.
[0576] A "generative AI model" refers to an artificial intelligence model that performs appropriate analysis and makes suggestions based on the input prompt text.
[0577] This invention is a system that uses data collected from producers, distributors, and suppliers to reduce food waste, decrease the amount of waste disposed of, and realize an efficient food supply. This system is composed of a server, terminals, and users.
[0578] Data collection
[0579] User
[0580] Producers, distributors, and providers enter information about their inventory, consumption, and waste, as well as information about people who need assistance. This includes entering information via smartphones or tablets. For example, producers can enter the amount of food they produce and waste into the app using their smartphones.
[0581] Terminal
[0582] The data entered by the user is received and temporarily stored in local storage. After that, a communication module operates to periodically send the data to the server.
[0583] server
[0584] The received data is stored in a cloud database (e.g., Amazon RDS or Google Cloud Spanner) in real time.
[0585] Data Preprocessing
[0586] server
[0587] Detect missing or outlier values in the collected data and complete or correct them. Use Python's Pandas library to detect outlier data where inventory is negative and correct it to the appropriate value. Also, convert data provided in different formats into a unified format. For example, unify the date format to "YYYY-MM-DD" and the weight unit to kilograms. Use an ETL tool (for example, Apache NiFi) for data conversion.
[0588] Data analysis
[0589] server
[0590] Applying advanced analytical algorithms to analyze supply and demand patterns using data collected from each supplier, for example, Scikit-learn is used to build supply and demand forecasting models to predict future supply and demand balances based on past data, and Google Maps API is used to calculate optimal logistics routes and implement algorithms to maximize delivery efficiency.
[0591] Providing results
[0592] server
[0593] Based on the analysis results, the system generates optimal food management and delivery suggestions. The generated suggestions are materialized based on prompts using a generative AI model. For example, the server may suggest donating excess bread to a food bank or suggesting an efficient delivery route. The server then sends these suggestions to the user's device.
[0594] Terminal
[0595] The user's smartphone app or web app receives the suggestions sent from the server and notifies and displays them.
[0596] User
[0597] The user reviews the proposed content and adjusts inventory management and delivery schedules as needed. For example, the provider decides to donate to a food bank and processes the delivery.
[0598] Feedback and Improvements
[0599] User
[0600] Actual operational results and new data (such as the distribution status of surplus food and new consumption patterns) are fed back into the system via a dedicated app.
[0601] server
[0602] Receive feedback and improve and update the analytical model. For example, analyze the feedback data and optimize the parameters of the machine learning model. As a result, generate new optimization suggestions and provide them to the user again. Specific instructions can be given to the generative AI model using example prompt sentences such as the following:
[0603] Prompt Sentence Examples
[0604] Using the data below, forecast bread consumption for the next week and generate suggestions to reduce the risk of overstocking. Data has been collected from producers, distributors, and suppliers. Factors to consider are supply, consumption, traffic conditions, and local demand trends.
[0605] By implementing such a system, food waste can be reduced and food supply can be made more efficient.
[0606] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0607] Step 1: Data collection
[0608] Users: Producers, distributors, and providers use smartphones or tablets to enter information about their company's inventory, consumption, waste, and people in need of assistance into a dedicated app.
[0609] Input: Information on inventory, consumption, waste, and people in need of assistance
[0610] Output: Data entered into the app
[0611] Terminal: Operates a communication module that temporarily stores data entered by the user in local storage and periodically transmits it to the server.
[0612] Input: Data entered by the user into the app
[0613] Output: Data to send to the server
[0614] Server: Receives data sent from the device in real time and stores it in a cloud database (e.g., Amazon RDS or Google Cloud Spanner).
[0615] Input: Data sent from the terminal
[0616] Output: Data stored in the database
[0617] Step 2: Data Preprocessing
[0618] Server: Detect missing values and outliers in the collected data and impute or correct them. Detect outliers using the Python Pandas library and correct them appropriately.
[0619] Input: Raw data (inventory, consumption, waste, etc.)
[0620] Data processing: missing value imputation, outlier detection and correction
[0621] Output: Corrected data
[0622] Server: Convert data from different formats into a unified format. Use an ETL tool (e.g., Apache Nifi) to unify date formats and weight units.
[0623] Input: Data after completion and correction
[0624] Data processing: Standardization of date format and numerical units
[0625] Output: Data in a unified format
[0626] Step 3: Data analysis
[0627] Server: Applying advanced analytical algorithms to analyze supply and demand patterns. Building supply and demand forecasting models using Scikit-learn.
[0628] Input: Data in a unified format
[0629] Data Computing: Supply and Demand Forecasting with Machine Learning
[0630] Output: Supply and demand balance forecast results
[0631] Server: Calculates the optimal logistics route using the Google Maps API. Route optimization takes into account traffic congestion, delivery distance, and costs.
[0632] Input: Supply and demand balance forecast results
[0633] Data calculation: Logistics route optimization
[0634] Output: Optimal logistics route
[0635] Step 4: Delivering results
[0636] Server: Generates optimal suggestions based on the analysis results. Using a generative AI model, it creates specific suggestions based on the prompt.
[0637] Input: Supply and demand forecast results, optimal logistics route
[0638] Data calculation: Proposal generation
[0639] Output: Proposal
[0640] Device: Proposals sent from the server are notified to the user's device and displayed on the smartphone app or web app.
[0641] Input: Suggestion from the server
[0642] Action: Notify and display suggestions
[0643] Output: The proposal displayed to the user
[0644] User: Review the proposal and adjust inventory management and delivery schedules, for example, deciding to donate excess bread to a food bank.
[0645] Input: Proposal text
[0646] Behavior: Proposal confirmation, decision making
[0647] Output: Execution plan (adjustment of inventory management and delivery schedule)
[0648] Step 5: Feedback and Improvement
[0649] User: Actual operational results and new data (distribution status of surplus food, new consumption patterns) are fed back to the system via a dedicated app.
[0650] Input: Operational data
[0651] Action: Data entry and transmission
[0652] Output: Feedback data sent to the server
[0653] Server: Receives feedback, improves and updates the analytical model, optimizes the parameters of the machine learning model, and generates new optimization suggestions.
[0654] Input: Feedback data
[0655] Data calculation: Adjusting model parameters and generating optimization proposals
[0656] Output: Improved model, updated proposals
[0657] In this way, each step is interconnected, with data collection, analysis, results provided, and feedback leading to continuous improvement of the model.
[0658] (Application example 1)
[0659] 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."
[0660] Reducing food waste and efficiently supplying food are important issues in modern society. In particular, there is a need for cooperation between producers, distributors, and suppliers to ensure optimal food management and delivery. However, inconsistent data and missing information among these suppliers often make it difficult to calculate optimal proposals and delivery routes. Furthermore, there is a lack of concrete proposals for efficiently donating excess food inventory. This leads to increased food waste, wasted resources, and increased costs.
[0661] 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.
[0662] In this invention, the server includes means for collecting data from producers, distributors, and suppliers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal proposals based on the analysis results, means for providing the generated proposals to a terminal device, means for identifying excess food inventory and generating donation proposals based on the proposals provided on the terminal device, means for calculating optimal delivery routes based on the proposals provided on the terminal device, and means for receiving feedback from users and improving the system. This makes it possible to compensate for data inconsistencies and missing information and provide optimal proposals and delivery routes. It also allows excess food inventory to be donated efficiently, contributing to reducing food waste.
[0663] definition statement
[0664] "Producer" refers to a business that produces food such as agricultural products, livestock products, and seafood.
[0665] "Distributor" refers to a business that delivers and supplies food and other products from producers to suppliers or consumers.
[0666] "Provider" refers to the business that ultimately provides food to consumers, including supermarkets and restaurants.
[0667] "Means of collecting data" refers to methods of obtaining relevant data such as inventory, consumption, and waste amounts from producers, distributors, and providers using various devices and APIs.
[0668] "Preprocessing means" refers to the process of complementing missing and outlier values from collected data and standardizing the data format.
[0669] "Means of analysis" refers to algorithms that analyze supply and demand patterns based on pre-processed data and derive optimal proposals and delivery routes.
[0670] "Means for generating optimal proposals" refers to a method for creating specific proposals based on the analysis results regarding the management of excess food inventory and efficient delivery methods.
[0671] "Detention terminal device" refers to a device such as a smartphone or tablet that makes it easier for users to check the best suggestions.
[0672] "Means of receiving feedback and improving the system" refers to methods of collecting usage results and new data from users and using that information to update and improve the algorithms and suggestions.
[0673] MODE FOR CARRYING OUT THE INVENTION
[0674] In this invention, we build a system to collect, preprocess, and analyze data from manufacturers, distributors, and suppliers to generate optimal proposals. The system consists of the following main components:
[0675] System Configuration Overview
[0676] 1. Data Collection Methods
[0677] The server collects data from producers, distributors, and suppliers via APIs. For example, data on inventory, consumption, and waste is collected from each supplier. The collected data is stored in a database on the server.
[0678] 2. Data preprocessing methods
[0679] The server then fills or corrects missing or outliers in the collected data, using the Pandas library to fill in missing data and detect and correct outliers. Additionally, the server standardizes the data using the StandardScaler class to convert data from different formats into a unified format.
[0680] 3. Data Analysis Methods
[0681] Based on the preprocessed data, the server uses the K-means clustering algorithm to analyze supply and demand patterns, and uses the Scikit-learn library to divide the data into clusters and generate optimal proposals based on the characteristics of each cluster.
[0682] 4. Proposal generation means
[0683] The server uses the results of K-means clustering to identify excess food inventory and generate donation suggestions, thereby reducing food waste and building an efficient supply system.
[0684] 5. Delivery and feedback methods
[0685] The server provides optimal proposals to the user's terminal device (such as a smartphone or tablet). The user reviews the proposals and adjusts inventory management and delivery schedules as necessary. User feedback is sent to the server and used to improve the system.
[0686] Hardware and Software
[0687] 1. Hardware
[0688] User devices (smartphones, tablets)
[0689] server
[0690] 2. Software
[0691] Python environment
[0692] Pandas library (data collection and preprocessing)
[0693] Scikit-learn library (data analysis)
[0694] Requests library (collecting data from APIs)
[0695] Specific examples
[0696] For example, if data is collected from a local bread manufacturer, several distributors, and suppliers and it is found that there is an excess of bread in stock, the server will generate a proposal through the following process.
[0697] 1. Data Collection and Preprocessing
[0698] Data from a bread manufacturer: "Inventory: 120, Consumption forecast: 80"
[0699] Data from distributor: "Inventory: 200, Demand forecast: 150"
[0700] Data from the provider: "Inventory: 50, Consumption forecast: 30"
[0701] 2. Data Analysis
[0702] Clustering ensures that bread is overstocked.
[0703] 3. Proposal results
[0704] "Donation suggestion: Donate 50 units of bread to a local food bank."
[0705] Proposing optimal delivery routes
[0706] Prompt Sentence Examples
[0707] Generate optimal proposals for donating excess bread to food banks based on data collected from food manufacturers, distributors, and suppliers. Include inventory levels, consumption forecasts, and demand forecasts in the proposals. Also provide an approach that takes into account delivery route optimization.
[0708] This system makes it possible to compensate for data inconsistencies and missing information, provide optimal proposals and delivery routes, and efficiently donate excess food stocks, contributing to reducing food waste.
[0709] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0710] Program processing steps
[0711] Step 1:
[0712] The server collects data from producers, distributors, and suppliers. The data obtained through APIs includes inventory, consumption, and waste. The server stores the collected data in a database.
[0713] Input: Data such as inventory, consumption, and waste obtained through API
[0714] Data processing: Save to database
[0715] Output: Raw data stored in a database
[0716] Step 2:
[0717] The server preprocesses the collected data, imputing and correcting missing and outlier values, and converting data from different formats into a unified format. It uses the Pandas library to impute missing data and the StandardScaler class to standardize the data.
[0718] Input: Raw data retrieved from the database
[0719] Data processing: Imputing missing values and correcting outliers using the Pandas library, and standardizing data using StandardScaler
[0720] Output: Preprocessed data in a unified format
[0721] Step 3:
[0722] The server analyzes the preprocessed data. It uses the K-means clustering algorithm from the Scikit-learn library to analyze supply and demand patterns. The analysis divides the data into clusters and derives the characteristics of each cluster.
[0723] Input: Preprocessed data in a unified format
[0724] Data Calculation: Data Analysis using K-means Clustering Algorithm
[0725] Output: Data divided into clusters and their features
[0726] Step 4:
[0727] The server generates optimal recommendations based on the analysis results, identifying excess food stocks and creating donation suggestions and optimal delivery route suggestions.
[0728] Input: Cluster analysis results
[0729] Data processing: generating recommendations based on analysis results
[0730] Output: Donation suggestions and delivery route suggestions
[0731] Step 5:
[0732] The server provides the generated proposal to the user's terminal device, which includes a specific donation method and an optimal delivery route.
[0733] Input: Proposal data
[0734] Data processing: Sending to user terminal
[0735] Output: Proposal displayed on the user's terminal
[0736] Step 6:
[0737] The user reviews the proposal and adjusts inventory management and delivery schedules as necessary. Feedback from the user is sent to the server via the office terminal device.
[0738] Input: User-reviewed suggestions and feedback
[0739] Data processing: Gathering feedback
[0740] Output: Feedback sent to the server
[0741] Step 7:
[0742] The server receives feedback from users and improves the system, updating and refining the algorithms and suggestions based on new data and feedback.
[0743] Input: User feedback and new data
[0744] Data processing: updating and improving algorithms and proposals
[0745] Output: Improved system and updated proposals
[0746] 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.
[0747] This invention combines a system that collects, preprocesses, and analyzes data from producers, distributors, and suppliers to generate optimal recommendations with an emotion engine that recognizes the user's emotions. This system aims to reduce food waste, reduce the amount of waste disposed of, and efficiently provide food to people in need. It also provides optimal recommendations based on the user's emotional state and analyzes feedback to improve the system.
[0748] A natural language description of the program's operation
[0749] The process of this system is divided into the following steps:
[0750] 1. Data Collection
[0751] Users: Producers, distributors, suppliers, and local governments enter information about their inventory, consumption, and waste, as well as information about people in need of assistance, including through smartphones and tablets.
[0752] Server: Receives data sent by each user in real time and stores it in a database. Information from multiple data sources is centrally managed.
[0753] 2. Data Preprocessing
[0754] Server: Detects missing or outliers in the collected data and performs corrections or completions. For example, it corrects negative inventory data to 0.
[0755] Server: Converts data provided in different formats into a unified format. Specifically, standardizing date formats and numerical units makes analysis easier.
[0756] 3. Data Analysis
[0757] Server: Applying advanced analytical algorithms to the pre-processed data, including analyzing supply and demand patterns, forecasting demand using time series data, and identifying excess and shortage inventory.
[0758] Server: Calculates the optimal logistics route. Route optimization takes into account factors such as traffic congestion, delivery distance, and cost.
[0759] 4. Providing results
[0760] Server: Based on the analysis results, the server generates optimal suggestions based on the user's emotional state. For example, if an overstock of a certain food item is predicted, the emotion engine will determine the user's stress level and suggest donations at the appropriate time.
[0761] Terminal: The analysis results and suggestions sent from the server are displayed on the user's terminal, helping to improve business operations.
[0762] User: Review the proposal and adjust inventory management and delivery schedules as needed.
[0763] 5. Feedback and Emotion Recognition
[0764] User: Provides feedback to the system on the results of the tasks performed and their emotional state (e.g., satisfaction level and stress level) at the time.
[0765] Server: Analyzes the received feedback data and improves the emotion engine algorithm. It also takes into account the user's emotion data to optimize future suggestions.
[0766] Specific examples
[0767] For example, in a case where a supermarket (supplier) has excess bread in stock,
[0768] 1. User (supplier manager): Enters bread inventory and consumption forecast data into the system.
[0769] 2. Server: Aggregates the data and integrates it with data from other providers and distributors for analysis.
[0770] 3. Server: Generate donation proposals to partner with local food banks due to anticipated excess bread inventory.
[0771] 4. Device: Suggestions are displayed on the user's device. At the same time, the emotion engine checks the user's stress level and notifies them at the appropriate time and in the appropriate way.
[0772] 5. User: Review the offer and decide to donate to the food bank. The emotion engine monitors the user's response and takes appropriate follow-up action.
[0773] 6. Server: Receives feedback on the user's emotional state along with the execution results, and uses this to improve the quality of future suggestions.
[0774] In this way, by combining the emotion engine, flexible and effective suggestions can be made according to the user's emotional state, reducing food waste, minimizing waste, and providing effective food assistance.
[0775] The processing flow will be explained below.
[0776] Step 1:
[0777] Users: Producers, distributors, suppliers, and local governments input information about their own stock, consumption, and waste levels, as well as information about people who need assistance. They input agricultural harvest data and consumer purchasing data via smartphones or tablets.
[0778] Step 2:
[0779] Server: Receives data sent by each user in real time and stores it in a database, making the information centrally managed from multiple data sources available for the next processing step.
[0780] Step 3:
[0781] Server: Cleans the collected data. First, it detects missing or outlier values and corrects them as necessary. For example, it corrects data with negative inventory values to the correct value.
[0782] Step 4:
[0783] Server: Converts data provided in different formats into a unified format. Specifically, it standardizes date formats and numerical units. This makes subsequent data analysis easier.
[0784] Step 5:
[0785] Server: Applying advanced analytical algorithms to the pre-processed data to analyze supply and demand patterns, forecast demand using time series data, and identify excess and shortage inventory.
[0786] Step 6:
[0787] Server: Generates optimal recommendations based on the analysis results. For example, if excess food is predicted, the server may suggest donating the food to a food bank or launching a sales promotion campaign.
[0788] Step 7:
[0789] Device: The analysis results and suggestions sent from the server are displayed on the user's device. At the same time, the emotion engine analyzes the user's emotional state from their facial expressions and voice, and adjusts the display method and timing.
[0790] Step 8:
[0791] User: Review proposals and adjust inventory management and delivery schedules as needed, including approving and implementing proposed donations and promotions.
[0792] Step 9:
[0793] User: The user provides feedback to the system on the results of the tasks they performed and their emotional state (e.g., satisfaction or stress level) at the time. Emotional states are either entered directly via a smartphone or tablet or automatically captured by the emotion engine.
[0794] Step 10:
[0795] Server: Analyzes the received feedback data and improves the emotion engine algorithm. Based on the feedback, the server optimizes the method of generating new suggestions that take into account the user's emotional state.
[0796] Step 11:
[0797] Server: Based on the improved algorithm, the server performs a new analysis and provides updated recommendations to the user again, thereby achieving continuous food waste reduction and efficient food supply.
[0798] Example 2
[0799] 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."
[0800] Conventional food supply systems do not take into account the user's emotional state, resulting in problems such as poor recommendations and difficulty in reducing food waste and achieving effective food supply. Furthermore, data analysis to balance supply and demand was not adequately performed, often resulting in inventory with a high risk of being wasted. Furthermore, user feedback was often not utilized to improve the system, resulting in a lack of improvement in the quality of recommendations.
[0801] 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.
[0802] In this invention, the server includes means for collecting data from producers, distributors, and providers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal suggestions based on the analysis results, means for providing the generated suggestions to a user, means for receiving feedback from the user and improving the system, means for recognizing the emotional state of the user, and means for adjusting the suggestions based on the emotional state of the user. This enables flexible and effective suggestions according to the emotional state of the user, making it possible to reduce food waste and realize an efficient food supply.
[0803] The "data collection means" is a function for collecting data provided by users, such as inventory, consumption, and waste, as well as information on people who need support.
[0804] The "data preprocessing means" is a function that detects missing values and abnormal values in collected data, complements or corrects them, and converts data provided in different formats into a unified format.
[0805] "Data analysis means" is a function that applies machine learning algorithms and statistical analysis to preprocessed data to analyze supply and demand patterns and predict waste risks.
[0806] The "optimal proposal generation means" is a function that generates optimal proposals according to the emotional state of the user based on the results of data analysis.
[0807] The "proposal providing means" is a function that transmits the generated proposal to the user's terminal and displays it.
[0808] The "feedback receiving means" is a function that receives feedback from users regarding suggestions and uses the feedback to improve the system.
[0809] The "emotional state recognition means" is a function that monitors the user's emotional state in real time and evaluates it through an emotion engine.
[0810] The "proposal adjustment means" is a function that adjusts the proposal content and notification method based on the user's emotional state.
[0811] The "missing value imputation means" is a function that, when there are missing data in the collected data, fills in the missing parts with appropriate values.
[0812] The "abnormal value correction means" is a function that corrects an abnormal value to an appropriate value if the collected data contains an abnormal value.
[0813] The "format unification means" is a function that converts the format of the provided data into a unified format.
[0814] "Supply and demand pattern analysis means" is a function that analyzes supply and demand patterns using collected and preprocessed data.
[0815] The "disposal risk prediction means" is a function that predicts future disposal risks based on data.
[0816] The "logistics route optimization means" is a function that calculates the optimal logistics route taking into account factors such as traffic congestion, delivery distance, and costs.
[0817] The "emotion engine" is a feature within the system that assesses the user's emotional state in real time and adjusts suggestions based on the results.
[0818] MODE FOR CARRYING OUT THE INVENTION
[0819] This invention combines a system that collects, preprocesses, and analyzes data from producers, distributors, and suppliers to generate optimal recommendations with an emotion engine that recognizes the user's emotions. The system's main objectives are to reduce food loss, minimize waste, and efficiently provide food to those in need. It also provides optimal recommendations based on the user's emotional state and analyzes feedback to improve the system.
[0820] This system is realized using the following hardware and software: The hardware includes servers and devices (smartphones and tablets), and the software includes a database management system, machine learning algorithms, and an emotion engine. Specific software used includes a MySQL database, RESTful API, WebSocket, and machine learning frameworks (such as TensorFlow and PyTorch).
[0821] Data collection
[0822] Users: Producers, distributors, suppliers, and local governments enter information about their inventory, consumption, and waste, as well as information about people in need of assistance, including through smartphones and tablets.
[0823] Server: Receives data sent by each user in real time and stores it in a database. Data is collected quickly using RESTful APIs and WebSockets.
[0824] Data Preprocessing
[0825] Server: Detects missing or outliers in the collected data and performs corrections or completions. For example, if the inventory amount is negative, it corrects the value to 0. It also processes data to eliminate duplicates.
[0826] Server: Convert data provided in different formats into a unified format. Specifically, standardize the date format to "yyyy-mm-dd" and the weight unit to "kg."
[0827] Data analysis
[0828] Server: Apply machine learning algorithms and statistical analysis to the pre-processed data. For example, use time series analysis for demand forecasting and clustering techniques for supply and demand pattern analysis.
[0829] Server: Uses Dijkstra algorithm and linear programming to calculate optimal logistics routes, taking into account multiple factors such as traffic congestion, delivery distance, and cost.
[0830] Providing results
[0831] Server: Based on the analysis results, the server generates optimal suggestions based on the user's emotional state. The emotion engine evaluates the user's stress level and satisfaction in real time and sends suggestions at the appropriate time.
[0832] Device: The analysis results and suggestions sent from the server are displayed on the user's device. For example, a notification such as "We predict there will be an excess of certain foods. We suggest donating them to a food bank."
[0833] Feedback and Emotion Recognition
[0834] User: After accepting the suggestion and carrying out the task, the user provides feedback to the system, including the results of the task and their emotional state (e.g., satisfaction level or stress level). Users submit feedback through a dedicated input form or survey.
[0835] Server: Analyzes the received feedback data and improves the emotion engine algorithm. Uses the feedback data to make future suggestions more accurate.
[0836] Specific examples
[0837] For example, in a case where a supermarket (supplier) has excess bread in stock,
[0838] 1. User (supplier manager): Enters bread inventory and consumption forecast data into the system.
[0839] 2. Server: Aggregates the data and integrates it with data from other providers and distributors for analysis.
[0840] 3. Server: Generate donation proposals to partner with local food banks due to anticipated excess bread inventory.
[0841] 4. Device: Suggestions are displayed on the user's device. At the same time, the emotion engine checks the user's stress level and notifies them at the appropriate time and in the appropriate way.
[0842] 5. User: Review the offer and decide to donate to the food bank. The emotion engine monitors the user's response and takes appropriate follow-up action.
[0843] 6. Server: Receives feedback on the user's emotional state along with the execution results, and uses this to improve the quality of future suggestions.
[0844] Example prompts to input to the generative AI model
[0845] "If a grocery store has excess bread, how can you optimize inventory management and donation suggestions? Also, how can you adjust suggestions based on the user's emotional state?"
[0846] This concludes the description of the "Mode for Carrying Out the Invention." By using this system, flexible and effective suggestions can be made according to the user's emotional state, reducing food waste, minimizing waste, and providing effective food assistance.
[0847] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0848] Program processing flow
[0849] Step 1: Data collection
[0850] Users: Producers, distributors, suppliers, and local governments use smartphones and tablets to input information about their inventory, consumption, and waste, as well as the people who need assistance.
[0851] Input: Data on inventory, consumption, waste, and support information entered into the system by the user from a terminal.
[0852] Server: Receives data sent by each user in real time and stores it in a database. Information entered by each user is sent to the server using a RESTful API or WebSocket.
[0853] Output: Stock, consumption, waste and support information stored in a database.
[0854] Step 2: Data Preprocessing
[0855] Server: Detects missing or outliers in the collected data and performs corrections or completions. For example, if the inventory amount is negative, it corrects the value to 0. It also performs processing to eliminate duplicate data.
[0856] Input: Raw data stored in a database.
[0857] Server: Convert data provided in different formats into a unified format. Specifically, standardize the date format to "yyyy-mm-dd" and the weight unit to "kg."
[0858] Output: Preprocessed and unified data.
[0859] Step 3: Data analysis
[0860] Server: Apply machine learning algorithms and statistical analysis to the pre-processed data. For example, use time series analysis for demand forecasting and clustering techniques for supply and demand pattern analysis.
[0861] Input: Preprocessed data in a unified format.
[0862] Server: Uses Dijkstra algorithm and linear programming to calculate optimal logistics routes, taking into account multiple factors such as traffic congestion, delivery distance, and cost.
[0863] Output: Demand forecast data, supply and demand pattern analysis results, logistics route optimization results.
[0864] Step 4: Delivering results
[0865] Server: Based on the analysis results, the server generates optimal suggestions based on the user's emotional state. The emotion engine evaluates the user's stress level and satisfaction in real time and sends suggestions at the appropriate time.
[0866] Input: Demand forecast data, supply and demand pattern analysis results, logistics route optimization results.
[0867] Server: Generates proposals such as how to handle excess inventory and how to adjust delivery schedules.
[0868] Output: Optimal suggestions taking into account emotional state.
[0869] Step 5: Feedback and Emotion Recognition
[0870] User: After accepting the suggestion and carrying out the task, the user provides feedback to the system, including the results of the task and their emotional state (e.g., satisfaction level or stress level). Users submit feedback through a dedicated input form or survey.
[0871] Input: User performance and emotional state data submitted through feedback forms and surveys.
[0872] Server: Analyzes the received feedback data and improves the emotion engine algorithm. Uses the feedback data to make future suggestions more accurate.
[0873] Output: Improved sentiment engine algorithm and better next suggestions.
[0874] Specific examples
[0875] Step 1:
[0876] The user (the provider's administrator) opens the smartphone app and enters the number of loaves of bread in stock (100), the number consumed the previous day (20), and the number discarded (5).
[0877] The server receives the entered data in real time and stores it in a MySQL database.
[0878] Step 2:
[0879] The server checks the data stored in the database and corrects any negative inventory values to 0. It also standardizes the date format to "yyyy-mm-dd" and converts the weight unit to "kg."
[0880] Step 3:
[0881] The server uses the preprocessed data to perform time series analysis and predict the demand for 120 loaves of bread next week. It then uses the Dijkstra algorithm to calculate the optimal logistics route.
[0882] Step 4:
[0883] The server analyzes the user's emotional state and suggests to users with high stress levels in a gentler way, "Would you consider donating to a food bank?"
[0884] Send a push notification to the device so the user can review the offer.
[0885] Step 5:
[0886] The user makes a donation to the food bank based on the suggestion, enters "Satisfaction level 5" and "Stress level 2" in the feedback form, and submits it.
[0887] The server analyzes the feedback data and improves the emotion engine algorithm, such as "encouraging quick response when stress levels are low."
[0888] The above is an explanation of the specific processing steps and the specific operations at each step. By using this system, flexible and effective suggestions can be made according to the user's emotional state, reducing food loss, minimizing waste, and realizing effective food assistance.
[0889] (Application example 2)
[0890] 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."
[0891] There are challenges in reducing food waste, reducing the amount of waste disposed of, and efficiently providing food to people in need. To solve these challenges, a system is needed that collects data from the entire supply chain, preprocesses and analyzes it, and generates and provides optimal suggestions. Furthermore, it is necessary to provide effective suggestions while reducing user stress by recognizing the user's emotional state and adjusting the suggestions based on that.
[0892] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting data from producers, distributors, and providers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal suggestions based on the analysis results, means for providing the generated suggestions to the user, means for recognizing the user's emotional state, means for adjusting the suggestions based on the emotional state, and means for receiving feedback from the user and improving the system. This enables centralized management and analysis of data across the entire supply chain, reducing food waste and ensuring efficient food supply, and further reducing user stress by generating optimal suggestions based on the user's emotional state.
[0893] "Producer" refers to a company or individual that produces products such as food or consumer goods.
[0894] "Distributor" refers to a company or individual that supplies products from producers to retailers or consumers.
[0895] "Provider" refers to a business or individual that offers products or services directly to consumers.
[0896] "Means of collecting data" refers to a system that centrally aggregates information from producers, distributors, and providers.
[0897] "Preprocessing means" refers to a system that complements missing values and corrects outliers in collected data, and converts it into a format suitable for analysis.
[0898] "Means of analysis" refers to a system that uses pre-processed data to analyze supply and demand patterns and derive optimal supply methods.
[0899] "Means for generating optimal proposals" refers to a system that creates the most effective action plan for the user based on the results of data analysis.
[0900] "Means for providing to the user" refers to a system that notifies the user of the generated suggestions.
[0901] "Means for recognizing emotional state" refers to a system that recognizes emotions using sensors and algorithms to assess the user's psychological state.
[0902] "Means for adjusting suggestions based on emotional state" refers to a system that changes the content of suggestions or the timing of notifications depending on the user's recognized emotions.
[0903] "Means for receiving feedback and improving the system" refers to a system that collects reactions and evaluations from users and uses them to improve the system's performance and algorithms.
[0904] "Means for analyzing supply and demand patterns" refers to systems that use historical data to forecast supply and demand trends.
[0905] "Means for predicting waste risk" refers to a system that predicts unnecessary waste in advance based on inventory expiration dates and deterioration information.
[0906] "Means for calculating optimal logistics routes" refers to a system that determines the optimal delivery route by taking into account traffic conditions and costs along the logistics route.
[0907] "Means for providing notifications at appropriate times according to stress levels" refers to a system that provides suggestions and notifications at appropriate times based on the user's stress level.
[0908] The present invention is implemented using a smartphone application used in a logistics center and a server system linked thereto.
[0909] System Configuration
[0910] Hardware
[0911] The system uses the following hardware:
[0912] Server: High performance server for data storage and analysis
[0913] User device: smartphone or tablet
[0914] Sensor device: a wearable device that detects the user's emotional state, or a smartphone camera and microphone
[0915] software
[0916] The system uses the following software:
[0917] Database Management: AWS RDS
[0918] Data Analysis: Python (Pandas, NumPy, SciPy)
[0919] Emotion Recognition Engine: Emotion Recognition Model Using TensorFlow
[0920] Application Development: Cross-platform app using Flutter
[0921] Specific functions of the system
[0922] Data collection
[0923] Users (producers, distributors, suppliers) input inventory data and consumption forecast data through a smartphone app. They can efficiently input inventory data using the barcode scanning function of their smartphone camera, and the data is stored in AWS RDS in real time.
[0924] Data Preprocessing
[0925] The server detects missing or outliers in the collected data and corrects or complements them. For example, if there is a negative value in the inventory quantity, it corrects it to zero. It also standardizes date formats and units of measurement.
[0926] Data analysis
[0927] The server uses Python (Pandas, NumPy, SciPy) to analyze the pre-processed data, analyze supply and demand patterns, identify excess or shortage inventory, calculate optimal logistics routes, and use time series data to forecast future demand.
[0928] Proposal generation and delivery
[0929] The server then generates optimal suggestions for users based on the analysis results. For example, if excess inventory is predicted, a suggestion to donate to a food bank will be generated. The suggestion is then notified to the user via a smartphone app.
[0930] Emotion recognition and suggestion adjustment
[0931] It recognizes the user's emotional state using a smartphone's camera and microphone or wearable sensors, and adjusts the timing and content of suggestions based on the user's stress level. It uses an emotion recognition model built with TensorFlow.
[0932] Gathering feedback and improving the system
[0933] After the user takes action based on the suggestions, they input their feedback via the smartphone app. The server receives this feedback data and uses it to improve the emotion engine and suggestion generation algorithm.
[0934] Examples of concrete examples and prompts
[0935] For example, if a food distribution center has a large amount of excess rice in stock,
[0936] 1. Collection:
[0937] The user (warehouse manager) uses a smartphone to scan the rice inventory and sends the data to AWS RDS.
[0938] 2. Pretreatment:
[0939] The server detects and corrects missing or outlier values in the collected inventory data.
[0940] 3. Data Analysis:
[0941] The server analyzes excess rice inventory and makes demand forecasts.
[0942] 4. Proposal generation and delivery:
[0943] The server generates a proposal to donate excess inventory to a local food bank and notifies the user via a smartphone app.
[0944] 5. Emotion recognition:
[0945] It uses the smartphone's camera and microphone to assess the user's stress level and adjust the timing of notifications.
[0946] 6. Gathering Feedback:
[0947] After implementing the suggestions, users enter feedback via a smartphone app, which the system receives and uses to improve the algorithm.
[0948] Prompt Sentence Examples
[0949] Write a Python script that uses an emotion recognition algorithm to assess the stress levels of distribution center staff and generate appropriate timing suggestions, including items that are close to expiry.
[0950] This will streamline logistics operations, reduce food waste, ease stress, and ensure an efficient food supply.
[0951] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0952] Step 1:
[0953] The terminal collects inventory data and consumption forecast data from producers, distributors, and suppliers. The data is collected using the barcode scanning function of a smartphone, and is sent to a server (AWS RDS) in real time. Input data includes product name, inventory quantity, consumption forecast, expiration date, etc. This allows for centralized management of inventory status within the logistics center.
[0954] Step 2:
[0955] The server preprocesses the collected data. Specifically, it complements or corrects missing or outlier values. For example, if an inventory quantity is negative, it changes it to zero. It also performs conversions to unify date formats and units of measurement. The input is the raw collected data, and the output is preprocessed, consistent data. This improves data quality and makes subsequent analysis easier.
[0956] Step 3:
[0957] The server analyzes the preprocessed data. Pandas, NumPy, and SciPy are used for the analysis. Analysis items include supply and demand patterns, identifying surplus and shortage inventory, and calculating optimal logistics routes. For example, future demand forecasts are made based on past data. The risk of inventory disposal is also predicted. The input is the preprocessed data, and the output is the specific analysis results. This allows the optimal logistics strategy to be derived.
[0958] Step 4:
[0959] The server generates optimal suggestions based on the analysis results. Machine learning algorithms are used to generate these suggestions. Examples include suggestions to donate excess inventory to food banks and suggestions for efficient logistics routes. The server also takes into account the user's emotional state and adjusts the content and timing of the suggestions according to their stress level. The input is the analysis results and emotional data, and the output is the optimal suggestion. This provides the user with effective improvement measures.
[0960] Step 5:
[0961] The device notifies the user of the generated suggestions. The notifications are sent via a smartphone app, and the emotion engine selects the appropriate timing. For example, the notification can be sent during a time when the user is not busy. The input is the suggestion from the server, and the output is the notification content sent to the user. This allows the user to receive the suggestions without feeling stressed.
[0962] Step 6:
[0963] The user takes action based on the suggestions and inputs the results as feedback. The feedback is sent to the server via a smartphone app. Specifically, the user inputs whether the suggestions were effective, how easy they were to implement, etc. The input is the user's feedback data, and the output is material for improving the system. This allows the system to improve the accuracy of future suggestions.
[0964] Step 7:
[0965] The server analyzes the received feedback and emotion data and retrains the system's algorithm. This improves the accuracy of future suggestions and user satisfaction. Specifically, this includes improving the emotion engine and tuning the suggestion generation algorithm. The input is user feedback data and emotion data, and the output is an improved algorithm. This allows for continuous improvement of the entire system.
[0966] 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.
[0967] 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.
[0968] 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.
[0969] [Third embodiment]
[0970] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0971] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0972] 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).
[0973] 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.
[0974] 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.
[0975] 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).
[0976] 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.
[0977] 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.
[0978] 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.
[0979] 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.
[0980] 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.
[0981] 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."
[0982] This invention is a system that collects, preprocesses, and analyzes data from producers, distributors, and suppliers to generate optimal proposals, with the aim of reducing food waste, reducing the amount of waste disposed of, and efficiently supplying food to people in need.
[0983] A natural language description of the program's operation
[0984] The system operates as follows.
[0985] 1. Data Collection
[0986] Users: Producers, distributors and providers enter information about their inventory, consumption and waste, as well as information about people who need help, including via smartphones and tablets.
[0987] Server: Receives the data in real time and stores it in a database.
[0988] 2. Data Preprocessing
[0989] Server: Detects missing or abnormal values in the collected data and completes or corrects them. For example, if there is abnormal data such as a negative inventory value, corrections are made.
[0990] Server: Converts data provided in different formats into a unified format, for example, by unifying date formats and numerical units.
[0991] 3. Data Analysis
[0992] Server: Applying advanced analytical algorithms to analyze supply and demand patterns using data collected from each supplier, determining the supply-demand balance and predicting waste risks.
[0993] Server: Calculates optimal logistics routes, including route optimization that takes into account traffic congestion, delivery distance, costs, etc.
[0994] 4. Providing results
[0995] Server: Generates optimal food management and delivery recommendations based on the analysis results. For example, it suggests donating excess bread to food banks and recommends efficient delivery routes.
[0996] Device: This suggestion is displayed on the user's device to help improve their work.
[0997] User: Review the proposal and adjust inventory management and delivery schedules as needed.
[0998] 5. Feedback and Improvement
[0999] Users: Feed back actual operational results and new data (e.g., distribution status of surplus food and new consumption patterns) to the system.
[1000] Server: receives this feedback, improves and updates the algorithm, and generates new optimization recommendations, which are then presented to the user again.
[1001] Specific examples
[1002] For example, suppose a grocery store (supplier) has excess bread in stock.
[1003] User (supplier manager): Enters bread inventory and consumption forecast data.
[1004] Server: Aggregates the data and integrates it with data from other providers and distributors for analysis.
[1005] Server: A bread surplus is predicted, so generate a proposal to partner with a local food bank to donate the excess bread.
[1006] User: Review the offer, decide to donate to the food bank, and manage the delivery process.
[1007] Server: The results of the donation are stored in a database to improve the accuracy of the prediction model in future.
[1008] In this way, through multi-stage data collection and analysis, it is possible to reduce food waste, decrease the amount of waste disposed of, and realize an effective approach to food support.
[1009] The processing flow will be explained below.
[1010] Step 1:
[1011] Users: Producers, distributors, providers, and local governments input information about their own inventory, consumption, and waste, as well as information about people who need assistance. For example, they input agricultural harvest data and consumer purchase data via smartphones or tablets.
[1012] Step 2:
[1013] Server: Receives data sent from each user in real time and stores it in a database. At this time, it stores the data in a format that allows for unified management of data from multiple data sources.
[1014] Step 3:
[1015] Server: Cleans the collected data. Detects missing or outlier values and performs appropriate interpolation or correction. For example, it corrects data with negative inventory amounts to 0.
[1016] Step 4:
[1017] Server: Converts data provided in different formats into a unified format, specifically unifying date formats and numerical units (e.g., kilograms and pounds), to facilitate subsequent analysis.
[1018] Step 5:
[1019] Server: Applying advanced analytical algorithms to pre-processed data, including analyzing supply and demand patterns, forecasting demand using time series data, and identifying excess and shortage inventory.
[1020] Step 6:
[1021] Server: Based on the analysis results, the server generates optimal proposals. For example, if an excess of a certain food item is predicted, the server suggests donating it to a local food bank or holding a sales campaign. It also suggests optimizing logistics routes.
[1022] Step 7:
[1023] Terminal: The analysis results and suggestions sent from the server are displayed on the user's terminal. If you are a supplier manager, you can check the measures to be taken for excess inventory in real time.
[1024] Step 8:
[1025] User: Review the proposal and adjust inventory management and delivery schedules as needed, including donating excess food to food banks and planning sales promotions.
[1026] Step 9:
[1027] User: The results of the work performed, such as the distribution status of surplus food and new consumption patterns, are fed back to the system.
[1028] Step 10:
[1029] Server: Receives the feedback data and improves and updates the algorithms. For example, it trains a new demand forecasting model based on actual data to improve forecast accuracy.
[1030] Step 11:
[1031] Server: Based on the improved algorithm, the server performs a new analysis and provides updated recommendations to the user again, thereby achieving continuous food waste reduction and efficient food supply.
[1032] Example 1
[1033] 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."
[1034] In modern society, increasing food waste and the amount of garbage disposed of are serious problems. Providing food efficiently to people in need is also a difficult challenge. To solve these problems, a system is needed that collects and analyzes data from producers, distributors, and suppliers and generates optimal proposals. However, existing systems do not adequately correct missing or outlier data, standardize different formats, or analyze supply and demand patterns or optimize logistics routes, preventing efficient food management and delivery.
[1035] 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.
[1036] In this invention, the server includes means for collecting data from producers, distributors, and suppliers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal proposals based on the analysis results, means for providing the generated proposals to users, means for receiving feedback from users and improving the system, and means for inputting prompt statements into the generative AI model. This makes it possible to complement and correct missing or outlier values in data, unify different formats, analyze supply and demand patterns, predict waste risks, and calculate optimal logistics routes, thereby reducing food waste and realizing an efficient food supply.
[1037] "Producer" refers to the entity that produces or manufactures food or products.
[1038] "Distributor" refers to an entity that transports and distributes products and food from the place of production to the place of consumption.
[1039] "Provider" refers to an entity that provides a product or food to a consumer.
[1040] "Data" includes information collected from producers, distributors and providers about stock levels, consumption levels, waste levels and people in need of assistance.
[1041] "Collection methods" refers to the methods and techniques used to collect data from producers, distributors, and providers.
[1042] "Preprocessing means" refers to processing methods and technologies that complement and correct missing or abnormal values in collected data and standardize the format.
[1043] "Analysis means" refers to methods and technologies for analyzing supply and demand patterns, predicting waste risks, and calculating logistics routes using preprocessed data.
[1044] "Proposal generation means" refers to a method or technology that generates optimal food management and delivery proposals based on the analysis results.
[1045] "Providing means" refers to a method or technology for providing generated suggestions to users.
[1046] "Feedback means" refers to methods and techniques for receiving feedback from users and improving the system.
[1047] A "prompt sentence" refers to a sentence containing instructions that are input into a generative AI model.
[1048] A "generative AI model" refers to an artificial intelligence model that performs appropriate analysis and makes suggestions based on the input prompt text.
[1049] This invention is a system that uses data collected from producers, distributors, and suppliers to reduce food waste, decrease the amount of waste disposed of, and realize an efficient food supply. This system is composed of a server, terminals, and users.
[1050] Data collection
[1051] User
[1052] Producers, distributors, and providers enter information about their inventory, consumption, and waste, as well as information about people who need assistance. This includes entering information via smartphones or tablets. For example, producers can enter the amount of food they produce and waste into the app using their smartphones.
[1053] Terminal
[1054] The data entered by the user is received and temporarily stored in local storage. After that, a communication module operates to periodically send the data to the server.
[1055] server
[1056] The received data is stored in a cloud database (e.g., Amazon RDS or Google Cloud Spanner) in real time.
[1057] Data Preprocessing
[1058] server
[1059] Detect missing or outlier values in the collected data and complete or correct them. Use Python's Pandas library to detect outlier data where inventory is negative and correct it to the appropriate value. Also, convert data provided in different formats into a unified format. For example, unify the date format to "YYYY-MM-DD" and the weight unit to kilograms. Use an ETL tool (for example, Apache NiFi) for data conversion.
[1060] Data analysis
[1061] server
[1062] Applying advanced analytical algorithms to analyze supply and demand patterns using data collected from each supplier, for example, Scikit-learn is used to build supply and demand forecasting models to predict future supply and demand balances based on past data, and Google Maps API is used to calculate optimal logistics routes and implement algorithms to maximize delivery efficiency.
[1063] Providing results
[1064] server
[1065] Based on the analysis results, the system generates optimal food management and delivery suggestions. The generated suggestions are materialized based on prompts using a generative AI model. For example, the server may suggest donating excess bread to a food bank or suggesting an efficient delivery route. The server then sends these suggestions to the user's device.
[1066] Terminal
[1067] The user's smartphone app or web app receives the suggestions sent from the server and notifies and displays them.
[1068] User
[1069] The user reviews the proposed content and adjusts inventory management and delivery schedules as needed. For example, the provider decides to donate to a food bank and processes the delivery.
[1070] Feedback and Improvements
[1071] User
[1072] Actual operational results and new data (such as the distribution status of surplus food and new consumption patterns) are fed back into the system via a dedicated app.
[1073] server
[1074] Receive feedback and improve and update the analytical model. For example, analyze the feedback data and optimize the parameters of the machine learning model. As a result, generate new optimization suggestions and provide them to the user again. Specific instructions can be given to the generative AI model using example prompt sentences such as the following:
[1075] Prompt Sentence Examples
[1076] Using the data below, forecast bread consumption for the next week and generate suggestions to reduce the risk of overstocking. Data has been collected from producers, distributors, and suppliers. Factors to consider are supply, consumption, traffic conditions, and local demand trends.
[1077] By implementing such a system, food waste can be reduced and food supply can be made more efficient.
[1078] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1079] Step 1: Data collection
[1080] Users: Producers, distributors, and providers use smartphones or tablets to enter information about their company's inventory, consumption, waste, and people in need of assistance into a dedicated app.
[1081] Input: Information on inventory, consumption, waste, and people in need of assistance
[1082] Output: Data entered into the app
[1083] Terminal: Operates a communication module that temporarily stores data entered by the user in local storage and periodically transmits it to the server.
[1084] Input: Data entered by the user into the app
[1085] Output: Data to send to the server
[1086] Server: Receives data sent from the device in real time and stores it in a cloud database (e.g., Amazon RDS or Google Cloud Spanner).
[1087] Input: Data sent from the terminal
[1088] Output: Data stored in the database
[1089] Step 2: Data Preprocessing
[1090] Server: Detect missing values and outliers in the collected data and impute or correct them. Detect outliers using the Python Pandas library and correct them appropriately.
[1091] Input: Raw data (inventory, consumption, waste, etc.)
[1092] Data processing: missing value imputation, outlier detection and correction
[1093] Output: Corrected data
[1094] Server: Convert data from different formats into a unified format. Use an ETL tool (e.g., Apache Nifi) to unify date formats and weight units.
[1095] Input: Data after completion and correction
[1096] Data processing: Standardization of date format and numerical units
[1097] Output: Data in a unified format
[1098] Step 3: Data analysis
[1099] Server: Applying advanced analytical algorithms to analyze supply and demand patterns. Building supply and demand forecasting models using Scikit-learn.
[1100] Input: Data in a unified format
[1101] Data Computing: Supply and Demand Forecasting with Machine Learning
[1102] Output: Supply and demand balance forecast results
[1103] Server: Calculates the optimal logistics route using the Google Maps API. Route optimization takes into account traffic congestion, delivery distance, and costs.
[1104] Input: Supply and demand balance forecast results
[1105] Data calculation: Logistics route optimization
[1106] Output: Optimal logistics route
[1107] Step 4: Delivering results
[1108] Server: Generates optimal suggestions based on the analysis results. Using a generative AI model, it creates specific suggestions based on the prompt.
[1109] Input: Supply and demand forecast results, optimal logistics route
[1110] Data calculation: Proposal generation
[1111] Output: Proposal
[1112] Device: Proposals sent from the server are notified to the user's device and displayed on the smartphone app or web app.
[1113] Input: Suggestion from the server
[1114] Action: Notify and display suggestions
[1115] Output: The proposal displayed to the user
[1116] User: Review the proposal and adjust inventory management and delivery schedules, for example, deciding to donate excess bread to a food bank.
[1117] Input: Proposal text
[1118] Behavior: Proposal confirmation, decision making
[1119] Output: Execution plan (adjustment of inventory management and delivery schedule)
[1120] Step 5: Feedback and Improvement
[1121] User: Actual operational results and new data (distribution status of surplus food, new consumption patterns) are fed back to the system via a dedicated app.
[1122] Input: Operational data
[1123] Action: Data entry and transmission
[1124] Output: Feedback data sent to the server
[1125] Server: Receives feedback, improves and updates the analytical model, optimizes the parameters of the machine learning model, and generates new optimization suggestions.
[1126] Input: Feedback data
[1127] Data calculation: Adjusting model parameters and generating optimization proposals
[1128] Output: Improved model, updated proposals
[1129] In this way, each step is interconnected, with data collection, analysis, results provided, and feedback leading to continuous improvement of the model.
[1130] (Application example 1)
[1131] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1132] Reducing food waste and efficiently supplying food are important issues in modern society. In particular, there is a need for cooperation between producers, distributors, and suppliers to ensure optimal food management and delivery. However, inconsistent data and missing information among these suppliers often make it difficult to calculate optimal proposals and delivery routes. Furthermore, there is a lack of concrete proposals for efficiently donating excess food inventory. This leads to increased food waste, wasted resources, and increased costs.
[1133] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1134] In this invention, the server includes means for collecting data from producers, distributors, and suppliers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal proposals based on the analysis results, means for providing the generated proposals to a terminal device, means for identifying excess food inventory and generating donation proposals based on the proposals provided on the terminal device, means for calculating optimal delivery routes based on the proposals provided on the terminal device, and means for receiving feedback from users and improving the system. This makes it possible to compensate for data inconsistencies and missing information and provide optimal proposals and delivery routes. It also allows excess food inventory to be donated efficiently, contributing to reducing food waste.
[1135] definition statement
[1136] "Producer" refers to a business that produces food such as agricultural products, livestock products, and seafood.
[1137] "Distributor" refers to a business that delivers and supplies food and other products from producers to suppliers or consumers.
[1138] "Provider" refers to the business that ultimately provides food to consumers, including supermarkets and restaurants.
[1139] "Means of collecting data" refers to methods of obtaining relevant data such as inventory, consumption, and waste amounts from producers, distributors, and providers using various devices and APIs.
[1140] "Preprocessing means" refers to the process of complementing missing and outlier values from collected data and standardizing the data format.
[1141] "Means of analysis" refers to algorithms that analyze supply and demand patterns based on pre-processed data and derive optimal proposals and delivery routes.
[1142] "Means for generating optimal proposals" refers to a method for creating specific proposals based on the analysis results regarding the management of excess food inventory and efficient delivery methods.
[1143] "Detention terminal device" refers to a device such as a smartphone or tablet that makes it easier for users to check the best suggestions.
[1144] "Means of receiving feedback and improving the system" refers to methods of collecting usage results and new data from users and using that information to update and improve the algorithms and suggestions.
[1145] MODE FOR CARRYING OUT THE INVENTION
[1146] In this invention, we build a system to collect, preprocess, and analyze data from manufacturers, distributors, and suppliers to generate optimal proposals. The system consists of the following main components:
[1147] System Configuration Overview
[1148] 1. Data Collection Methods
[1149] The server collects data from producers, distributors, and suppliers via APIs. For example, data on inventory, consumption, and waste is collected from each supplier. The collected data is stored in a database on the server.
[1150] 2. Data preprocessing methods
[1151] The server then fills or corrects missing or outliers in the collected data, using the Pandas library to fill in missing data and detect and correct outliers. Additionally, the server standardizes the data using the StandardScaler class to convert data from different formats into a unified format.
[1152] 3. Data Analysis Methods
[1153] Based on the preprocessed data, the server uses the K-means clustering algorithm to analyze supply and demand patterns, and uses the Scikit-learn library to divide the data into clusters and generate optimal proposals based on the characteristics of each cluster.
[1154] 4. Proposal generation means
[1155] The server uses the results of K-means clustering to identify excess food inventory and generate donation suggestions, thereby reducing food waste and building an efficient supply system.
[1156] 5. Delivery and feedback methods
[1157] The server provides optimal proposals to the user's terminal device (such as a smartphone or tablet). The user reviews the proposals and adjusts inventory management and delivery schedules as necessary. User feedback is sent to the server and used to improve the system.
[1158] Hardware and Software
[1159] 1. Hardware
[1160] User devices (smartphones, tablets)
[1161] server
[1162] 2. Software
[1163] Python environment
[1164] Pandas library (data collection and preprocessing)
[1165] Scikit-learn library (data analysis)
[1166] Requests library (collecting data from APIs)
[1167] Specific examples
[1168] For example, if data is collected from a local bread manufacturer, several distributors, and suppliers and it is found that there is an excess of bread in stock, the server will generate a proposal through the following process.
[1169] 1. Data Collection and Preprocessing
[1170] Data from a bread manufacturer: "Inventory: 120, Consumption forecast: 80"
[1171] Data from distributor: "Inventory: 200, Demand forecast: 150"
[1172] Data from the provider: "Inventory: 50, Consumption forecast: 30"
[1173] 2. Data Analysis
[1174] Clustering ensures that bread is overstocked.
[1175] 3. Proposal results
[1176] "Donation suggestion: Donate 50 units of bread to a local food bank."
[1177] Proposing optimal delivery routes
[1178] Prompt Sentence Examples
[1179] Generate optimal proposals for donating excess bread to food banks based on data collected from food manufacturers, distributors, and suppliers. Include inventory levels, consumption forecasts, and demand forecasts in the proposals. Also provide an approach that takes into account delivery route optimization.
[1180] This system makes it possible to compensate for data inconsistencies and missing information, provide optimal proposals and delivery routes, and efficiently donate excess food stocks, contributing to reducing food waste.
[1181] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1182] Program processing steps
[1183] Step 1:
[1184] The server collects data from producers, distributors, and suppliers. The data obtained through APIs includes inventory, consumption, and waste. The server stores the collected data in a database.
[1185] Input: Data such as inventory, consumption, and waste obtained through API
[1186] Data processing: Save to database
[1187] Output: Raw data stored in a database
[1188] Step 2:
[1189] The server preprocesses the collected data, imputing and correcting missing and outlier values, and converting data from different formats into a unified format. It uses the Pandas library to impute missing data and the StandardScaler class to standardize the data.
[1190] Input: Raw data retrieved from the database
[1191] Data processing: Imputing missing values and correcting outliers using the Pandas library, and standardizing data using StandardScaler
[1192] Output: Preprocessed data in a unified format
[1193] Step 3:
[1194] The server analyzes the preprocessed data. It uses the K-means clustering algorithm from the Scikit-learn library to analyze supply and demand patterns. The analysis divides the data into clusters and derives the characteristics of each cluster.
[1195] Input: Preprocessed data in a unified format
[1196] Data Calculation: Data Analysis using K-means Clustering Algorithm
[1197] Output: Data divided into clusters and their features
[1198] Step 4:
[1199] The server generates optimal recommendations based on the analysis results, identifying excess food stocks and creating donation suggestions and optimal delivery route suggestions.
[1200] Input: Cluster analysis results
[1201] Data processing: generating recommendations based on analysis results
[1202] Output: Donation suggestions and delivery route suggestions
[1203] Step 5:
[1204] The server provides the generated proposal to the user's terminal device, which includes a specific donation method and an optimal delivery route.
[1205] Input: Proposal data
[1206] Data processing: Sending to user terminal
[1207] Output: Proposal displayed on the user's terminal
[1208] Step 6:
[1209] The user reviews the proposal and adjusts inventory management and delivery schedules as necessary. Feedback from the user is sent to the server via the office terminal device.
[1210] Input: User-reviewed suggestions and feedback
[1211] Data processing: Gathering feedback
[1212] Output: Feedback sent to the server
[1213] Step 7:
[1214] The server receives feedback from users and improves the system, updating and refining the algorithms and suggestions based on new data and feedback.
[1215] Input: User feedback and new data
[1216] Data processing: updating and improving algorithms and proposals
[1217] Output: Improved system and updated proposals
[1218] 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.
[1219] This invention combines a system that collects, preprocesses, and analyzes data from producers, distributors, and suppliers to generate optimal recommendations with an emotion engine that recognizes the user's emotions. This system aims to reduce food waste, reduce the amount of waste disposed of, and efficiently provide food to people in need. It also provides optimal recommendations based on the user's emotional state and analyzes feedback to improve the system.
[1220] A natural language description of the program's operation
[1221] The process of this system is divided into the following steps:
[1222] 1. Data Collection
[1223] Users: Producers, distributors, suppliers, and local governments enter information about their inventory, consumption, and waste, as well as information about people in need of assistance, including through smartphones and tablets.
[1224] Server: Receives data sent by each user in real time and stores it in a database. Information from multiple data sources is centrally managed.
[1225] 2. Data Preprocessing
[1226] Server: Detects missing or outliers in the collected data and performs corrections or completions. For example, it corrects negative inventory data to 0.
[1227] Server: Converts data provided in different formats into a unified format. Specifically, standardizing date formats and numerical units makes analysis easier.
[1228] 3. Data Analysis
[1229] Server: Applying advanced analytical algorithms to the pre-processed data, including analyzing supply and demand patterns, forecasting demand using time series data, and identifying excess and shortage inventory.
[1230] Server: Calculates the optimal logistics route. Route optimization takes into account factors such as traffic congestion, delivery distance, and cost.
[1231] 4. Providing results
[1232] Server: Based on the analysis results, the server generates optimal suggestions based on the user's emotional state. For example, if an overstock of a certain food item is predicted, the emotion engine will determine the user's stress level and suggest donations at the appropriate time.
[1233] Terminal: The analysis results and suggestions sent from the server are displayed on the user's terminal, helping to improve business operations.
[1234] User: Review the proposal and adjust inventory management and delivery schedules as needed.
[1235] 5. Feedback and Emotion Recognition
[1236] User: Provides feedback to the system on the results of the tasks performed and their emotional state (e.g., satisfaction level and stress level) at the time.
[1237] Server: Analyzes the received feedback data and improves the emotion engine algorithm. It also takes into account the user's emotion data to optimize future suggestions.
[1238] Specific examples
[1239] For example, in a case where a supermarket (supplier) has excess bread in stock,
[1240] 1. User (supplier manager): Enters bread inventory and consumption forecast data into the system.
[1241] 2. Server: Aggregates the data and integrates it with data from other providers and distributors for analysis.
[1242] 3. Server: Generate donation proposals to partner with local food banks due to anticipated excess bread inventory.
[1243] 4. Device: Suggestions are displayed on the user's device. At the same time, the emotion engine checks the user's stress level and notifies them at the appropriate time and in the appropriate way.
[1244] 5. User: Review the offer and decide to donate to the food bank. The emotion engine monitors the user's response and takes appropriate follow-up action.
[1245] 6. Server: Receives feedback on the user's emotional state along with the execution results, and uses this to improve the quality of future suggestions.
[1246] In this way, by combining the emotion engine, flexible and effective suggestions can be made according to the user's emotional state, reducing food waste, minimizing waste, and providing effective food assistance.
[1247] The processing flow will be explained below.
[1248] Step 1:
[1249] Users: Producers, distributors, suppliers, and local governments input information about their own stock, consumption, and waste levels, as well as information about people who need assistance. They input agricultural harvest data and consumer purchasing data via smartphones or tablets.
[1250] Step 2:
[1251] Server: Receives data sent by each user in real time and stores it in a database, making the information centrally managed from multiple data sources available for the next processing step.
[1252] Step 3:
[1253] Server: Cleans the collected data. First, it detects missing or outlier values and corrects them as necessary. For example, it corrects data with negative inventory values to the correct value.
[1254] Step 4:
[1255] Server: Converts data provided in different formats into a unified format. Specifically, it standardizes date formats and numerical units. This makes subsequent data analysis easier.
[1256] Step 5:
[1257] Server: Applying advanced analytical algorithms to the pre-processed data to analyze supply and demand patterns, forecast demand using time series data, and identify excess and shortage inventory.
[1258] Step 6:
[1259] Server: Generates optimal recommendations based on the analysis results. For example, if excess food is predicted, the server may suggest donating the food to a food bank or launching a sales promotion campaign.
[1260] Step 7:
[1261] Device: The analysis results and suggestions sent from the server are displayed on the user's device. At the same time, the emotion engine analyzes the user's emotional state from their facial expressions and voice, and adjusts the display method and timing.
[1262] Step 8:
[1263] User: Review proposals and adjust inventory management and delivery schedules as needed, including approving and implementing proposed donations and promotions.
[1264] Step 9:
[1265] User: The user provides feedback to the system on the results of the tasks they performed and their emotional state (e.g., satisfaction or stress level) at the time. Emotional states are either entered directly via a smartphone or tablet or automatically captured by the emotion engine.
[1266] Step 10:
[1267] Server: Analyzes the received feedback data and improves the emotion engine algorithm. Based on the feedback, the server optimizes the method of generating new suggestions that take into account the user's emotional state.
[1268] Step 11:
[1269] Server: Based on the improved algorithm, the server performs a new analysis and provides updated recommendations to the user again, thereby achieving continuous food waste reduction and efficient food supply.
[1270] Example 2
[1271] 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."
[1272] Conventional food supply systems do not take into account the user's emotional state, resulting in problems such as poor recommendations and difficulty in reducing food waste and achieving effective food supply. Furthermore, data analysis to balance supply and demand was not adequately performed, often resulting in inventory with a high risk of being wasted. Furthermore, user feedback was often not utilized to improve the system, resulting in a lack of improvement in the quality of recommendations.
[1273] 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.
[1274] In this invention, the server includes means for collecting data from producers, distributors, and providers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal suggestions based on the analysis results, means for providing the generated suggestions to a user, means for receiving feedback from the user and improving the system, means for recognizing the emotional state of the user, and means for adjusting the suggestions based on the emotional state of the user. This enables flexible and effective suggestions according to the emotional state of the user, making it possible to reduce food waste and realize an efficient food supply.
[1275] The "data collection means" is a function for collecting data provided by users, such as inventory, consumption, and waste, as well as information on people who need support.
[1276] The "data preprocessing means" is a function that detects missing values and abnormal values in collected data, complements or corrects them, and converts data provided in different formats into a unified format.
[1277] "Data analysis means" is a function that applies machine learning algorithms and statistical analysis to preprocessed data to analyze supply and demand patterns and predict waste risks.
[1278] The "optimal proposal generation means" is a function that generates optimal proposals according to the emotional state of the user based on the results of data analysis.
[1279] The "proposal providing means" is a function that transmits the generated proposal to the user's terminal and displays it.
[1280] The "feedback receiving means" is a function that receives feedback from users regarding suggestions and uses the feedback to improve the system.
[1281] The "emotional state recognition means" is a function that monitors the user's emotional state in real time and evaluates it through an emotion engine.
[1282] The "proposal adjustment means" is a function that adjusts the proposal content and notification method based on the user's emotional state.
[1283] The "missing value imputation means" is a function that, when there are missing data in the collected data, fills in the missing parts with appropriate values.
[1284] The "abnormal value correction means" is a function that corrects an abnormal value to an appropriate value if the collected data contains an abnormal value.
[1285] The "format unification means" is a function that converts the format of the provided data into a unified format.
[1286] "Supply and demand pattern analysis means" is a function that analyzes supply and demand patterns using collected and preprocessed data.
[1287] The "disposal risk prediction means" is a function that predicts future disposal risks based on data.
[1288] The "logistics route optimization means" is a function that calculates the optimal logistics route taking into account factors such as traffic congestion, delivery distance, and costs.
[1289] The "emotion engine" is a feature within the system that assesses the user's emotional state in real time and adjusts suggestions based on the results.
[1290] MODE FOR CARRYING OUT THE INVENTION
[1291] This invention combines a system that collects, preprocesses, and analyzes data from producers, distributors, and suppliers to generate optimal recommendations with an emotion engine that recognizes the user's emotions. The system's main objectives are to reduce food loss, minimize waste, and efficiently provide food to those in need. It also provides optimal recommendations based on the user's emotional state and analyzes feedback to improve the system.
[1292] This system is realized using the following hardware and software: The hardware includes servers and devices (smartphones and tablets), and the software includes a database management system, machine learning algorithms, and an emotion engine. Specific software used includes a MySQL database, RESTful API, WebSocket, and machine learning frameworks (such as TensorFlow and PyTorch).
[1293] Data collection
[1294] Users: Producers, distributors, suppliers, and local governments enter information about their inventory, consumption, and waste, as well as information about people in need of assistance, including through smartphones and tablets.
[1295] Server: Receives data sent by each user in real time and stores it in a database. Data is collected quickly using RESTful APIs and WebSockets.
[1296] Data Preprocessing
[1297] Server: Detects missing or outliers in the collected data and performs corrections or completions. For example, if the inventory amount is negative, it corrects the value to 0. It also processes data to eliminate duplicates.
[1298] Server: Convert data provided in different formats into a unified format. Specifically, standardize the date format to "yyyy-mm-dd" and the weight unit to "kg."
[1299] Data analysis
[1300] Server: Apply machine learning algorithms and statistical analysis to the pre-processed data. For example, use time series analysis for demand forecasting and clustering techniques for supply and demand pattern analysis.
[1301] Server: Uses Dijkstra algorithm and linear programming to calculate optimal logistics routes, taking into account multiple factors such as traffic congestion, delivery distance, and cost.
[1302] Providing results
[1303] Server: Based on the analysis results, the server generates optimal suggestions based on the user's emotional state. The emotion engine evaluates the user's stress level and satisfaction in real time and sends suggestions at the appropriate time.
[1304] Device: The analysis results and suggestions sent from the server are displayed on the user's device. For example, a notification such as "We predict there will be an excess of certain foods. We suggest donating them to a food bank."
[1305] Feedback and Emotion Recognition
[1306] User: After accepting the suggestion and carrying out the task, the user provides feedback to the system, including the results of the task and their emotional state (e.g., satisfaction level or stress level). Users submit feedback through a dedicated input form or survey.
[1307] Server: Analyzes the received feedback data and improves the emotion engine algorithm. Uses the feedback data to make future suggestions more accurate.
[1308] Specific examples
[1309] For example, in a case where a supermarket (supplier) has excess bread in stock,
[1310] 1. User (supplier manager): Enters bread inventory and consumption forecast data into the system.
[1311] 2. Server: Aggregates the data and integrates it with data from other providers and distributors for analysis.
[1312] 3. Server: Generate donation proposals to partner with local food banks due to anticipated excess bread inventory.
[1313] 4. Device: Suggestions are displayed on the user's device. At the same time, the emotion engine checks the user's stress level and notifies them at the appropriate time and in the appropriate way.
[1314] 5. User: Review the offer and decide to donate to the food bank. The emotion engine monitors the user's response and takes appropriate follow-up action.
[1315] 6. Server: Receives feedback on the user's emotional state along with the execution results, and uses this to improve the quality of future suggestions.
[1316] Example prompts to input to the generative AI model
[1317] "If a grocery store has excess bread, how can you optimize inventory management and donation suggestions? Also, how can you adjust suggestions based on the user's emotional state?"
[1318] This concludes the description of the "Mode for Carrying Out the Invention." By using this system, flexible and effective suggestions can be made according to the user's emotional state, reducing food waste, minimizing waste, and providing effective food assistance.
[1319] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1320] Program processing flow
[1321] Step 1: Data collection
[1322] Users: Producers, distributors, suppliers, and local governments use smartphones and tablets to input information about their inventory, consumption, and waste, as well as the people who need assistance.
[1323] Input: Data on inventory, consumption, waste, and support information entered into the system by the user from a terminal.
[1324] Server: Receives data sent by each user in real time and stores it in a database. Information entered by each user is sent to the server using a RESTful API or WebSocket.
[1325] Output: Stock, consumption, waste and support information stored in a database.
[1326] Step 2: Data Preprocessing
[1327] Server: Detects missing or outliers in the collected data and performs corrections or completions. For example, if the inventory amount is negative, it corrects the value to 0. It also performs processing to eliminate duplicate data.
[1328] Input: Raw data stored in a database.
[1329] Server: Convert data provided in different formats into a unified format. Specifically, standardize the date format to "yyyy-mm-dd" and the weight unit to "kg."
[1330] Output: Preprocessed and unified data.
[1331] Step 3: Data analysis
[1332] Server: Apply machine learning algorithms and statistical analysis to the pre-processed data. For example, use time series analysis for demand forecasting and clustering techniques for supply and demand pattern analysis.
[1333] Input: Preprocessed data in a unified format.
[1334] Server: Uses Dijkstra algorithm and linear programming to calculate optimal logistics routes, taking into account multiple factors such as traffic congestion, delivery distance, and cost.
[1335] Output: Demand forecast data, supply and demand pattern analysis results, logistics route optimization results.
[1336] Step 4: Delivering results
[1337] Server: Based on the analysis results, the server generates optimal suggestions based on the user's emotional state. The emotion engine evaluates the user's stress level and satisfaction in real time and sends suggestions at the appropriate time.
[1338] Input: Demand forecast data, supply and demand pattern analysis results, logistics route optimization results.
[1339] Server: Generates proposals such as how to handle excess inventory and how to adjust delivery schedules.
[1340] Output: Optimal suggestions taking into account emotional state.
[1341] Step 5: Feedback and Emotion Recognition
[1342] User: After accepting the suggestion and carrying out the task, the user provides feedback to the system, including the results of the task and their emotional state (e.g., satisfaction level or stress level). Users submit feedback through a dedicated input form or survey.
[1343] Input: User performance and emotional state data submitted through feedback forms and surveys.
[1344] Server: Analyzes the received feedback data and improves the emotion engine algorithm. Uses the feedback data to make future suggestions more accurate.
[1345] Output: Improved sentiment engine algorithm and better next suggestions.
[1346] Specific examples
[1347] Step 1:
[1348] The user (the provider's administrator) opens the smartphone app and enters the number of loaves of bread in stock (100), the number consumed the previous day (20), and the number discarded (5).
[1349] The server receives the entered data in real time and stores it in a MySQL database.
[1350] Step 2:
[1351] The server checks the data stored in the database and corrects any negative inventory values to 0. It also standardizes the date format to "yyyy-mm-dd" and converts the weight unit to "kg."
[1352] Step 3:
[1353] The server uses the preprocessed data to perform time series analysis and predict the demand for 120 loaves of bread next week. It then uses the Dijkstra algorithm to calculate the optimal logistics route.
[1354] Step 4:
[1355] The server analyzes the user's emotional state and suggests to users with high stress levels in a gentler way, "Would you consider donating to a food bank?"
[1356] Send a push notification to the device so the user can review the offer.
[1357] Step 5:
[1358] The user makes a donation to the food bank based on the suggestion, enters "Satisfaction level 5" and "Stress level 2" in the feedback form, and submits it.
[1359] The server analyzes the feedback data and improves the emotion engine algorithm, such as "encouraging quick response when stress levels are low."
[1360] The above is an explanation of the specific processing steps and the specific operations at each step. By using this system, flexible and effective suggestions can be made according to the user's emotional state, reducing food loss, minimizing waste, and realizing effective food assistance.
[1361] (Application example 2)
[1362] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1363] There are challenges in reducing food waste, reducing the amount of waste disposed of, and efficiently providing food to people in need. To solve these challenges, a system is needed that collects data from the entire supply chain, preprocesses and analyzes it, and generates and provides optimal suggestions. Furthermore, it is necessary to provide effective suggestions while reducing user stress by recognizing the user's emotional state and adjusting the suggestions based on that.
[1364] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting data from producers, distributors, and providers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal suggestions based on the analysis results, means for providing the generated suggestions to the user, means for recognizing the user's emotional state, means for adjusting the suggestions based on the emotional state, and means for receiving feedback from the user and improving the system. This enables centralized management and analysis of data across the entire supply chain, reducing food waste and ensuring efficient food supply, and further reducing user stress by generating optimal suggestions based on the user's emotional state.
[1365] "Producer" refers to a company or individual that produces products such as food or consumer goods.
[1366] "Distributor" refers to a company or individual that supplies products from producers to retailers or consumers.
[1367] "Provider" refers to a business or individual that offers products or services directly to consumers.
[1368] "Means of collecting data" refers to a system that centrally aggregates information from producers, distributors, and providers.
[1369] "Preprocessing means" refers to a system that complements missing values and corrects outliers in collected data, and converts it into a format suitable for analysis.
[1370] "Means of analysis" refers to a system that uses pre-processed data to analyze supply and demand patterns and derive optimal supply methods.
[1371] "Means for generating optimal proposals" refers to a system that creates the most effective action plan for the user based on the results of data analysis.
[1372] "Means for providing to the user" refers to a system that notifies the user of the generated suggestions.
[1373] "Means for recognizing emotional state" refers to a system that recognizes emotions using sensors and algorithms to assess the user's psychological state.
[1374] "Means for adjusting suggestions based on emotional state" refers to a system that changes the content of suggestions or the timing of notifications depending on the user's recognized emotions.
[1375] "Means for receiving feedback and improving the system" refers to a system that collects reactions and evaluations from users and uses them to improve the system's performance and algorithms.
[1376] "Means for analyzing supply and demand patterns" refers to systems that use historical data to forecast supply and demand trends.
[1377] "Means for predicting waste risk" refers to a system that predicts unnecessary waste in advance based on inventory expiration dates and deterioration information.
[1378] "Means for calculating optimal logistics routes" refers to a system that determines the optimal delivery route by taking into account traffic conditions and costs along the logistics route.
[1379] "Means for providing notifications at appropriate times according to stress levels" refers to a system that provides suggestions and notifications at appropriate times based on the user's stress level.
[1380] The present invention is implemented using a smartphone application used in a logistics center and a server system linked thereto.
[1381] System Configuration
[1382] Hardware
[1383] The system uses the following hardware:
[1384] Server: High performance server for data storage and analysis
[1385] User device: smartphone or tablet
[1386] Sensor device: a wearable device that detects the user's emotional state, or a smartphone camera and microphone
[1387] software
[1388] The system uses the following software:
[1389] Database Management: AWS RDS
[1390] Data Analysis: Python (Pandas, NumPy, SciPy)
[1391] Emotion Recognition Engine: Emotion Recognition Model Using TensorFlow
[1392] Application Development: Cross-platform app using Flutter
[1393] Specific functions of the system
[1394] Data collection
[1395] Users (producers, distributors, suppliers) input inventory data and consumption forecast data through a smartphone app. They can efficiently input inventory data using the barcode scanning function of their smartphone camera, and the data is stored in AWS RDS in real time.
[1396] Data Preprocessing
[1397] The server detects missing or outliers in the collected data and corrects or complements them. For example, if there is a negative value in the inventory quantity, it corrects it to zero. It also standardizes date formats and units of measurement.
[1398] Data analysis
[1399] The server uses Python (Pandas, NumPy, SciPy) to analyze the pre-processed data, analyze supply and demand patterns, identify excess or shortage inventory, calculate optimal logistics routes, and use time series data to forecast future demand.
[1400] Proposal generation and delivery
[1401] The server then generates optimal suggestions for users based on the analysis results. For example, if excess inventory is predicted, a suggestion to donate to a food bank will be generated. The suggestion is then notified to the user via a smartphone app.
[1402] Emotion recognition and suggestion adjustment
[1403] It recognizes the user's emotional state using a smartphone's camera and microphone or wearable sensors, and adjusts the timing and content of suggestions based on the user's stress level. It uses an emotion recognition model built with TensorFlow.
[1404] Gathering feedback and improving the system
[1405] After the user takes action based on the suggestions, they input their feedback via the smartphone app. The server receives this feedback data and uses it to improve the emotion engine and suggestion generation algorithm.
[1406] Examples of concrete examples and prompts
[1407] For example, if a food distribution center has a large amount of excess rice in stock,
[1408] 1. Collection:
[1409] The user (warehouse manager) uses a smartphone to scan the rice inventory and sends the data to AWS RDS.
[1410] 2. Pretreatment:
[1411] The server detects and corrects missing or outlier values in the collected inventory data.
[1412] 3. Data Analysis:
[1413] The server analyzes excess rice inventory and makes demand forecasts.
[1414] 4. Proposal generation and delivery:
[1415] The server generates a proposal to donate excess inventory to a local food bank and notifies the user via a smartphone app.
[1416] 5. Emotion recognition:
[1417] It uses the smartphone's camera and microphone to assess the user's stress level and adjust the timing of notifications.
[1418] 6. Gathering Feedback:
[1419] After implementing the suggestions, users enter feedback via a smartphone app, which the system receives and uses to improve the algorithm.
[1420] Prompt Sentence Examples
[1421] Write a Python script that uses an emotion recognition algorithm to assess the stress levels of distribution center staff and generate appropriate timing suggestions, including items that are close to expiry.
[1422] This will streamline logistics operations, reduce food waste, ease stress, and ensure an efficient food supply.
[1423] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1424] Step 1:
[1425] The terminal collects inventory data and consumption forecast data from producers, distributors, and suppliers. The data is collected using the barcode scanning function of a smartphone, and is sent to a server (AWS RDS) in real time. Input data includes product name, inventory quantity, consumption forecast, expiration date, etc. This allows for centralized management of inventory status within the logistics center.
[1426] Step 2:
[1427] The server preprocesses the collected data. Specifically, it complements or corrects missing or outlier values. For example, if an inventory quantity is negative, it changes it to zero. It also performs conversions to unify date formats and units of measurement. The input is the raw collected data, and the output is preprocessed, consistent data. This improves data quality and makes subsequent analysis easier.
[1428] Step 3:
[1429] The server analyzes the preprocessed data. Pandas, NumPy, and SciPy are used for the analysis. Analysis items include supply and demand patterns, identifying surplus and shortage inventory, and calculating optimal logistics routes. For example, future demand forecasts are made based on past data. The risk of inventory disposal is also predicted. The input is the preprocessed data, and the output is the specific analysis results. This allows the optimal logistics strategy to be derived.
[1430] Step 4:
[1431] The server generates optimal suggestions based on the analysis results. Machine learning algorithms are used to generate these suggestions. Examples include suggestions to donate excess inventory to food banks and suggestions for efficient logistics routes. The server also takes into account the user's emotional state and adjusts the content and timing of the suggestions according to their stress level. The input is the analysis results and emotional data, and the output is the optimal suggestion. This provides the user with effective improvement measures.
[1432] Step 5:
[1433] The device notifies the user of the generated suggestions. The notifications are sent via a smartphone app, and the emotion engine selects the appropriate timing. For example, the notification can be sent during a time when the user is not busy. The input is the suggestion from the server, and the output is the notification content sent to the user. This allows the user to receive the suggestions without feeling stressed.
[1434] Step 6:
[1435] The user takes action based on the suggestions and inputs the results as feedback. The feedback is sent to the server via a smartphone app. Specifically, the user inputs whether the suggestions were effective, how easy they were to implement, etc. The input is the user's feedback data, and the output is material for improving the system. This allows the system to improve the accuracy of future suggestions.
[1436] Step 7:
[1437] The server analyzes the received feedback and emotion data and retrains the system's algorithm. This improves the accuracy of future suggestions and user satisfaction. Specifically, this includes improving the emotion engine and tuning the suggestion generation algorithm. The input is user feedback data and emotion data, and the output is an improved algorithm. This allows for continuous improvement of the entire system.
[1438] 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.
[1439] 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.
[1440] 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.
[1441] [Fourth embodiment]
[1442] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1443] 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.
[1444] 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).
[1445] 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.
[1446] 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.
[1447] 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).
[1448] 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.
[1449] 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.
[1450] 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.
[1451] 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.
[1452] 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.
[1453] 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.
[1454] 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."
[1455] This invention is a system that collects, preprocesses, and analyzes data from producers, distributors, and suppliers to generate optimal proposals, with the aim of reducing food waste, reducing the amount of waste disposed of, and efficiently supplying food to people in need.
[1456] A natural language description of the program's operation
[1457] The system operates as follows.
[1458] 1. Data Collection
[1459] Users: Producers, distributors and providers enter information about their inventory, consumption and waste, as well as information about people who need help, including via smartphones and tablets.
[1460] Server: Receives the data in real time and stores it in a database.
[1461] 2. Data Preprocessing
[1462] Server: Detects missing or abnormal values in the collected data and completes or corrects them. For example, if there is abnormal data such as a negative inventory value, corrections are made.
[1463] Server: Converts data provided in different formats into a unified format, for example, by unifying date formats and numerical units.
[1464] 3. Data Analysis
[1465] Server: Applying advanced analytical algorithms to analyze supply and demand patterns using data collected from each supplier, determining the supply-demand balance and predicting waste risks.
[1466] Server: Calculates optimal logistics routes, including route optimization that takes into account traffic congestion, delivery distance, costs, etc.
[1467] 4. Providing results
[1468] Server: Generates optimal food management and delivery recommendations based on the analysis results. For example, it suggests donating excess bread to food banks and recommends efficient delivery routes.
[1469] Device: This suggestion is displayed on the user's device to help improve their work.
[1470] User: Review the proposal and adjust inventory management and delivery schedules as needed.
[1471] 5. Feedback and Improvement
[1472] Users: Feed back actual operational results and new data (e.g., distribution status of surplus food and new consumption patterns) to the system.
[1473] Server: receives this feedback, improves and updates the algorithm, and generates new optimization recommendations, which are then presented to the user again.
[1474] Specific examples
[1475] For example, suppose a grocery store (supplier) has excess bread in stock.
[1476] User (supplier manager): Enters bread inventory and consumption forecast data.
[1477] Server: Aggregates the data and integrates it with data from other providers and distributors for analysis.
[1478] Server: A bread surplus is predicted, so generate a proposal to partner with a local food bank to donate the excess bread.
[1479] User: Review the offer, decide to donate to the food bank, and manage the delivery process.
[1480] Server: The results of the donation are stored in a database to improve the accuracy of the prediction model in future.
[1481] In this way, through multi-stage data collection and analysis, it is possible to reduce food waste, decrease the amount of waste disposed of, and realize an effective approach to food support.
[1482] The processing flow will be explained below.
[1483] Step 1:
[1484] Users: Producers, distributors, providers, and local governments input information about their own inventory, consumption, and waste, as well as information about people who need assistance. For example, they input agricultural harvest data and consumer purchase data via smartphones or tablets.
[1485] Step 2:
[1486] Server: Receives data sent from each user in real time and stores it in a database. At this time, it stores the data in a format that allows for unified management of data from multiple data sources.
[1487] Step 3:
[1488] Server: Cleans the collected data. Detects missing or outlier values and performs appropriate interpolation or correction. For example, it corrects data with negative inventory amounts to 0.
[1489] Step 4:
[1490] Server: Converts data provided in different formats into a unified format, specifically unifying date formats and numerical units (e.g., kilograms and pounds), to facilitate subsequent analysis.
[1491] Step 5:
[1492] Server: Applying advanced analytical algorithms to pre-processed data, including analyzing supply and demand patterns, forecasting demand using time series data, and identifying excess and shortage inventory.
[1493] Step 6:
[1494] Server: Based on the analysis results, the server generates optimal proposals. For example, if an excess of a certain food item is predicted, the server suggests donating it to a local food bank or holding a sales campaign. It also suggests optimizing logistics routes.
[1495] Step 7:
[1496] Terminal: The analysis results and suggestions sent from the server are displayed on the user's terminal. If you are a supplier manager, you can check the measures to be taken for excess inventory in real time.
[1497] Step 8:
[1498] User: Review the proposal and adjust inventory management and delivery schedules as needed, including donating excess food to food banks and planning sales promotions.
[1499] Step 9:
[1500] User: The results of the work performed, such as the distribution status of surplus food and new consumption patterns, are fed back to the system.
[1501] Step 10:
[1502] Server: Receives the feedback data and improves and updates the algorithms. For example, it trains a new demand forecasting model based on actual data to improve forecast accuracy.
[1503] Step 11:
[1504] Server: Based on the improved algorithm, the server performs a new analysis and provides updated recommendations to the user again, thereby achieving continuous food waste reduction and efficient food supply.
[1505] Example 1
[1506] 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."
[1507] In modern society, increasing food waste and the amount of garbage disposed of are serious problems. Providing food efficiently to people in need is also a difficult challenge. To solve these problems, a system is needed that collects and analyzes data from producers, distributors, and suppliers and generates optimal proposals. However, existing systems do not adequately correct missing or outlier data, standardize different formats, or analyze supply and demand patterns or optimize logistics routes, preventing efficient food management and delivery.
[1508] 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.
[1509] In this invention, the server includes means for collecting data from producers, distributors, and suppliers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal proposals based on the analysis results, means for providing the generated proposals to users, means for receiving feedback from users and improving the system, and means for inputting prompt statements into the generative AI model. This makes it possible to complement and correct missing or outlier values in data, unify different formats, analyze supply and demand patterns, predict waste risks, and calculate optimal logistics routes, thereby reducing food waste and realizing an efficient food supply.
[1510] "Producer" refers to the entity that produces or manufactures food or products.
[1511] "Distributor" refers to an entity that transports and distributes products and food from the place of production to the place of consumption.
[1512] "Provider" refers to an entity that provides a product or food to a consumer.
[1513] "Data" includes information collected from producers, distributors and providers about stock levels, consumption levels, waste levels and people in need of assistance.
[1514] "Collection methods" refers to the methods and techniques used to collect data from producers, distributors, and providers.
[1515] "Preprocessing means" refers to processing methods and technologies that complement and correct missing or abnormal values in collected data and standardize the format.
[1516] "Analysis means" refers to methods and technologies for analyzing supply and demand patterns, predicting waste risks, and calculating logistics routes using preprocessed data.
[1517] "Proposal generation means" refers to a method or technology that generates optimal food management and delivery proposals based on the analysis results.
[1518] "Providing means" refers to a method or technology for providing generated suggestions to users.
[1519] "Feedback means" refers to methods and techniques for receiving feedback from users and improving the system.
[1520] A "prompt sentence" refers to a sentence containing instructions that are input into a generative AI model.
[1521] A "generative AI model" refers to an artificial intelligence model that performs appropriate analysis and makes suggestions based on the input prompt text.
[1522] This invention is a system that uses data collected from producers, distributors, and suppliers to reduce food waste, decrease the amount of waste disposed of, and realize an efficient food supply. This system is composed of a server, terminals, and users.
[1523] Data collection
[1524] User
[1525] Producers, distributors, and providers enter information about their inventory, consumption, and waste, as well as information about people who need assistance. This includes entering information via smartphones or tablets. For example, producers can enter the amount of food they produce and waste into the app using their smartphones.
[1526] Terminal
[1527] The data entered by the user is received and temporarily stored in local storage. After that, a communication module operates to periodically send the data to the server.
[1528] server
[1529] The received data is stored in a cloud database (e.g., Amazon RDS or Google Cloud Spanner) in real time.
[1530] Data Preprocessing
[1531] server
[1532] Detect missing or outlier values in the collected data and complete or correct them. Use Python's Pandas library to detect outlier data where inventory is negative and correct it to the appropriate value. Also, convert data provided in different formats into a unified format. For example, unify the date format to "YYYY-MM-DD" and the weight unit to kilograms. Use an ETL tool (for example, Apache NiFi) for data conversion.
[1533] Data analysis
[1534] server
[1535] Applying advanced analytical algorithms to analyze supply and demand patterns using data collected from each supplier, for example, Scikit-learn is used to build supply and demand forecasting models to predict future supply and demand balances based on past data, and Google Maps API is used to calculate optimal logistics routes and implement algorithms to maximize delivery efficiency.
[1536] Providing results
[1537] server
[1538] Based on the analysis results, the system generates optimal food management and delivery suggestions. The generated suggestions are materialized based on prompts using a generative AI model. For example, the server may suggest donating excess bread to a food bank or suggesting an efficient delivery route. The server then sends these suggestions to the user's device.
[1539] Terminal
[1540] The user's smartphone app or web app receives the suggestions sent from the server and notifies and displays them.
[1541] User
[1542] The user reviews the proposed content and adjusts inventory management and delivery schedules as needed. For example, the provider decides to donate to a food bank and processes the delivery.
[1543] Feedback and Improvements
[1544] User
[1545] Actual operational results and new data (such as the distribution status of surplus food and new consumption patterns) are fed back into the system via a dedicated app.
[1546] server
[1547] Receive feedback and improve and update the analytical model. For example, analyze the feedback data and optimize the parameters of the machine learning model. As a result, generate new optimization suggestions and provide them to the user again. Specific instructions can be given to the generative AI model using example prompt sentences such as the following:
[1548] Prompt Sentence Examples
[1549] Using the data below, forecast bread consumption for the next week and generate suggestions to reduce the risk of overstocking. Data has been collected from producers, distributors, and suppliers. Factors to consider are supply, consumption, traffic conditions, and local demand trends.
[1550] By implementing such a system, food waste can be reduced and food supply can be made more efficient.
[1551] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1552] Step 1: Data collection
[1553] Users: Producers, distributors, and providers use smartphones or tablets to enter information about their company's inventory, consumption, waste, and people in need of assistance into a dedicated app.
[1554] Input: Information on inventory, consumption, waste, and people in need of assistance
[1555] Output: Data entered into the app
[1556] Terminal: Operates a communication module that temporarily stores data entered by the user in local storage and periodically transmits it to the server.
[1557] Input: Data entered by the user into the app
[1558] Output: Data to send to the server
[1559] Server: Receives data sent from the device in real time and stores it in a cloud database (e.g., Amazon RDS or Google Cloud Spanner).
[1560] Input: Data sent from the terminal
[1561] Output: Data stored in the database
[1562] Step 2: Data Preprocessing
[1563] Server: Detect missing values and outliers in the collected data and impute or correct them. Detect outliers using the Python Pandas library and correct them appropriately.
[1564] Input: Raw data (inventory, consumption, waste, etc.)
[1565] Data processing: missing value imputation, outlier detection and correction
[1566] Output: Corrected data
[1567] Server: Convert data from different formats into a unified format. Use an ETL tool (e.g., Apache Nifi) to unify date formats and weight units.
[1568] Input: Data after completion and correction
[1569] Data processing: Standardization of date format and numerical units
[1570] Output: Data in a unified format
[1571] Step 3: Data analysis
[1572] Server: Applying advanced analytical algorithms to analyze supply and demand patterns. Building supply and demand forecasting models using Scikit-learn.
[1573] Input: Data in a unified format
[1574] Data Computing: Supply and Demand Forecasting with Machine Learning
[1575] Output: Supply and demand balance forecast results
[1576] Server: Calculates the optimal logistics route using the Google Maps API. Route optimization takes into account traffic congestion, delivery distance, and costs.
[1577] Input: Supply and demand balance forecast results
[1578] Data calculation: Logistics route optimization
[1579] Output: Optimal logistics route
[1580] Step 4: Delivering results
[1581] Server: Generates optimal suggestions based on the analysis results. Using a generative AI model, it creates specific suggestions based on the prompt.
[1582] Input: Supply and demand forecast results, optimal logistics route
[1583] Data calculation: Proposal generation
[1584] Output: Proposal
[1585] Device: Proposals sent from the server are notified to the user's device and displayed on the smartphone app or web app.
[1586] Input: Suggestion from the server
[1587] Action: Notify and display suggestions
[1588] Output: The proposal displayed to the user
[1589] User: Review the proposal and adjust inventory management and delivery schedules, for example, deciding to donate excess bread to a food bank.
[1590] Input: Proposal text
[1591] Behavior: Proposal confirmation, decision making
[1592] Output: Execution plan (adjustment of inventory management and delivery schedule)
[1593] Step 5: Feedback and Improvement
[1594] User: Actual operational results and new data (distribution status of surplus food, new consumption patterns) are fed back to the system via a dedicated app.
[1595] Input: Operational data
[1596] Action: Data entry and transmission
[1597] Output: Feedback data sent to the server
[1598] Server: Receives feedback, improves and updates the analytical model, optimizes the parameters of the machine learning model, and generates new optimization suggestions.
[1599] Input: Feedback data
[1600] Data calculation: Adjusting model parameters and generating optimization proposals
[1601] Output: Improved model, updated proposals
[1602] In this way, each step is interconnected, with data collection, analysis, results provided, and feedback leading to continuous improvement of the model.
[1603] (Application example 1)
[1604] 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."
[1605] Reducing food waste and efficiently supplying food are important issues in modern society. In particular, there is a need for cooperation between producers, distributors, and suppliers to ensure optimal food management and delivery. However, inconsistent data and missing information among these suppliers often make it difficult to calculate optimal proposals and delivery routes. Furthermore, there is a lack of concrete proposals for efficiently donating excess food inventory. This leads to increased food waste, wasted resources, and increased costs.
[1606] 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.
[1607] In this invention, the server includes means for collecting data from producers, distributors, and suppliers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal proposals based on the analysis results, means for providing the generated proposals to a terminal device, means for identifying excess food inventory and generating donation proposals based on the proposals provided on the terminal device, means for calculating optimal delivery routes based on the proposals provided on the terminal device, and means for receiving feedback from users and improving the system. This makes it possible to compensate for data inconsistencies and missing information and provide optimal proposals and delivery routes. It also allows excess food inventory to be donated efficiently, contributing to reducing food waste.
[1608] definition statement
[1609] "Producer" refers to a business that produces food such as agricultural products, livestock products, and seafood.
[1610] "Distributor" refers to a business that delivers and supplies food and other products from producers to suppliers or consumers.
[1611] "Provider" refers to the business that ultimately provides food to consumers, including supermarkets and restaurants.
[1612] "Means of collecting data" refers to methods of obtaining relevant data such as inventory, consumption, and waste amounts from producers, distributors, and providers using various devices and APIs.
[1613] "Preprocessing means" refers to the process of complementing missing and outlier values from collected data and standardizing the data format.
[1614] "Means of analysis" refers to algorithms that analyze supply and demand patterns based on pre-processed data and derive optimal proposals and delivery routes.
[1615] "Means for generating optimal proposals" refers to a method for creating specific proposals based on the analysis results regarding the management of excess food inventory and efficient delivery methods.
[1616] "Detention terminal device" refers to a device such as a smartphone or tablet that makes it easier for users to check the best suggestions.
[1617] "Means of receiving feedback and improving the system" refers to methods of collecting usage results and new data from users and using that information to update and improve the algorithms and suggestions.
[1618] MODE FOR CARRYING OUT THE INVENTION
[1619] In this invention, we build a system to collect, preprocess, and analyze data from manufacturers, distributors, and suppliers to generate optimal proposals. The system consists of the following main components:
[1620] System Configuration Overview
[1621] 1. Data Collection Methods
[1622] The server collects data from producers, distributors, and suppliers via APIs. For example, data on inventory, consumption, and waste is collected from each supplier. The collected data is stored in a database on the server.
[1623] 2. Data preprocessing methods
[1624] The server then fills or corrects missing or outliers in the collected data, using the Pandas library to fill in missing data and detect and correct outliers. Additionally, the server standardizes the data using the StandardScaler class to convert data from different formats into a unified format.
[1625] 3. Data Analysis Methods
[1626] Based on the preprocessed data, the server uses the K-means clustering algorithm to analyze supply and demand patterns, and uses the Scikit-learn library to divide the data into clusters and generate optimal proposals based on the characteristics of each cluster.
[1627] 4. Proposal generation means
[1628] The server uses the results of K-means clustering to identify excess food inventory and generate donation suggestions, thereby reducing food waste and building an efficient supply system.
[1629] 5. Delivery and feedback methods
[1630] The server provides optimal proposals to the user's terminal device (such as a smartphone or tablet). The user reviews the proposals and adjusts inventory management and delivery schedules as necessary. User feedback is sent to the server and used to improve the system.
[1631] Hardware and Software
[1632] 1. Hardware
[1633] User devices (smartphones, tablets)
[1634] server
[1635] 2. Software
[1636] Python environment
[1637] Pandas library (data collection and preprocessing)
[1638] Scikit-learn library (data analysis)
[1639] Requests library (collecting data from APIs)
[1640] Specific examples
[1641] For example, if data is collected from a local bread manufacturer, several distributors, and suppliers and it is found that there is an excess of bread in stock, the server will generate a proposal through the following process.
[1642] 1. Data Collection and Preprocessing
[1643] Data from a bread manufacturer: "Inventory: 120, Consumption forecast: 80"
[1644] Data from distributor: "Inventory: 200, Demand forecast: 150"
[1645] Data from the provider: "Inventory: 50, Consumption forecast: 30"
[1646] 2. Data Analysis
[1647] Clustering ensures that bread is overstocked.
[1648] 3. Proposal results
[1649] "Donation suggestion: Donate 50 units of bread to a local food bank."
[1650] Proposing optimal delivery routes
[1651] Prompt Sentence Examples
[1652] Generate optimal proposals for donating excess bread to food banks based on data collected from food manufacturers, distributors, and suppliers. Include inventory levels, consumption forecasts, and demand forecasts in the proposals. Also provide an approach that takes into account delivery route optimization.
[1653] This system makes it possible to compensate for data inconsistencies and missing information, provide optimal proposals and delivery routes, and efficiently donate excess food stocks, contributing to reducing food waste.
[1654] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1655] Program processing steps
[1656] Step 1:
[1657] The server collects data from producers, distributors, and suppliers. The data obtained through APIs includes inventory, consumption, and waste. The server stores the collected data in a database.
[1658] Input: Data such as inventory, consumption, and waste obtained through API
[1659] Data processing: Save to database
[1660] Output: Raw data stored in a database
[1661] Step 2:
[1662] The server preprocesses the collected data, imputing and correcting missing and outlier values, and converting data from different formats into a unified format. It uses the Pandas library to impute missing data and the StandardScaler class to standardize the data.
[1663] Input: Raw data retrieved from the database
[1664] Data processing: Imputing missing values and correcting outliers using the Pandas library, and standardizing data using StandardScaler
[1665] Output: Preprocessed data in a unified format
[1666] Step 3:
[1667] The server analyzes the preprocessed data. It uses the K-means clustering algorithm from the Scikit-learn library to analyze supply and demand patterns. The analysis divides the data into clusters and derives the characteristics of each cluster.
[1668] Input: Preprocessed data in a unified format
[1669] Data Calculation: Data Analysis using K-means Clustering Algorithm
[1670] Output: Data divided into clusters and their features
[1671] Step 4:
[1672] The server generates optimal recommendations based on the analysis results, identifying excess food stocks and creating donation suggestions and optimal delivery route suggestions.
[1673] Input: Cluster analysis results
[1674] Data processing: generating recommendations based on analysis results
[1675] Output: Donation suggestions and delivery route suggestions
[1676] Step 5:
[1677] The server provides the generated proposal to the user's terminal device, which includes a specific donation method and an optimal delivery route.
[1678] Input: Proposal data
[1679] Data processing: Sending to user terminal
[1680] Output: Proposal displayed on the user's terminal
[1681] Step 6:
[1682] The user reviews the proposal and adjusts inventory management and delivery schedules as necessary. Feedback from the user is sent to the server via the office terminal device.
[1683] Input: User-reviewed suggestions and feedback
[1684] Data processing: Gathering feedback
[1685] Output: Feedback sent to the server
[1686] Step 7:
[1687] The server receives feedback from users and improves the system, updating and refining the algorithms and suggestions based on new data and feedback.
[1688] Input: User feedback and new data
[1689] Data processing: updating and improving algorithms and proposals
[1690] Output: Improved system and updated proposals
[1691] 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.
[1692] This invention combines a system that collects, preprocesses, and analyzes data from producers, distributors, and suppliers to generate optimal recommendations with an emotion engine that recognizes the user's emotions. This system aims to reduce food waste, reduce the amount of waste disposed of, and efficiently provide food to people in need. It also provides optimal recommendations based on the user's emotional state and analyzes feedback to improve the system.
[1693] A natural language description of the program's operation
[1694] The process of this system is divided into the following steps:
[1695] 1. Data Collection
[1696] Users: Producers, distributors, suppliers, and local governments enter information about their inventory, consumption, and waste, as well as information about people in need of assistance, including through smartphones and tablets.
[1697] Server: Receives data sent by each user in real time and stores it in a database. Information from multiple data sources is centrally managed.
[1698] 2. Data Preprocessing
[1699] Server: Detects missing or outliers in the collected data and performs corrections or completions. For example, it corrects negative inventory data to 0.
[1700] Server: Converts data provided in different formats into a unified format. Specifically, standardizing date formats and numerical units makes analysis easier.
[1701] 3. Data Analysis
[1702] Server: Applying advanced analytical algorithms to the pre-processed data, including analyzing supply and demand patterns, forecasting demand using time series data, and identifying excess and shortage inventory.
[1703] Server: Calculates the optimal logistics route. Route optimization takes into account factors such as traffic congestion, delivery distance, and cost.
[1704] 4. Providing results
[1705] Server: Based on the analysis results, the server generates optimal suggestions based on the user's emotional state. For example, if an overstock of a certain food item is predicted, the emotion engine will determine the user's stress level and suggest donations at the appropriate time.
[1706] Terminal: The analysis results and suggestions sent from the server are displayed on the user's terminal, helping to improve business operations.
[1707] User: Review the proposal and adjust inventory management and delivery schedules as needed.
[1708] 5. Feedback and Emotion Recognition
[1709] User: Provides feedback to the system on the results of the tasks performed and their emotional state (e.g., satisfaction level and stress level) at the time.
[1710] Server: Analyzes the received feedback data and improves the emotion engine algorithm. It also takes into account the user's emotion data to optimize future suggestions.
[1711] Specific examples
[1712] For example, in a case where a supermarket (supplier) has excess bread in stock,
[1713] 1. User (supplier manager): Enters bread inventory and consumption forecast data into the system.
[1714] 2. Server: Aggregates the data and integrates it with data from other providers and distributors for analysis.
[1715] 3. Server: Generate donation proposals to partner with local food banks due to anticipated excess bread inventory.
[1716] 4. Device: Suggestions are displayed on the user's device. At the same time, the emotion engine checks the user's stress level and notifies them at the appropriate time and in the appropriate way.
[1717] 5. User: Review the offer and decide to donate to the food bank. The emotion engine monitors the user's response and takes appropriate follow-up action.
[1718] 6. Server: Receives feedback on the user's emotional state along with the execution results, and uses this to improve the quality of future suggestions.
[1719] In this way, by combining the emotion engine, flexible and effective suggestions can be made according to the user's emotional state, reducing food waste, minimizing waste, and providing effective food assistance.
[1720] The processing flow will be explained below.
[1721] Step 1:
[1722] Users: Producers, distributors, suppliers, and local governments input information about their own stock, consumption, and waste levels, as well as information about people who need assistance. They input agricultural harvest data and consumer purchasing data via smartphones or tablets.
[1723] Step 2:
[1724] Server: Receives data sent by each user in real time and stores it in a database, making the information centrally managed from multiple data sources available for the next processing step.
[1725] Step 3:
[1726] Server: Cleans the collected data. First, it detects missing or outlier values and corrects them as necessary. For example, it corrects data with negative inventory values to the correct value.
[1727] Step 4:
[1728] Server: Converts data provided in different formats into a unified format. Specifically, it standardizes date formats and numerical units. This makes subsequent data analysis easier.
[1729] Step 5:
[1730] Server: Applying advanced analytical algorithms to the pre-processed data to analyze supply and demand patterns, forecast demand using time series data, and identify excess and shortage inventory.
[1731] Step 6:
[1732] Server: Generates optimal recommendations based on the analysis results. For example, if excess food is predicted, the server may suggest donating the food to a food bank or launching a sales promotion campaign.
[1733] Step 7:
[1734] Device: The analysis results and suggestions sent from the server are displayed on the user's device. At the same time, the emotion engine analyzes the user's emotional state from their facial expressions and voice, and adjusts the display method and timing.
[1735] Step 8:
[1736] User: Review proposals and adjust inventory management and delivery schedules as needed, including approving and implementing proposed donations and promotions.
[1737] Step 9:
[1738] User: The user provides feedback to the system on the results of the tasks they performed and their emotional state (e.g., satisfaction or stress level) at the time. Emotional states are either entered directly via a smartphone or tablet or automatically captured by the emotion engine.
[1739] Step 10:
[1740] Server: Analyzes the received feedback data and improves the emotion engine algorithm. Based on the feedback, the server optimizes the method of generating new suggestions that take into account the user's emotional state.
[1741] Step 11:
[1742] Server: Based on the improved algorithm, the server performs a new analysis and provides updated recommendations to the user again, thereby achieving continuous food waste reduction and efficient food supply.
[1743] Example 2
[1744] 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."
[1745] Conventional food supply systems do not take into account the user's emotional state, resulting in problems such as poor recommendations and difficulty in reducing food waste and achieving effective food supply. Furthermore, data analysis to balance supply and demand was not adequately performed, often resulting in inventory with a high risk of being wasted. Furthermore, user feedback was often not utilized to improve the system, resulting in a lack of improvement in the quality of recommendations.
[1746] 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.
[1747] In this invention, the server includes means for collecting data from producers, distributors, and providers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal suggestions based on the analysis results, means for providing the generated suggestions to a user, means for receiving feedback from the user and improving the system, means for recognizing the emotional state of the user, and means for adjusting the suggestions based on the emotional state of the user. This enables flexible and effective suggestions according to the emotional state of the user, making it possible to reduce food waste and realize an efficient food supply.
[1748] The "data collection means" is a function for collecting data provided by users, such as inventory, consumption, and waste, as well as information on people who need support.
[1749] The "data preprocessing means" is a function that detects missing values and abnormal values in collected data, complements or corrects them, and converts data provided in different formats into a unified format.
[1750] "Data analysis means" is a function that applies machine learning algorithms and statistical analysis to preprocessed data to analyze supply and demand patterns and predict waste risks.
[1751] The "optimal proposal generation means" is a function that generates optimal proposals according to the emotional state of the user based on the results of data analysis.
[1752] The "proposal providing means" is a function that transmits the generated proposal to the user's terminal and displays it.
[1753] The "feedback receiving means" is a function that receives feedback from users regarding suggestions and uses the feedback to improve the system.
[1754] The "emotional state recognition means" is a function that monitors the user's emotional state in real time and evaluates it through an emotion engine.
[1755] The "proposal adjustment means" is a function that adjusts the proposal content and notification method based on the user's emotional state.
[1756] The "missing value imputation means" is a function that, when there are missing data in the collected data, fills in the missing parts with appropriate values.
[1757] The "abnormal value correction means" is a function that corrects an abnormal value to an appropriate value if the collected data contains an abnormal value.
[1758] The "format unification means" is a function that converts the format of the provided data into a unified format.
[1759] "Supply and demand pattern analysis means" is a function that analyzes supply and demand patterns using collected and preprocessed data.
[1760] The "disposal risk prediction means" is a function that predicts future disposal risks based on data.
[1761] The "logistics route optimization means" is a function that calculates the optimal logistics route taking into account factors such as traffic congestion, delivery distance, and costs.
[1762] The "emotion engine" is a feature within the system that assesses the user's emotional state in real time and adjusts suggestions based on the results.
[1763] MODE FOR CARRYING OUT THE INVENTION
[1764] This invention combines a system that collects, preprocesses, and analyzes data from producers, distributors, and suppliers to generate optimal recommendations with an emotion engine that recognizes the user's emotions. The system's main objectives are to reduce food loss, minimize waste, and efficiently provide food to those in need. It also provides optimal recommendations based on the user's emotional state and analyzes feedback to improve the system.
[1765] This system is realized using the following hardware and software: The hardware includes servers and devices (smartphones and tablets), and the software includes a database management system, machine learning algorithms, and an emotion engine. Specific software used includes a MySQL database, RESTful API, WebSocket, and machine learning frameworks (such as TensorFlow and PyTorch).
[1766] Data collection
[1767] Users: Producers, distributors, suppliers, and local governments enter information about their inventory, consumption, and waste, as well as information about people in need of assistance, including through smartphones and tablets.
[1768] Server: Receives data sent by each user in real time and stores it in a database. Data is collected quickly using RESTful APIs and WebSockets.
[1769] Data Preprocessing
[1770] Server: Detects missing or outliers in the collected data and performs corrections or completions. For example, if the inventory amount is negative, it corrects the value to 0. It also processes data to eliminate duplicates.
[1771] Server: Convert data provided in different formats into a unified format. Specifically, standardize the date format to "yyyy-mm-dd" and the weight unit to "kg."
[1772] Data analysis
[1773] Server: Apply machine learning algorithms and statistical analysis to the pre-processed data. For example, use time series analysis for demand forecasting and clustering techniques for supply and demand pattern analysis.
[1774] Server: Uses Dijkstra algorithm and linear programming to calculate optimal logistics routes, taking into account multiple factors such as traffic congestion, delivery distance, and cost.
[1775] Providing results
[1776] Server: Based on the analysis results, the server generates optimal suggestions based on the user's emotional state. The emotion engine evaluates the user's stress level and satisfaction in real time and sends suggestions at the appropriate time.
[1777] Device: The analysis results and suggestions sent from the server are displayed on the user's device. For example, a notification such as "We predict there will be an excess of certain foods. We suggest donating them to a food bank."
[1778] Feedback and Emotion Recognition
[1779] User: After accepting the suggestion and carrying out the task, the user provides feedback to the system, including the results of the task and their emotional state (e.g., satisfaction level or stress level). Users submit feedback through a dedicated input form or survey.
[1780] Server: Analyzes the received feedback data and improves the emotion engine algorithm. Uses the feedback data to make future suggestions more accurate.
[1781] Specific examples
[1782] For example, in a case where a supermarket (supplier) has excess bread in stock,
[1783] 1. User (supplier manager): Enters bread inventory and consumption forecast data into the system.
[1784] 2. Server: Aggregates the data and integrates it with data from other providers and distributors for analysis.
[1785] 3. Server: Generate donation proposals to partner with local food banks due to anticipated excess bread inventory.
[1786] 4. Device: Suggestions are displayed on the user's device. At the same time, the emotion engine checks the user's stress level and notifies them at the appropriate time and in the appropriate way.
[1787] 5. User: Review the offer and decide to donate to the food bank. The emotion engine monitors the user's response and takes appropriate follow-up action.
[1788] 6. Server: Receives feedback on the user's emotional state along with the execution results, and uses this to improve the quality of future suggestions.
[1789] Example prompts to input to the generative AI model
[1790] "If a grocery store has excess bread, how can you optimize inventory management and donation suggestions? Also, how can you adjust suggestions based on the user's emotional state?"
[1791] This concludes the description of the "Mode for Carrying Out the Invention." By using this system, flexible and effective suggestions can be made according to the user's emotional state, reducing food waste, minimizing waste, and providing effective food assistance.
[1792] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1793] Program processing flow
[1794] Step 1: Data collection
[1795] Users: Producers, distributors, suppliers, and local governments use smartphones and tablets to input information about their inventory, consumption, and waste, as well as the people who need assistance.
[1796] Input: Data on inventory, consumption, waste, and support information entered into the system by the user from a terminal.
[1797] Server: Receives data sent by each user in real time and stores it in a database. Information entered by each user is sent to the server using a RESTful API or WebSocket.
[1798] Output: Stock, consumption, waste and support information stored in a database.
[1799] Step 2: Data Preprocessing
[1800] Server: Detects missing or outliers in the collected data and performs corrections or completions. For example, if the inventory amount is negative, it corrects the value to 0. It also performs processing to eliminate duplicate data.
[1801] Input: Raw data stored in a database.
[1802] Server: Convert data provided in different formats into a unified format. Specifically, standardize the date format to "yyyy-mm-dd" and the weight unit to "kg."
[1803] Output: Preprocessed and unified data.
[1804] Step 3: Data analysis
[1805] Server: Apply machine learning algorithms and statistical analysis to the pre-processed data. For example, use time series analysis for demand forecasting and clustering techniques for supply and demand pattern analysis.
[1806] Input: Preprocessed data in a unified format.
[1807] Server: Uses Dijkstra algorithm and linear programming to calculate optimal logistics routes, taking into account multiple factors such as traffic congestion, delivery distance, and cost.
[1808] Output: Demand forecast data, supply and demand pattern analysis results, logistics route optimization results.
[1809] Step 4: Delivering results
[1810] Server: Based on the analysis results, the server generates optimal suggestions based on the user's emotional state. The emotion engine evaluates the user's stress level and satisfaction in real time and sends suggestions at the appropriate time.
[1811] Input: Demand forecast data, supply and demand pattern analysis results, logistics route optimization results.
[1812] Server: Generates proposals such as how to handle excess inventory and how to adjust delivery schedules.
[1813] Output: Optimal suggestions taking into account emotional state.
[1814] Step 5: Feedback and Emotion Recognition
[1815] User: After accepting the suggestion and carrying out the task, the user provides feedback to the system, including the results of the task and their emotional state (e.g., satisfaction level or stress level). Users submit feedback through a dedicated input form or survey.
[1816] Input: User performance and emotional state data submitted through feedback forms and surveys.
[1817] Server: Analyzes the received feedback data and improves the emotion engine algorithm. Uses the feedback data to make future suggestions more accurate.
[1818] Output: Improved sentiment engine algorithm and better next suggestions.
[1819] Specific examples
[1820] Step 1:
[1821] The user (the provider's administrator) opens the smartphone app and enters the number of loaves of bread in stock (100), the number consumed the previous day (20), and the number discarded (5).
[1822] The server receives the entered data in real time and stores it in a MySQL database.
[1823] Step 2:
[1824] The server checks the data stored in the database and corrects any negative inventory values to 0. It also standardizes the date format to "yyyy-mm-dd" and converts the weight unit to "kg."
[1825] Step 3:
[1826] The server uses the preprocessed data to perform time series analysis and predict the demand for 120 loaves of bread next week. It then uses the Dijkstra algorithm to calculate the optimal logistics route.
[1827] Step 4:
[1828] The server analyzes the user's emotional state and suggests to users with high stress levels in a gentler way, "Would you consider donating to a food bank?"
[1829] Send a push notification to the device so the user can review the offer.
[1830] Step 5:
[1831] The user makes a donation to the food bank based on the suggestion, enters "Satisfaction level 5" and "Stress level 2" in the feedback form, and submits it.
[1832] The server analyzes the feedback data and improves the emotion engine algorithm, such as "encouraging quick response when stress levels are low."
[1833] The above is an explanation of the specific processing steps and the specific operations at each step. By using this system, flexible and effective suggestions can be made according to the user's emotional state, reducing food loss, minimizing waste, and realizing effective food assistance.
[1834] (Application example 2)
[1835] 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."
[1836] There are challenges in reducing food waste, reducing the amount of waste disposed of, and efficiently providing food to people in need. To solve these challenges, a system is needed that collects data from the entire supply chain, preprocesses and analyzes it, and generates and provides optimal suggestions. Furthermore, it is necessary to provide effective suggestions while reducing user stress by recognizing the user's emotional state and adjusting the suggestions based on that.
[1837] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for collecting data from producers, distributors, and providers, means for preprocessing the collected data, means for analyzing the preprocessed data, means for generating optimal suggestions based on the analysis results, means for providing the generated suggestions to the user, means for recognizing the user's emotional state, means for adjusting the suggestions based on the emotional state, and means for receiving feedback from the user and improving the system. This enables centralized management and analysis of data across the entire supply chain, reducing food waste and ensuring efficient food supply, and further reducing user stress by generating optimal suggestions based on the user's emotional state.
[1838] "Producer" refers to a company or individual that produces products such as food or consumer goods.
[1839] "Distributor" refers to a company or individual that supplies products from producers to retailers or consumers.
[1840] "Provider" refers to a business or individual that offers products or services directly to consumers.
[1841] "Means of collecting data" refers to a system that centrally aggregates information from producers, distributors, and providers.
[1842] "Preprocessing means" refers to a system that complements missing values and corrects outliers in collected data, and converts it into a format suitable for analysis.
[1843] "Means of analysis" refers to a system that uses pre-processed data to analyze supply and demand patterns and derive optimal supply methods.
[1844] "Means for generating optimal proposals" refers to a system that creates the most effective action plan for the user based on the results of data analysis.
[1845] "Means for providing to the user" refers to a system that notifies the user of the generated suggestions.
[1846] "Means for recognizing emotional state" refers to a system that recognizes emotions using sensors and algorithms to assess the user's psychological state.
[1847] "Means for adjusting suggestions based on emotional state" refers to a system that changes the content of suggestions or the timing of notifications depending on the user's recognized emotions.
[1848] "Means for receiving feedback and improving the system" refers to a system that collects reactions and evaluations from users and uses them to improve the system's performance and algorithms.
[1849] "Means for analyzing supply and demand patterns" refers to systems that use historical data to forecast supply and demand trends.
[1850] "Means for predicting waste risk" refers to a system that predicts unnecessary waste in advance based on inventory expiration dates and deterioration information.
[1851] "Means for calculating optimal logistics routes" refers to a system that determines the optimal delivery route by taking into account traffic conditions and costs along the logistics route.
[1852] "Means for providing notifications at appropriate times according to stress levels" refers to a system that provides suggestions and notifications at appropriate times based on the user's stress level.
[1853] The present invention is implemented using a smartphone application used in a logistics center and a server system linked thereto.
[1854] System Configuration
[1855] Hardware
[1856] The system uses the following hardware:
[1857] Server: High performance server for data storage and analysis
[1858] User device: smartphone or tablet
[1859] Sensor device: a wearable device that detects the user's emotional state, or a smartphone camera and microphone
[1860] software
[1861] The system uses the following software:
[1862] Database Management: AWS RDS
[1863] Data Analysis: Python (Pandas, NumPy, SciPy)
[1864] Emotion Recognition Engine: Emotion Recognition Model Using TensorFlow
[1865] Application Development: Cross-platform app using Flutter
[1866] Specific functions of the system
[1867] Data collection
[1868] Users (producers, distributors, suppliers) input inventory data and consumption forecast data through a smartphone app. They can efficiently input inventory data using the barcode scanning function of their smartphone camera, and the data is stored in AWS RDS in real time.
[1869] Data Preprocessing
[1870] The server detects missing or outliers in the collected data and corrects or complements them. For example, if there is a negative value in the inventory quantity, it corrects it to zero. It also standardizes date formats and units of measurement.
[1871] Data analysis
[1872] The server uses Python (Pandas, NumPy, SciPy) to analyze the pre-processed data, analyze supply and demand patterns, identify excess or shortage inventory, calculate optimal logistics routes, and use time series data to forecast future demand.
[1873] Proposal generation and delivery
[1874] The server then generates optimal suggestions for users based on the analysis results. For example, if excess inventory is predicted, a suggestion to donate to a food bank will be generated. The suggestion is then notified to the user via a smartphone app.
[1875] Emotion recognition and suggestion adjustment
[1876] It recognizes the user's emotional state using a smartphone's camera and microphone or wearable sensors, and adjusts the timing and content of suggestions based on the user's stress level. It uses an emotion recognition model built with TensorFlow.
[1877] Gathering feedback and improving the system
[1878] After the user takes action based on the suggestions, they input their feedback via the smartphone app. The server receives this feedback data and uses it to improve the emotion engine and suggestion generation algorithm.
[1879] Examples of concrete examples and prompts
[1880] For example, if a food distribution center has a large amount of excess rice in stock,
[1881] 1. Collection:
[1882] The user (warehouse manager) uses a smartphone to scan the rice inventory and sends the data to AWS RDS.
[1883] 2. Pretreatment:
[1884] The server detects and corrects missing or outlier values in the collected inventory data.
[1885] 3. Data Analysis:
[1886] The server analyzes excess rice inventory and makes demand forecasts.
[1887] 4. Proposal generation and delivery:
[1888] The server generates a proposal to donate excess inventory to a local food bank and notifies the user via a smartphone app.
[1889] 5. Emotion recognition:
[1890] It uses the smartphone's camera and microphone to assess the user's stress level and adjust the timing of notifications.
[1891] 6. Gathering Feedback:
[1892] After implementing the suggestions, users enter feedback via a smartphone app, which the system receives and uses to improve the algorithm.
[1893] Prompt Sentence Examples
[1894] Write a Python script that uses an emotion recognition algorithm to assess the stress levels of distribution center staff and generate appropriate timing suggestions, including items that are close to expiry.
[1895] This will streamline logistics operations, reduce food waste, ease stress, and ensure an efficient food supply.
[1896] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1897] Step 1:
[1898] The terminal collects inventory data and consumption forecast data from producers, distributors, and suppliers. The data is collected using the barcode scanning function of a smartphone, and is sent to a server (AWS RDS) in real time. Input data includes product name, inventory quantity, consumption forecast, expiration date, etc. This allows for centralized management of inventory status within the logistics center.
[1899] Step 2:
[1900] The server preprocesses the collected data. Specifically, it complements or corrects missing or outlier values. For example, if an inventory quantity is negative, it changes it to zero. It also performs conversions to unify date formats and units of measurement. The input is the raw collected data, and the output is preprocessed, consistent data. This improves data quality and makes subsequent analysis easier.
[1901] Step 3:
[1902] The server analyzes the preprocessed data. Pandas, NumPy, and SciPy are used for the analysis. Analysis items include supply and demand patterns, identifying surplus and shortage inventory, and calculating optimal logistics routes. For example, future demand forecasts are made based on past data. The risk of inventory disposal is also predicted. The input is the preprocessed data, and the output is the specific analysis results. This allows the optimal logistics strategy to be derived.
[1903] Step 4:
[1904] The server generates optimal suggestions based on the analysis results. Machine learning algorithms are used to generate these suggestions. Examples include suggestions to donate excess inventory to food banks and suggestions for efficient logistics routes. The server also takes into account the user's emotional state and adjusts the content and timing of the suggestions according to their stress level. The input is the analysis results and emotional data, and the output is the optimal suggestion. This provides the user with effective improvement measures.
[1905] Step 5:
[1906] The device notifies the user of the generated suggestions. The notifications are sent via a smartphone app, and the emotion engine selects the appropriate timing. For example, the notification can be sent during a time when the user is not busy. The input is the suggestion from the server, and the output is the notification content sent to the user. This allows the user to receive the suggestions without feeling stressed.
[1907] Step 6:
[1908] The user takes action based on the suggestions and inputs the results as feedback. The feedback is sent to the server via a smartphone app. Specifically, the user inputs whether the suggestions were effective, how easy they were to implement, etc. The input is the user's feedback data, and the output is material for improving the system. This allows the system to improve the accuracy of future suggestions.
[1909] Step 7:
[1910] The server analyzes the received feedback and emotion data and retrains the system's algorithm. This improves the accuracy of future suggestions and user satisfaction. Specifically, this includes improving the emotion engine and tuning the suggestion generation algorithm. The input is user feedback data and emotion data, and the output is an improved algorithm. This allows for continuous improvement of the entire system.
[1911] 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.
[1912] 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.
[1913] 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.
[1914] 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.
[1915] 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.
[1916] 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.
[1917] 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).
[1918] 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.
[1919] 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."
[1920] 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.
[1921] 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).
[1922] 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.
[1923] 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.
[1924] 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.
[1925] 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.
[1926] 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.
[1927] 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.
[1928] 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.
[1929] 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.
[1930] 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.
[1931] 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.
[1932] The following is further disclosed regarding the above embodiment.
[1933] (Claim 1)
[1934] means of collecting data from producers, distributors and suppliers;
[1935] a means for pre-processing the collected data;
[1936] means for analyzing the preprocessed data;
[1937] a means for generating optimal proposals based on the analysis results;
[1938] means for providing the generated suggestions to a user;
[1939] a means of receiving user feedback and improving the system; and
[1940] A system including:
[1941] (Claim 2)
[1942] A means of imputing or correcting missing or outlier values in the received data; and
[1943] A means of converting data from different formats into a uniform format;
[1944] The system of claim 1 further comprising:
[1945] (Claim 3)
[1946] a means of analyzing supply and demand patterns;
[1947] a means of predicting waste risks;
[1948] A means of calculating the optimal logistics route;
[1949] The system of claim 1 further comprising:
[1950] "Example 1"
[1951] (Claim 1)
[1952] means of collecting data from producers, distributors and suppliers;
[1953] a means for pre-processing the collected data;
[1954] means for analyzing the preprocessed data;
[1955] a means for generating optimal proposals based on the analysis results;
[1956] means for providing the generated suggestions to a user;
[1957] a means of receiving user feedback and improving the system; and
[1958] a means for inputting a prompt sentence into a generative AI model;
[1959] A system including:
[1960] (Claim 2)
[1961] A means of imputing or correcting missing or outlier values in the received data; and
[1962] A means of converting data from different formats into a uniform format;
[1963] When correcting missing values and outliers and standardizing formats, there are two methods: using Python libraries and ETL tools,
[1964] The system of claim 1 further comprising:
[1965] (Claim 3)
[1966] a means of analyzing supply and demand patterns;
[1967] a means of predicting waste risks;
[1968] A means of calculating the optimal logistics route;
[1969] A means of using APIs to calculate logistics routes;
[1970] The system of claim 1 further comprising:
[1971] "Application Example 1"
[1972] (Claim 1)
[1973] means of collecting data from producers, distributors and suppliers;
[1974] a means for pre-processing the collected data;
[1975] means for analyzing the preprocessed data;
[1976] a means for generating optimal proposals based on the analysis results;
[1977] means for providing the generated proposal to a detention terminal device;
[1978] means for identifying excess food inventory and generating donation suggestions based on suggestions provided on the detention terminal device;
[1979] means for calculating an optimal delivery route based on the suggestions provided on the delivery terminal device;
[1980] a means of receiving user feedback and improving the system; and
[1981] A system including:
[1982] (Claim 2)
[1983] A means of imputing or correcting missing or outlier values in the received data; and
[1984] A means of converting data from different formats into a uniform format;
[1985] The system of claim 1 further comprising:
[1986] (Claim 3)
[1987] a means of analyzing supply and demand patterns;
[1988] a means of predicting waste risks;
[1989] A means of calculating the optimal logistics route;
[1990] The system of claim 1 further comprising:
[1991] "Example 2: Combining Emotion Engines"
[1992] (Claim 1)
[1993] means of collecting data from producers, distributors and suppliers;
[1994] a means for pre-processing the collected data;
[1995] means for analyzing the preprocessed data;
[1996] a means for generating optimal proposals based on the analysis results;
[1997] means for providing the generated suggestions to a user;
[1998] a means of receiving user feedback and improving the system; and
[1999] means for recognizing the emotional state of a user;
[2000] means for tailoring suggestions based on the user's emotional state;
[2001] A system including:
[2002] (Claim 2)
[2003] A means of imputing or correcting missing or outlier values in the received data; and
[2004] A means of converting data from different formats into a uniform format;
[2005] A means to improve the emotion engine algorithm based on previous analysis results and feedback;
[2006] The system of claim 1 further comprising:
[2007] (Claim 3)
[2008] a means of analyzing supply and demand patterns;
[2009] a means of predicting waste risks;
[2010] A means of calculating the optimal logistics route;
[2011] a means for generating optimal proposals based on the demand forecast;
[2012] means for monitoring the user's emotional state in real time;
[2013] The system of claim 1 further comprising:
[2014] "Application example 2 when combining emotion engines"
[2015] (Claim 1)
[2016] means of collecting data from producers, distributors and suppliers;
[2017] a means for pre-processing the collected data;
[2018] means for analyzing the preprocessed data;
[2019] a means for generating optimal proposals based on the analysis results;
[2020] means for providing the generated suggestions to a user;
[2021] means for recognizing the emotional state of a user;
[2022] a means for adjusting suggestions based on emotional state;
[2023] a means of receiving user feedback and improving the system; and
[2024] A system including:
[2025] (Claim 2)
[2026] A means of imputing or correcting missing or outlier values in the received data; and
[2027] A means of converting data from different formats into a uniform format;
[2028] The system of claim 1 further comprising:
[2029] (Claim 3)
[2030] a means of analyzing supply and demand patterns;
[2031] a means of predicting waste risks;
[2032] A means of calculating the optimal logistics route;
[2033] a means for notifying the user at an appropriate time according to the user's stress level;
[2034] The system of claim 1 further comprising: [Explanation of symbols]
[2035] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. means of collecting data from producers, distributors and suppliers; a means for pre-processing the collected data; means for analyzing the preprocessed data; a means for generating optimal proposals based on the analysis results; means for providing the generated suggestions to a user; a means of receiving user feedback and improving the system; and A system including:
2. A means of imputing or correcting missing or outlier values in the received data; and A means of converting data from different formats into a uniform format; The system of claim 1 further comprising:
3. a means of analyzing supply and demand patterns; a means of predicting waste risks; A means of calculating the optimal logistics route; The system of claim 1 further comprising:
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A