System

The system addresses inventory management inefficiencies by preprocessing sales data, training an AI model, and calculating optimal inventory levels to automate and enhance inventory management, preventing overstocks and shortages.

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

Patent Information

Application Number
JP2024119003
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-24
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

Conventional inventory management systems struggle to respond quickly to fluctuations in consumer demand, leading to frequent overstocks and shortages, high costs, and environmental impacts, while requiring significant manpower and time for efficient operation.

Method used

A system that reads sales data, preprocesses it, defines features and target variables, splits the data into training and test sets, trains an AI model using a random forest regression model, and calculates optimal inventory levels based on future sales trends to automate inventory management.

Benefits of technology

Enables efficient and accurate inventory management by preventing overstocks and shortages, reducing waste, and optimizing operations through automated sales data analysis and inventory adjustments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026017942000001_ABST
    Figure 2026017942000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system comprising: means for pre-processing a read datum; means for defining features and target variables from the pre-processed datum; means for segmenting the features and target variables into a training datum and a test data; means for training a AI model using the training datum; and means for storing the trained AI model.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology of the present disclosure relates to a system. [Background technology]

[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]

[0004] Conventional inventory management systems are unable to respond quickly to fluctuations in consumer demand, resulting in frequent overstocks and shortages, high costs, and environmental impacts. Maintaining proper inventory management also requires significant manpower and time, making efficient operation difficult. The purpose of this invention is to solve these problems and optimize inventory, reduce waste, and increase profits. [Means for solving the problem]

[0005] The present invention provides a means for reading sales data, preprocessing the read data, and defining features and target variables from the preprocessed data. The system also includes a means for dividing the features and target variables into training data and test data, a means for training an AI model using the training data, and a means for saving the trained AI model, enabling efficient inventory management. In particular, the system provides a function for imputing missing values ​​in sales data with values ​​from the previous day and a function for training an AI model using a random forest regression model, enabling highly accurate inventory forecasting.

[0006] "Sales Data" is data that includes records of goods and services purchased by consumers.

[0007] "Preprocessing" refers to data processing, such as data format conversion, missing value imputation, and data shaping, to make the data suitable for subsequent analysis and model training.

[0008] A "feature" is a variable or data item that is used as input for a machine learning model.

[0009] A "target variable" is a variable or data item that a machine learning model is trying to predict.

[0010] "Training data" is the portion of a dataset used to train a machine learning model.

[0011] "Test data" is a portion of a dataset used to evaluate the performance of a machine learning model.

[0012] An "AI model" is a computer program built using machine learning algorithms to perform pattern recognition and prediction.

[0013] A "random forest regression model" is a machine learning algorithm that performs regression analysis by combining multiple decision trees.

[0014] "Missing value imputation" is a process of imputing missing values ​​present in a dataset in a certain way.

[0015] An "inventory management system" is a system for efficiently managing and optimizing product inventory status. [Brief explanation of the drawings]

[0016] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION

[0017] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

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

[0019] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).

[0020] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.

[0021] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.

[0022] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.

[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."

[0024] [First embodiment]

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

[0026] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0027] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0028] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.

[0029] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0031] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

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

[0033] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0034] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0035] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0036] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0037] The present invention is a system for accurately and efficiently analyzing sales data and automating appropriate inventory management. This system is realized by following the following process.

[0038] First, the sales data is loaded. The user uploads a CSV file containing the retailer's past sales data to the server. This centralizes all sales data and prepares it for analysis.

[0039] The server then preprocesses the data read from the CSV file. This preprocessing includes converting the sales date to a datetime format and filling in missing values ​​with the values ​​from the previous day. This prepares the data in a format suitable for analysis.

[0040] Next, the server defines features and target variables from the preprocessed data. Specifically, sales volume is used as the target variable, and other information such as inventory is used as the feature. This generates a dataset suitable for the prediction model.

[0041] The server then splits the data into training data and test data: the training data is used to train a machine learning model, and the test data is used to evaluate the model's performance.

[0042] Next, the server trains an AI model based on the training data using a random forest regression model. This random forest regression model is effective for combining multiple decision trees to make highly accurate predictions. The server saves the trained model as inventory_model.pkl. The saved model is used in the subsequent prediction phase.

[0043] For example, when a user uploads their latest sales data to the server, the server uses the stored model to predict future sales trends. As a result, the server calculates optimal inventory levels and suggests inventory adjustments to the user via their device. This prevents overstocks and shortages and enables efficient inventory management.

[0044] Finally, the user can confirm whether to accept the inventory adjustment proposal provided through the terminal and make the necessary adjustments, thereby preventing unsold or out-of-stock items and improving business efficiency.

[0045] As described above, the present invention is a system that automates a series of processes from analyzing sales data to optimizing inventory management, thereby achieving efficient and accurate inventory management.

[0046] The processing flow will be explained below.

[0047] Step 1:

[0048] Users upload a CSV file containing their retail store's past sales data to the server, which centralizes all sales data and prepares it for analysis.

[0049] Step 2:

[0050] The server reads the uploaded CSV file, which contains information such as daily sales and inventory for each product. The read data is stored as a data frame.

[0051] Step 3:

[0052] The server converts the date column of the data frame to a datetime type and sets it as the index of the data frame. Furthermore, if there are missing values, it fills them with the values ​​from the previous day. This process prepares the data in a format suitable for analysis.

[0053] Step 4:

[0054] The server defines features and target variables from the preprocessed data. Specifically, it sets sales volume as the target variable and other information such as inventory and date and time as features.

[0055] Step 5:

[0056] The server divides the features (X) and target variables (y) into training data and test data, with 80% of the data allocated to training data and 20% to test data.

[0057] Step 6:

[0058] The server instantiates a random forest regression model and uses the training data (X_train, y_train) to train the AI ​​model, which combines multiple decision trees to achieve highly accurate predictions.

[0059] Step 7:

[0060] The server saves the trained model to a file called inventory_model.pkl, which is used later in the prediction phase.

[0061] Step 8:

[0062] When a user uploads new sales data to the server, the server uses the stored model to predict future sales trends.

[0063] Step 9:

[0064] The server calculates the optimal inventory level based on the forecast results and sends the results to the terminal, which displays this information to the user and provides suggestions for inventory adjustments.

[0065] Step 10:

[0066] The user can then confirm whether to accept the proposed inventory adjustments and make the necessary adjustments, thereby preventing overstocking or shortages and achieving efficient inventory management.

[0067] Example 1

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

[0069] In conventional inventory management systems, sales data analysis and inventory adjustments are often done manually, making it difficult to achieve efficient and accurate management. In particular, the lack of an automated system for predicting sales trends and proposing inventory adjustments makes it difficult to prevent inventory overstocks and shortages.

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

[0071] In this invention, the server includes a means for reading sales data, a means for preprocessing the read data, and a means for defining features and target variables from the preprocessed data, thereby enabling efficient centralized management and analysis of data.

[0072] The server also includes a means for dividing the feature quantities and target variables into training data and test data, a means for training an AI model based on the training data using a random forest regression model, and a means for saving the trained AI model, thereby enabling highly accurate sales trend predictions.

[0073] Furthermore, the server includes a means for predicting sales trends from new sales data using the stored AI model and proposing inventory adjustments, and a means for calculating optimal inventory levels based on the predicted sales trends and notifying the user of the inventory adjustment proposals, thereby preventing inventory overstocks and shortages and enabling efficient inventory management.

[0074] "Sales data" refers to information about product sales in the retail industry, and includes product IDs, sales dates, sales quantities, inventory quantities, and the like.

[0075] "Means of reading" refers to the method or mechanism by which the system obtains sales data provided by the user in file format or the like.

[0076] "Preprocessing means" refers to methods and mechanisms for converting and supplementing acquired sales data to prepare it in a format suitable for analysis.

[0077] "Features" refer to the items or attributes of input data that a machine learning model uses to make predictions.

[0078] The "target variable" refers to the target variable that the machine learning model is trying to predict, which in the present invention is "sales volume."

[0079] "Training data" refers to the portion of the data used to train a machine learning model.

[0080] "Test data" refers to a portion of the data used to evaluate the performance of a machine learning model.

[0081] A "random forest regression model" refers to a machine learning algorithm that can make highly accurate predictions by combining multiple decision trees.

[0082] "Training means" refers to the methods and mechanisms for providing training data to a machine learning model to improve its predictive accuracy.

[0083] "Means for storage" refers to the method or mechanism for storing the trained machine learning model in a storage device for later use.

[0084] "New sales data" refers to the latest sales information additionally provided by the user, separate from past sales data.

[0085] "Means for predicting sales trends" refers to methods or mechanisms for using stored AI models to predict future sales volumes from new sales data.

[0086] "Means for proposing inventory adjustment" refers to a method or mechanism for calculating optimal inventory levels based on predicted sales trends and proposing adjustment methods to users.

[0087] "Means for notifying" refers to a method or mechanism for communicating the calculated inventory adjustment proposal to the user.

[0088] This invention is a system for accurately and efficiently analyzing sales data and automating appropriate inventory management. This system operates mainly with a server, terminals, and users.

[0089] First, the user uploads a CSV file containing the retailer's past sales data to the server. The sales data uploaded by the user includes information such as product ID, sales date, sales quantity, and inventory quantity. This centralizes the sales data and prepares it for analysis.

[0090] Next, the server reads the uploaded CSV file and performs preprocessing on the data. This preprocessing includes converting the sales date to a datetime type and filling in missing values ​​with the value from the previous day. This formats the data in a suitable format for analysis. For the specific preprocessing, we use a Python data analysis library called Pandas.

[0091] From the preprocessed data, the server defines features and target variables. Sales volume is the target variable, and other information such as inventory is used as features. This creates a dataset suitable for a predictive model.

[0092] These datasets are split into training data and test data by the server. The training data is used to train the machine learning model, and the test data is used to evaluate the model's performance. This data split is also done using Pandas and Scikit-Learn, a Python machine learning library.

[0093] Next, the server trains an AI model based on the training data using a machine learning algorithm called a random forest regression model. The random forest regression model is effective for combining multiple decision trees to make highly accurate predictions. The trained model is saved as inventory_model.pkl. This saving is done using a Python library called Joblib.

[0094] For example, when a user uploads their latest sales data to the server, the server uses the stored model to predict future sales trends. Based on the predicted sales data, the optimal inventory level is calculated. As a result, suggestions for inventory adjustments are made to the user via their terminal. This prevents overstocking and shortages and enables efficient inventory management.

[0095] Finally, the user can confirm whether to accept the inventory adjustment proposal provided through the terminal and make the necessary adjustments, thereby preventing unsold or out-of-stock items and improving business efficiency.

[0096] Below are some example prompts for the generative AI model:

[0097] Upload a CSV file containing your retail store's past sales data to the server. The server preprocesses the data and uses a random forest regression model to predict future sales trends. For example, upload "2023_sales_data.csv" to generate inventory adjustment suggestions.

[0098] As described above, the present invention is a system that automates a series of processes from analyzing sales data to optimizing inventory management, thereby achieving efficient and accurate inventory management.

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

[0100] Step 1:

[0101] The user uploads a CSV file containing the retail store's past sales data to the server. The input for this step is the sales data file (e.g., 2023_sales_data.csv), and the output is a CSV file saved on the server. This allows for centralized management of sales data.

[0102] Step 2:

[0103] The server reads the uploaded CSV file. The input for this step is the CSV file stored on the server, and the output is the read data frame (using Pandas), which is then ready for data analysis.

[0104] Step 3:

[0105] The server preprocesses the loaded data. The input of this step is the loaded data frame, and the output is the preprocessed data frame. Specific operations include converting the sales date to a datetime type and imputing missing values ​​with the value from the previous day. This prepares the data in a format suitable for analysis.

[0106] Step 4:

[0107] The server defines features and target variables from the preprocessed data. The input of this step is the preprocessed data frame, and the output is a dataset of features (e.g., inventory quantity, sales price) and target variables (e.g., sales volume). This generates a dataset suitable for a predictive model.

[0108] Step 5:

[0109] The server splits these datasets into training and test data. The input to this step is a dataset of features and target variables, and the output is training and test data. This splitting is done using the Scikit-Learn library, which allows for model training and evaluation.

[0110] Step 6:

[0111] The server trains the AI ​​model on the training data using a random forest regression model. The input of this step is the training data, and the output is the trained machine learning model. This builds a model for prediction.

[0112] Step 7:

[0113] The server saves the trained AI model as inventory_model.pkl. The input of this step is the trained machine learning model, and the output is the saved model file, which allows the model to be reused in a later prediction phase.

[0114] Step 8:

[0115] The user uploads the latest sales data they have obtained to the server. The input of this step is a new sales data file (e.g., latest_sales_data.csv), and the output is a new sales data file saved on the server.

[0116] Step 9:

[0117] The server uses the saved model to predict future sales trends. The inputs for this step are new sales data and the saved model file, and the output is predicted sales trend data, which then predicts future demand.

[0118] Step 10:

[0119] The server calculates optimal inventory levels based on predicted sales data and makes inventory adjustment recommendations. The input for this step is predicted sales trend data, and the output is inventory adjustment recommendations. This makes it possible to prevent overstocking or shortages in advance.

[0120] Step 11:

[0121] The terminal notifies the user of the inventory adjustment proposal calculated by the server. The input of this step is the inventory adjustment proposal, and the output is a notification sent to the user, allowing the user to perform optimal inventory management.

[0122] Step 12:

[0123] The user confirms whether to accept the proposed inventory adjustments provided through the terminal and makes the necessary adjustments. The input of this step is the proposed inventory adjustments, and the output is the inventory adjustment actions taken by the user, which can improve business efficiency.

[0124] (Application example 1)

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

[0126] Conventional inventory management systems require complicated collection and analysis of sales data, and predicting appropriate inventory levels requires a great deal of effort and time. Furthermore, because inventory is manually adjusted by managers, human error is likely to occur, making efficient inventory management difficult. Therefore, there was a demand for a system that could automatically analyze sales data and perform efficient and accurate inventory management.

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

[0128] In this invention, the server includes means for reading sales data, means for preprocessing the read data, means for defining features and target variables from the preprocessed data, means for dividing the features and target variables into training data and test data, means for training an AI model using the training data, means for saving the trained AI model, means for predicting future sales trends using the AI ​​model, means for calculating inventory levels based on the prediction results and providing adjustment suggestions, and means for uploading sales data from a smartphone. This enables automatic analysis of sales data and prediction of future sales trends, enabling efficient and accurate inventory management.

[0129] "Sales data" is data that includes information regarding sales of goods and services.

[0130] "Reading means" refers to a method or device for inputting data into the system.

[0131] A "preprocessing means" is a method or device for shaping data into a form suitable for analysis.

[0132] "Features" are variables or indicators used as input data when creating a predictive model.

[0133] A "target variable" is a variable that represents a value or outcome that is predicted as the output of a predictive model.

[0134] "Training data" is the data set used to train an AI model.

[0135] "Test data" is a dataset used to evaluate the performance of an AI model.

[0136] An "AI model" is a model that uses machine learning algorithms to learn patterns and knowledge from data.

[0137] A "random forest regression model" is a machine learning algorithm that combines multiple decision trees to make highly accurate predictions.

[0138] "Storage means" refers to a method or device for storing a trained AI model within the system.

[0139] A "means for predicting future sales trends" is a method or device for predicting future sales and demand using an AI model.

[0140] A "means for calculating inventory levels" is a method or device for calculating appropriate inventory levels based on forecasted sales data.

[0141] The "means for providing adjustment suggestions" refers to a method or device for giving instructions or advice on inventory adjustments to a manager based on the calculated inventory level.

[0142] A "smartphone" is a portable communication device that has a variety of functions and is capable of running applications.

[0143] A "CSV file" is a comma-separated text data file, a format widely used for storing and exchanging data.

[0144] This invention is a system for efficiently analyzing sales data and automating appropriate inventory management. The system is mainly composed of a server, a terminal (such as a smartphone), and a user. The operation of each element will be specifically explained below.

[0145] The server first reads the sales data uploaded by the user in CSV file format. To achieve this, it uses a data analysis library such as Pandas. Next, it preprocesses the read data. In this preprocessing step, it converts the sales date data type to datetime and fills in missing data with the value from the previous day. This formats the data in a format suitable for analysis.

[0146] From the preprocessed data, the server defines features and target variables and divides the data into training data and test data. Specifically, sales volume is used as the target variable, and other information such as inventory is extracted as features. The training data is used to train the machine learning model, while the test data is used to evaluate the model's performance.

[0147] Next, the server uses a random forest regression model to train an AI model based on the training data. This model is implemented using a machine learning library such as Scikit-learn. The trained model is saved on the server as inventory_model.pkl. The saved model can be reused when analyzing future sales data.

[0148] When a user uploads new sales data, the server uses the stored AI model to predict future sales trends. Based on this prediction, the server calculates optimal inventory levels and makes adjustment suggestions. Specifically, specific instructions to prevent inventory overages or shortages are calculated based on the predicted sales volume data. This allows the server to provide inventory adjustment suggestions to the user via their device.

[0149] For example, when a user uploads new sales data from their smartphone, the data is instantly processed on the server side, and future sales forecasts and inventory adjustment suggestions are displayed on the smartphone application, allowing users to grasp inventory status in real time and take appropriate action promptly.

[0150] (Example of a prompt to input to a generative AI model)

[0151] "To streamline inventory management in physical stores, please create a program that uses sales data to predict future sales trends and calculate optimal inventory levels. This program uses Flask and allows you to upload a CSV file from your smartphone to perform data preprocessing, sales forecasting, and inventory adjustment suggestions."

[0152] As a result, the present invention provides a system that enables efficient and accurate inventory management through automatic analysis of sales data and prediction of future sales trends.

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

[0154] Step 1: Upload your sales data

[0155] The user uses a device (smartphone) to upload a CSV file containing sales data to the server. The input is a CSV file, and the output is data saved on the server. This includes specific operations such as file selection and uploading through the device's application.

[0156] Step 2: Loading sales data

[0157] The server reads the uploaded CSV file using the Pandas library. It takes the saved CSV file as input and gets a Pandas DataFrame object as output, which brings the sales data into the system.

[0158] Step 3: Preprocessing the data

[0159] The server preprocesses the data it reads. Here, it converts dates to datetime format and fills in missing data with values ​​from the previous day. The input is a Pandas DataFrame, and the output is a preprocessed DataFrame. Specific operations include the pandas.to_datetime() function and the fillna(method='ffill') function.

[0160] Step 4: Define features and target variables

[0161] The server defines features and target variables from the preprocessed data. Sales volume is the target variable, and other inventory information is extracted as features. The preprocessed DataFrame is used as input, and a DataFrame of features and target variables is obtained as output. Specifically, the DataFrame.drop() and DataFrame['target'] methods are used.

[0162] Step 5: Split the data

[0163] The server splits the features and target variables into training data and test data. The input is a DataFrame of the features and target variables, and the output is the training data and test data. Specifically, the train_test_split function is used.

[0164] Step 6: Training the AI ​​model

[0165] The server uses a random forest regression model to train an AI model based on training data. The input is the training data and features, and the output is a trained AI model. Specifically, the fit method of the RandomForestRegressor class is used.

[0166] Step 7: Save the trained model

[0167] The server saves the trained AI model using the pickle library. The input is the trained model, and the output is the saved model file. Specifically, the pickle.dump() method is used.

[0168] Step 8: Forecast sales trends

[0169] When a user uploads new sales data, the server loads the saved AI model and predicts sales trends. The new sales data is the input, and the prediction result is the output. Specifically, the predict method of the RandomForestRegressor class is used.

[0170] Step 9: Calculate inventory levels

[0171] The server calculates the optimal inventory level based on the prediction results. The input is the prediction result data, and the output is the optimal inventory level. Specifically, a simple calculation is performed based on the prediction results.

[0172] Step 10: Provide inventory adjustment suggestions

[0173] The server provides the terminal with a proposal for inventory adjustment based on the calculated inventory level. The optimal inventory level is the input, and the proposed adjustment is displayed on the terminal as the output. The proposal is notified to the user through the terminal application.

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

[0175] The present invention combines a user emotion recognition function with a system for efficiently analyzing sales data and automating appropriate inventory management. This system is realized through the following process.

[0176] First, the sales data is loaded. The user uploads a CSV file containing the retailer's past sales data to the server. This centralizes all sales data and prepares it for analysis.

[0177] The server then preprocesses the data read from the CSV file. Specifically, it converts the sales date to a datetime format and fills in any missing values ​​with the value from the previous day. This converts the data into a format suitable for analysis.

[0178] The server defines features and target variables from the preprocessed data. For example, it sets sales volume as the target variable and other inventory information as features. It then splits the features and target variables into training data and test data. The training data is used to train the AI ​​model, and the test data is used to evaluate the model's performance.

[0179] The server then trains an AI model on the training data using a random forest regression model. This model combines multiple decision trees to enable highly accurate predictions. The trained model is saved as inventory_model.pkl and is used in the subsequent prediction phase.

[0180] Furthermore, the present invention is a system incorporating emotion recognition functionality. The server uses an emotion engine to read and analyze the user's emotion data. This emotion data includes the user's facial expressions, tone of voice, and text input. The emotion engine analyzes this data and recognizes the user's current emotional state.

[0181] For example, if a user feels anxious or stressed while operating an inventory management system, the emotion engine can detect that anxiety or stress and allow the server to respond based on the user's emotions, such as by providing more detailed explanations of the suggestions or presenting them in a more understandable format.

[0182] Finally, with the support of the emotion engine, users can confirm whether they accept the suggested inventory adjustments and make the necessary adjustments, thereby preventing overstocks and shortages and achieving efficient inventory management.

[0183] As a specific example, when a user uploads their latest sales data to the server, the server uses the stored model to predict future sales trends. At the same time, the emotion engine recognizes the user's emotions and suggests optimal inventory adjustments based on those emotions. In this way, the present invention provides more accurate inventory management by combining sales data analysis and emotion recognition.

[0184] The processing flow will be explained below.

[0185] Step 1:

[0186] Users upload a CSV file containing their retail store's past sales data to the server, which centralizes all sales data and prepares it for analysis.

[0187] Step 2:

[0188] The server reads the uploaded CSV file, which contains information such as daily sales and inventory for each product. The read data is stored as a data frame.

[0189] Step 3:

[0190] The server converts the date column of the data frame to a datetime type and sets it as the index of the data frame. Furthermore, if there are missing values, it fills them with the values ​​from the previous day. This process prepares the data in a format suitable for analysis.

[0191] Step 4:

[0192] The server defines features and target variables from the preprocessed data. Specifically, it sets sales volume as the target variable and other information such as inventory and date and time as features.

[0193] Step 5:

[0194] The server divides the features (X) and target variables (y) into training data and test data, with 80% of the data allocated to training data and 20% to test data.

[0195] Step 6:

[0196] The server instantiates a random forest regression model and uses the training data (X_train, y_train) to train the AI ​​model, which combines multiple decision trees to achieve highly accurate predictions.

[0197] Step 7:

[0198] The server saves the trained model to a file called inventory_model.pkl, which is used later in the prediction phase.

[0199] Step 8:

[0200] Users upload their retail store's current sales data to the server, which uses the stored model to predict future sales trends based on this sales data.

[0201] Step 9:

[0202] The server calculates optimal inventory levels based on the sales trend forecast, sends the results to the terminal, and generates a proposal for inventory adjustment.

[0203] Step 10:

[0204] At the same time, the server uses an emotion engine to read and analyze the user's emotional data, including the user's facial expressions, tone of voice, and text input.

[0205] Step 11:

[0206] Based on the analysis results obtained from the emotion engine, the server optimizes the presentation of inventory adjustment suggestions according to the user's emotional state. For example, if the user is feeling anxious, it will provide detailed explanations of the suggestions or display messages that provide reassurance.

[0207] Step 12:

[0208] The device displays inventory adjustment suggestions optimized for the user's emotional state, and the user can review the suggestions and accept or adjust them as necessary.

[0209] Step 13:

[0210] If the user accepts the proposal, the proposed inventory adjustment will be implemented, thereby preventing overstocks and shortages and achieving efficient inventory management.

[0211] Through the above process, the present invention provides a highly accurate inventory management system that takes into account the emotional state of the user.

[0212] Example 2

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

[0214] Modern inventory management systems are required to efficiently analyze large amounts of sales data, but conventional systems do not take users' emotions into consideration, which often causes anxiety and stress for users, making it difficult for them to make appropriate decisions regarding the suggestions they receive from the system.

[0215] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for reading sales data, means for preprocessing the read data, means for defining features and target variables from the preprocessed data, means for dividing the features and target variables into training data and test data, means for training an AI model using the training data, means for saving the trained AI model, means for reading emotion data, means for analyzing the read emotion data, and means for optimizing user responses based on the analyzed emotion data. This enables efficient analysis of sales data while providing detailed responses that take user emotions into consideration.

[0216] "Sales data" refers to historical information about product sales at retail stores and other businesses, and specifically includes information such as sales date, product ID, price, and inventory quantity.

[0217] "Preprocessing" refers to the process of preparing data in an appropriate format before performing data analysis or learning, and specifically includes converting date data and filling in missing values.

[0218] "Features" refer to the attributes of data used for prediction and classification in machine learning models, and specifically include product ID, price, and inventory quantity.

[0219] A "target variable" refers to the attribute of data that is the target of prediction or classification in a machine learning model, and specifically includes sales volume.

[0220] "Training data" refers to a data set used to train a machine learning model.

[0221] "Test data" refers to a dataset used to evaluate the performance of a machine learning model.

[0222] An "AI model" refers to a mathematical or statistical algorithm built for machine learning or data analysis.

[0223] "Emotion data" refers to data that indicates the user's emotional state, and specifically includes information such as the user's facial expression, tone of voice, and text input.

[0224] "Emotion recognition" refers to the function of analyzing emotion data and determining the user's emotional state.

[0225] "User-responsive optimization" refers to tailoring the system's suggestions and presentation of information to users based on the user's emotional state.

[0226] The present invention is a system that combines efficient analysis of sales data and automation of appropriate inventory management with user emotion recognition functionality, as implemented in accordance with the following detailed description.

[0227] First, the user uploads a CSV file containing the retailer's past sales data to the server. Specifically, the user accesses the web interface and clicks the "Choose File" button that appears to select the CSV file. Then, the user clicks the "Upload" button to send the file to the server. This operation centralizes all sales data and prepares it for data analysis.

[0228] Next, the server receives the uploaded CSV file and converts it to a DataFrame using Python's pandas library. It then converts the sales date to a datetime type and fills in any missing values ​​with the value from the previous day. This formats the sales data in a way that is suitable for analysis.

[0229] Next, the server defines features (e.g., product ID, price, and inventory quantity) and a target variable (sales volume) from the preprocessed data. It then uses the train_test_split function from the scikit-learn library to split the data into training data and test data. The training data is used to train a machine learning model, and the test data is used to evaluate the model's performance.

[0230] The server trains an AI model on the training data using a random forest regression model. This model is implemented using the RandomForestRegressor from the scikit-learn library. The trained model is saved as inventory_model.pkl using the joblib library and used for future predictions.

[0231] Furthermore, the server utilizes an emotion engine (e.g., a general-purpose emotion recognition API) to implement emotion recognition functions. This emotion engine acquires emotion data from the user's facial expressions, tone of voice, text input, etc. The acquired emotion data is analyzed in real time to determine the user's current emotional state.

[0232] For example, if a user is feeling anxious or stressed while using an inventory management system, the emotion engine can detect that anxiety or stress and allow the server to respond based on the user's emotions, such as by providing more detailed explanations or presenting suggestions in a more understandable format.

[0233] With the support of the emotion engine, the user confirms whether to accept the inventory adjustments proposed by the server. The user can then make the necessary adjustments by following the system's instructions and selecting "Accept inventory adjustments" or "Change adjustments." This prevents overstocks and shortages and realizes efficient inventory management.

[0234] A typical prompt might look like this, assuming the user has the latest sales data:

[0235] Please upload the latest sales data (e.g., Q1 2023) to the server.

[0236] This allows the user to operate the system smoothly.

[0237] The above is an embodiment of the present invention. This system provides more accurate inventory management and user support by combining sales data analysis and emotion recognition functions.

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

[0239] Step 1:

[0240] The user uploads a CSV file containing sales data to the server.

[0241] Specifically, the user accesses the system's web interface using a web browser on the terminal, clicks the "Select File" button, selects the CSV file of sales data, and clicks the "Upload" button.

[0242] Input: Sales data CSV file (e.g., sales_data.csv)

[0243] Output: A CSV file is uploaded to the server, ready for data analysis.

[0244] Step 2:

[0245] The server receives the uploaded CSV file and reads it as a DataFrame using the pandas library.

[0246] Convert the sales date to datetime type, and if there are missing values, fill them with the value from the previous day.

[0247] Input: Uploaded CSV file

[0248] Output: Preprocessed data frame

[0249] Specifically, the data is read using pd.read_csv('sales_data.csv'), the date is converted using df['date'] = pd.to_datetime(df['date']), and missing values ​​are filled using df.fillna(method='ffill', inplace=True).

[0250] Step 3:

[0251] The server defines features (e.g., product ID, price, and inventory quantity) and target variables (sales volume) from the preprocessed data.

[0252] Next, we use scikit-learn's train_test_split function to split these into training and test data.

[0253] Input: Preprocessed data frame

[0254] Output: training data and test data

[0255] As a specific example, define the features as X = df[['product_id', 'price', 'stock']], define the target variable as y = df['sales_volume'], and split the data with train_test_split(X, y, test_size=0.2, random_state=42).

[0256] Step 4:

[0257] The server trains the AI ​​model on the training data using a random forest regression model.

[0258] To generate and train the model, we use scikit-learn's RandomForestRegressor.

[0259] Input: Training data (features and target variables)

[0260] Output: A trained AI model

[0261] Specifically, the model is initialized with RandomForestRegressor(n_estimators=100, random_state=42) and trained with model.fit(X_train, y_train).

[0262] Step 5:

[0263] The server uses the joblib library to save the trained AI model as a file.

[0264] Input: A trained AI model

[0265] Output: Saved AI model file (e.g. inventory_model.pkl)

[0266] Specifically, save the model with joblib.dump(model, 'inventory_model.pkl').

[0267] Step 6:

[0268] The server uses an emotion engine to read and analyze the user's emotion data, which is obtained from the user's facial expressions, tone of voice, text input, etc.

[0269] Input: User emotional data (facial expressions, tone of voice, text input)

[0270] Output: Parsed emotional state (e.g., stress, anxiety)

[0271] Specifically, the emotion engine API is called and data is obtained using emotion_data = EmotionAPI.get_user_emotion(user_id='user123').

[0272] Step 7:

[0273] The server optimizes user responses based on the analyzed emotional data. For example, if the user is feeling anxious or stressed, the server provides more detailed explanations and suggestions in an easy-to-understand format.

[0274] Input: Parsed emotional state

[0275] Output: Optimized user experience (e.g. detailed explanations, concise suggestions)

[0276] Specifically, it executes if emotion_data['emotion'] == 'stressed': and generates an appropriate response.

[0277] Step 8:

[0278] The user checks the inventory adjustments proposed by the server and makes adjustments as necessary. The user follows the system's instructions and makes choices such as "accept inventory adjustments" or "change adjustments."

[0279] Input: Inventory adjustment proposal from the server

[0280] Output: User confirms and makes inventory adjustments

[0281] Specifically, the user clicks an on-screen button to accept the suggestion or change the adjustment.

[0282] (Application example 2)

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

[0284] The challenge in inventory management systems is to achieve efficient and user-friendly inventory management by integrating two different elements: sales data analysis and user emotion recognition. In particular, by incorporating emotion recognition, we aim to achieve highly accurate inventory management while reducing stress and anxiety by proposing appropriate inventory adjustments according to the worker's situation.

[0285] The identification processing by the identification 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 reading sales data, means for preprocessing the read data, means for defining features and target variables from the preprocessed data, means for dividing the features and target variables into training data and test data, means for training an AI model using the training data, means for saving the trained AI model, means for analyzing user emotion data, means for proposing inventory adjustments based on the analyzed emotion data, and means for visually presenting the proposed inventory adjustments. This makes it possible to simultaneously perform high-precision analysis of sales data and suggestions based on the user's emotional state.

[0286] "Sales data" refers to a series of information related to product sales at retail stores and logistics centers, such as product names, sales dates and times, sales volumes, and inventory levels.

[0287] "Preprocessing" refers to a series of data processing processes to prepare sales data in a format suitable for analysis, such as converting dates and filling in missing values.

[0288] "Features" refer to each field of input data supplied to an AI model, specifically information such as past sales volume and inventory volume.

[0289] A "target variable" refers to a data field that is set as a predicted result. Specifically, future sales volume is often set as a target variable.

[0290] "Training data" refers to the dataset used to train an AI model, including features and target variables.

[0291] "Test data" refers to a dataset used to evaluate the performance of a trained AI model. It is a set that is different from the training data.

[0292] "AI model" refers to a mathematical model for making predictions or classifications based on artificial intelligence algorithms, including random forest regression models.

[0293] "Training" refers to the process of optimizing the parameters of an AI model using training data, which enables it to make highly accurate predictions.

[0294] "Emotional data" refers to information about emotions obtained from a user's facial expressions, tone of voice, text input, etc.

[0295] "Emotion recognition" refers to the process of analyzing emotional data to identify a user's current emotional state.

[0296] "Inventory adjustment" refers to the adjustment work carried out to keep inventory levels at an optimal level. It is suggested based on sales forecasts and user sentiment data.

[0297] "Visual presentation" refers to the means by which information is visually displayed to the user, such as smart glasses or a display.

[0298] The present invention is a system for improving the efficiency of inventory management in logistics centers, and by combining sales data analysis and user emotion recognition, it achieves highly accurate inventory adjustments while reducing worker stress. This system is realized through the following steps.

[0299] System Program

[0300] A program for analyzing sales data and recognizing user emotions in inventory management at a logistics center is configured as follows.

[0301] What the program does

[0302] The server first reads the shipping data. The sales data is uploaded to the server in the form of a CSV file provided by the retailer or distribution center. This data includes information on the items sold, the date and time, the quantity, etc.

[0303] Next, the server preprocesses the uploaded sales data, such as filling in missing values ​​with data from the previous day and converting sales dates to datetime data, thereby converting the data into an analyzable format.

[0304] Once preprocessing is complete, the server defines features and target variables from the data. Features include inventory volume, sales volume, season, etc., and sales volume is set as the target variable.

[0305] The feature and target variable data are split into training data and test data. The training data is used to train the AI ​​model, and the test data is used to evaluate the performance of the trained model.

[0306] Next, the server uses the training data to train an AI model. The model in question is a random forest regression model. This model combines multiple decision trees to make highly accurate predictions. The trained model is saved as a file (inventory_model.pkl).

[0307] Additionally, the server analyzes the user's emotional data, which includes facial expressions, tone of voice, and text input. The emotion recognition engine analyzes this data to determine whether the user is feeling anxious or stressed, or performing a task with confidence.

[0308] When a user accesses the inventory management system, the server analyzes their emotional data and makes suggestions for inventory adjustments based on the results. For example, if the user is stressed, the server provides a detailed explanation, and if the user is confident, the server suggests a quick adjustment.

[0309] Hardware and software used

[0310] Hardware: Servers, smart glasses (e.g. Google Glass, Vuzix Blade)

[0311] Software: pandas (data frame manipulation), sklearn (model definition and training), EmotionEngine (emotion recognition), pickle (model saving and loading)

[0312] Specific examples

[0313] The latest sales data is uploaded to the server as sales_data.csv. When a worker wearing smart glasses performs inventory management, the server uses an emotion recognition engine to analyze the user's emotions in real time and suggests inventory adjustments based on those emotions. The worker can then make inventory adjustments based on these suggestions.

[0314] Prompt Sentence Examples

[0315] "I would like to develop an application for smart glasses to be used in logistics centers. I am considering a system that optimizes inventory management by combining efficient analysis of sales data with emotion recognition functionality. Specifically, when a worker wearing the smart glasses is managing inventory, if they feel anxious or stressed, the system will provide a detailed explanation, and if they feel confident, the system will encourage them to make quick decisions. I would like a program to implement this in Python, along with a detailed explanation of the processing involved."

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

[0317] The processing flow of the program of the system that realizes the application example will be explained below by dividing it into specific processing steps.

[0318] Step 1:

[0319] The server reads the sales data (CSV file) uploaded by the user. The input is a CSV file, and the output is sales data in data frame format. In this process, the pandas module is used to read the CSV file as a data frame.

[0320] Step 2:

[0321] The server preprocesses the imported sales data. Specifically, it converts date fields to datetime data and imputes missing values ​​with the previous day's data. The input is the data frame obtained in step 1, and the output is the preprocessed data frame. The pandas module is used to impute missing data and convert dates.

[0322] Step 3:

[0323] The server defines features and target variables from the preprocessed data. Features include inventory, sales, season, etc., and sales volume is set as the target variable. The input is the data frame preprocessed in step 2, and the output is a dataset of features and target variables.

[0324] Step 4:

[0325] The server splits the features and target variables into training and test data. The input is the features and target variables defined in step 3, and the output is the split dataset into training and test data. Use sklearn.model_selection.train_test_split.

[0326] Step 5:

[0327] The server uses the training data to train an AI model. Specifically, it uses a random forest regression model. The input is the training data obtained in step 4, and the output is the trained AI model. The model is trained using sklearn.ensemble.RandomForestRegressor and saved using pickle.

[0328] Step 6:

[0329] The server collects and analyzes the user's emotional data, which includes facial expressions, tone of voice, and text input. The input is the emotional data collected from the user, and the output is the analysis result of the user's emotional state. It uses a virtual emotion recognition library called EmotionEngine.

[0330] Step 7:

[0331] The server proposes inventory adjustments based on the analyzed emotional data. Specifically, it provides a detailed explanation if the user is stressed, and a quick adjustment suggestion if the user is confident. The input is the emotional data analysis result from step 6 and the AI ​​model saved in step 5, and the output is the inventory adjustment suggestion.

[0332] Step 8:

[0333] The server visually presents the suggested inventory adjustments to a device such as smart glasses. The input is the suggestion generated in step 7, and the output is the visual suggestion displayed on the device. This suggestion is presented in a format that allows the user to review it in real time and take action if necessary.

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

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

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

[0337] [Second embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0350] The present invention is a system for accurately and efficiently analyzing sales data and automating appropriate inventory management. This system is realized by following the following process.

[0351] First, the sales data is loaded. The user uploads a CSV file containing the retailer's past sales data to the server. This centralizes all sales data and prepares it for analysis.

[0352] The server then preprocesses the data read from the CSV file. This preprocessing includes converting the sales date to a datetime format and filling in missing values ​​with the values ​​from the previous day. This prepares the data in a format suitable for analysis.

[0353] Next, the server defines features and target variables from the preprocessed data. Specifically, sales volume is used as the target variable, and other information such as inventory is used as the feature. This generates a dataset suitable for the prediction model.

[0354] The server then splits the data into training data and test data: the training data is used to train a machine learning model, and the test data is used to evaluate the model's performance.

[0355] Next, the server trains an AI model based on the training data using a random forest regression model. This random forest regression model is effective for combining multiple decision trees to make highly accurate predictions. The server saves the trained model as inventory_model.pkl. The saved model is used in the subsequent prediction phase.

[0356] For example, when a user uploads their latest sales data to the server, the server uses the stored model to predict future sales trends. As a result, the server calculates optimal inventory levels and suggests inventory adjustments to the user via their device. This prevents overstocks and shortages and enables efficient inventory management.

[0357] Finally, the user can confirm whether to accept the inventory adjustment proposal provided through the terminal and make the necessary adjustments, thereby preventing unsold or out-of-stock items and improving business efficiency.

[0358] As described above, the present invention is a system that automates a series of processes from analyzing sales data to optimizing inventory management, thereby achieving efficient and accurate inventory management.

[0359] The processing flow will be explained below.

[0360] Step 1:

[0361] Users upload a CSV file containing their retail store's past sales data to the server, which centralizes all sales data and prepares it for analysis.

[0362] Step 2:

[0363] The server reads the uploaded CSV file, which contains information such as daily sales and inventory for each product. The read data is stored as a data frame.

[0364] Step 3:

[0365] The server converts the date column of the data frame to a datetime type and sets it as the index of the data frame. Furthermore, if there are missing values, it fills them with the values ​​from the previous day. This process prepares the data in a format suitable for analysis.

[0366] Step 4:

[0367] The server defines features and target variables from the preprocessed data. Specifically, it sets sales volume as the target variable and other information such as inventory and date and time as features.

[0368] Step 5:

[0369] The server divides the features (X) and target variables (y) into training data and test data, with 80% of the data allocated to training data and 20% to test data.

[0370] Step 6:

[0371] The server instantiates a random forest regression model and uses the training data (X_train, y_train) to train the AI ​​model, which combines multiple decision trees to achieve highly accurate predictions.

[0372] Step 7:

[0373] The server saves the trained model to a file called inventory_model.pkl, which is used later in the prediction phase.

[0374] Step 8:

[0375] When a user uploads new sales data to the server, the server uses the stored model to predict future sales trends.

[0376] Step 9:

[0377] The server calculates the optimal inventory level based on the forecast results and sends the results to the terminal, which displays this information to the user and provides suggestions for inventory adjustments.

[0378] Step 10:

[0379] The user can then confirm whether to accept the proposed inventory adjustments and make the necessary adjustments, thereby preventing overstocking or shortages and achieving efficient inventory management.

[0380] Example 1

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

[0382] In conventional inventory management systems, sales data analysis and inventory adjustments are often done manually, making it difficult to achieve efficient and accurate management. In particular, the lack of an automated system for predicting sales trends and proposing inventory adjustments makes it difficult to prevent inventory overstocks and shortages.

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

[0384] In this invention, the server includes a means for reading sales data, a means for preprocessing the read data, and a means for defining features and target variables from the preprocessed data, thereby enabling efficient centralized management and analysis of data.

[0385] The server also includes a means for dividing the feature quantities and target variables into training data and test data, a means for training an AI model based on the training data using a random forest regression model, and a means for saving the trained AI model, thereby enabling highly accurate sales trend predictions.

[0386] Furthermore, the server includes a means for predicting sales trends from new sales data using the stored AI model and proposing inventory adjustments, and a means for calculating optimal inventory levels based on the predicted sales trends and notifying the user of the inventory adjustment proposals, thereby preventing inventory overstocks and shortages and enabling efficient inventory management.

[0387] "Sales data" refers to information about product sales in the retail industry, and includes product IDs, sales dates, sales quantities, inventory quantities, and the like.

[0388] "Means of reading" refers to the method or mechanism by which the system obtains sales data provided by the user in file format or the like.

[0389] "Preprocessing means" refers to methods and mechanisms for converting and supplementing acquired sales data to prepare it in a format suitable for analysis.

[0390] "Features" refer to the items or attributes of input data that a machine learning model uses to make predictions.

[0391] The "target variable" refers to the target variable that the machine learning model is trying to predict, which in the present invention is "sales volume."

[0392] "Training data" refers to the portion of the data used to train a machine learning model.

[0393] "Test data" refers to a portion of the data used to evaluate the performance of a machine learning model.

[0394] A "random forest regression model" refers to a machine learning algorithm that can make highly accurate predictions by combining multiple decision trees.

[0395] "Training means" refers to the methods and mechanisms for providing training data to a machine learning model to improve its predictive accuracy.

[0396] "Means for storage" refers to the method or mechanism for storing the trained machine learning model in a storage device for later use.

[0397] "New sales data" refers to the latest sales information additionally provided by the user, separate from past sales data.

[0398] "Means for predicting sales trends" refers to methods or mechanisms for using stored AI models to predict future sales volumes from new sales data.

[0399] "Means for proposing inventory adjustment" refers to a method or mechanism for calculating optimal inventory levels based on predicted sales trends and proposing adjustment methods to users.

[0400] "Means for notifying" refers to a method or mechanism for communicating the calculated inventory adjustment proposal to the user.

[0401] This invention is a system for accurately and efficiently analyzing sales data and automating appropriate inventory management. This system operates mainly with a server, terminals, and users.

[0402] First, the user uploads a CSV file containing the retailer's past sales data to the server. The sales data uploaded by the user includes information such as product ID, sales date, sales quantity, and inventory quantity. This centralizes the sales data and prepares it for analysis.

[0403] Next, the server reads the uploaded CSV file and performs preprocessing on the data. This preprocessing includes converting the sales date to a datetime type and filling in missing values ​​with the value from the previous day. This formats the data in a suitable format for analysis. For the specific preprocessing, we use a Python data analysis library called Pandas.

[0404] From the preprocessed data, the server defines features and target variables. Sales volume is the target variable, and other information such as inventory is used as features. This creates a dataset suitable for a predictive model.

[0405] These datasets are split into training data and test data by the server. The training data is used to train the machine learning model, and the test data is used to evaluate the model's performance. This data split is also done using Pandas and Scikit-Learn, a Python machine learning library.

[0406] Next, the server trains an AI model based on the training data using a machine learning algorithm called a random forest regression model. The random forest regression model is effective for combining multiple decision trees to make highly accurate predictions. The trained model is saved as inventory_model.pkl. This saving is done using a Python library called Joblib.

[0407] For example, when a user uploads their latest sales data to the server, the server uses the stored model to predict future sales trends. Based on the predicted sales data, the optimal inventory level is calculated. As a result, suggestions for inventory adjustments are made to the user via their terminal. This prevents overstocking and shortages and enables efficient inventory management.

[0408] Finally, the user can confirm whether to accept the inventory adjustment proposal provided through the terminal and make the necessary adjustments, thereby preventing unsold or out-of-stock items and improving business efficiency.

[0409] Below are some example prompts for the generative AI model:

[0410] Upload a CSV file containing your retail store's past sales data to the server. The server preprocesses the data and uses a random forest regression model to predict future sales trends. For example, upload "2023_sales_data.csv" to generate inventory adjustment suggestions.

[0411] As described above, the present invention is a system that automates a series of processes from analyzing sales data to optimizing inventory management, thereby achieving efficient and accurate inventory management.

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

[0413] Step 1:

[0414] The user uploads a CSV file containing the retail store's past sales data to the server. The input for this step is the sales data file (e.g., 2023_sales_data.csv), and the output is a CSV file saved on the server. This allows for centralized management of sales data.

[0415] Step 2:

[0416] The server reads the uploaded CSV file. The input for this step is the CSV file stored on the server, and the output is the read data frame (using Pandas), which is then ready for data analysis.

[0417] Step 3:

[0418] The server preprocesses the loaded data. The input of this step is the loaded data frame, and the output is the preprocessed data frame. Specific operations include converting the sales date to a datetime type and imputing missing values ​​with the value from the previous day. This prepares the data in a format suitable for analysis.

[0419] Step 4:

[0420] The server defines features and target variables from the preprocessed data. The input of this step is the preprocessed data frame, and the output is a dataset of features (e.g., inventory quantity, sales price) and target variables (e.g., sales volume). This generates a dataset suitable for a predictive model.

[0421] Step 5:

[0422] The server splits these datasets into training and test data. The input to this step is a dataset of features and target variables, and the output is training and test data. This splitting is done using the Scikit-Learn library, which allows for model training and evaluation.

[0423] Step 6:

[0424] The server trains the AI ​​model on the training data using a random forest regression model. The input of this step is the training data, and the output is the trained machine learning model. This builds a model for prediction.

[0425] Step 7:

[0426] The server saves the trained AI model as inventory_model.pkl. The input of this step is the trained machine learning model, and the output is the saved model file, which allows the model to be reused in a later prediction phase.

[0427] Step 8:

[0428] The user uploads the latest sales data they have obtained to the server. The input of this step is a new sales data file (e.g., latest_sales_data.csv), and the output is a new sales data file saved on the server.

[0429] Step 9:

[0430] The server uses the saved model to predict future sales trends. The inputs for this step are new sales data and the saved model file, and the output is predicted sales trend data, which then predicts future demand.

[0431] Step 10:

[0432] The server calculates optimal inventory levels based on predicted sales data and makes inventory adjustment recommendations. The input for this step is predicted sales trend data, and the output is inventory adjustment recommendations. This makes it possible to prevent overstocking or shortages in advance.

[0433] Step 11:

[0434] The terminal notifies the user of the inventory adjustment proposal calculated by the server. The input of this step is the inventory adjustment proposal, and the output is a notification sent to the user, allowing the user to perform optimal inventory management.

[0435] Step 12:

[0436] The user confirms whether to accept the proposed inventory adjustments provided through the terminal and makes the necessary adjustments. The input of this step is the proposed inventory adjustments, and the output is the inventory adjustment actions taken by the user, which can improve business efficiency.

[0437] (Application example 1)

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

[0439] Conventional inventory management systems require complicated collection and analysis of sales data, and predicting appropriate inventory levels requires a great deal of effort and time. Furthermore, because inventory is manually adjusted by managers, human error is likely to occur, making efficient inventory management difficult. Therefore, there was a demand for a system that could automatically analyze sales data and perform efficient and accurate inventory management.

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

[0441] In this invention, the server includes means for reading sales data, means for preprocessing the read data, means for defining features and target variables from the preprocessed data, means for dividing the features and target variables into training data and test data, means for training an AI model using the training data, means for saving the trained AI model, means for predicting future sales trends using the AI ​​model, means for calculating inventory levels based on the prediction results and providing adjustment suggestions, and means for uploading sales data from a smartphone. This enables automatic analysis of sales data and prediction of future sales trends, enabling efficient and accurate inventory management.

[0442] "Sales data" is data that includes information regarding sales of goods and services.

[0443] "Reading means" refers to a method or device for inputting data into the system.

[0444] A "preprocessing means" is a method or device for shaping data into a form suitable for analysis.

[0445] "Features" are variables or indicators used as input data when creating a predictive model.

[0446] A "target variable" is a variable that represents a value or outcome that is predicted as the output of a predictive model.

[0447] "Training data" is the data set used to train an AI model.

[0448] "Test data" is a dataset used to evaluate the performance of an AI model.

[0449] An "AI model" is a model that uses machine learning algorithms to learn patterns and knowledge from data.

[0450] A "random forest regression model" is a machine learning algorithm that combines multiple decision trees to make highly accurate predictions.

[0451] "Storage means" refers to a method or device for storing a trained AI model within the system.

[0452] A "means for predicting future sales trends" is a method or device for predicting future sales and demand using an AI model.

[0453] A "means for calculating inventory levels" is a method or device for calculating appropriate inventory levels based on forecasted sales data.

[0454] The "means for providing adjustment suggestions" refers to a method or device for giving instructions or advice on inventory adjustments to a manager based on the calculated inventory level.

[0455] A "smartphone" is a portable communication device that has a variety of functions and is capable of running applications.

[0456] A "CSV file" is a comma-separated text data file, a format widely used for storing and exchanging data.

[0457] This invention is a system for efficiently analyzing sales data and automating appropriate inventory management. The system is mainly composed of a server, a terminal (such as a smartphone), and a user. The operation of each element will be specifically explained below.

[0458] The server first reads the sales data uploaded by the user in CSV file format. To achieve this, it uses a data analysis library such as Pandas. Next, it preprocesses the read data. In this preprocessing step, it converts the sales date data type to datetime and fills in missing data with the value from the previous day. This formats the data in a format suitable for analysis.

[0459] From the preprocessed data, the server defines features and target variables and divides the data into training data and test data. Specifically, sales volume is used as the target variable, and other information such as inventory is extracted as features. The training data is used to train the machine learning model, while the test data is used to evaluate the model's performance.

[0460] Next, the server uses a random forest regression model to train an AI model based on the training data. This model is implemented using a machine learning library such as Scikit-learn. The trained model is saved on the server as inventory_model.pkl. The saved model can be reused when analyzing future sales data.

[0461] When a user uploads new sales data, the server uses the stored AI model to predict future sales trends. Based on this prediction, the server calculates optimal inventory levels and makes adjustment suggestions. Specifically, specific instructions to prevent inventory overages or shortages are calculated based on the predicted sales volume data. This allows the server to provide inventory adjustment suggestions to the user via their device.

[0462] For example, when a user uploads new sales data from their smartphone, the data is instantly processed on the server side, and future sales forecasts and inventory adjustment suggestions are displayed on the smartphone application, allowing users to grasp inventory status in real time and take appropriate action promptly.

[0463] (Example of a prompt to input to a generative AI model)

[0464] "To streamline inventory management in physical stores, please create a program that uses sales data to predict future sales trends and calculate optimal inventory levels. This program uses Flask and allows you to upload a CSV file from your smartphone to perform data preprocessing, sales forecasting, and inventory adjustment suggestions."

[0465] As a result, the present invention provides a system that enables efficient and accurate inventory management through automatic analysis of sales data and prediction of future sales trends.

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

[0467] Step 1: Upload your sales data

[0468] The user uses a device (smartphone) to upload a CSV file containing sales data to the server. The input is a CSV file, and the output is data saved on the server. This includes specific operations such as file selection and uploading through the device's application.

[0469] Step 2: Loading sales data

[0470] The server reads the uploaded CSV file using the Pandas library. It takes the saved CSV file as input and gets a Pandas DataFrame object as output, which brings the sales data into the system.

[0471] Step 3: Preprocessing the data

[0472] The server preprocesses the data it reads. Here, it converts dates to datetime format and fills in missing data with values ​​from the previous day. The input is a Pandas DataFrame, and the output is a preprocessed DataFrame. Specific operations include the pandas.to_datetime() function and the fillna(method='ffill') function.

[0473] Step 4: Define features and target variables

[0474] The server defines features and target variables from the preprocessed data. Sales volume is the target variable, and other inventory information is extracted as features. The preprocessed DataFrame is used as input, and a DataFrame of features and target variables is obtained as output. Specifically, the DataFrame.drop() and DataFrame['target'] methods are used.

[0475] Step 5: Split the data

[0476] The server splits the features and target variables into training data and test data. The input is a DataFrame of the features and target variables, and the output is the training data and test data. Specifically, the train_test_split function is used.

[0477] Step 6: Training the AI ​​model

[0478] The server uses a random forest regression model to train an AI model based on training data. The input is the training data and features, and the output is a trained AI model. Specifically, the fit method of the RandomForestRegressor class is used.

[0479] Step 7: Save the trained model

[0480] The server saves the trained AI model using the pickle library. The input is the trained model, and the output is the saved model file. Specifically, the pickle.dump() method is used.

[0481] Step 8: Forecast sales trends

[0482] When a user uploads new sales data, the server loads the saved AI model and predicts sales trends. The new sales data is the input, and the prediction result is the output. Specifically, the predict method of the RandomForestRegressor class is used.

[0483] Step 9: Calculate inventory levels

[0484] The server calculates the optimal inventory level based on the prediction results. The input is the prediction result data, and the output is the optimal inventory level. Specifically, a simple calculation is performed based on the prediction results.

[0485] Step 10: Provide inventory adjustment suggestions

[0486] The server provides the terminal with a proposal for inventory adjustment based on the calculated inventory level. The optimal inventory level is the input, and the proposed adjustment is displayed on the terminal as the output. The proposal is notified to the user through the terminal application.

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

[0488] The present invention combines a user emotion recognition function with a system for efficiently analyzing sales data and automating appropriate inventory management. This system is realized through the following process.

[0489] First, the sales data is loaded. The user uploads a CSV file containing the retailer's past sales data to the server. This centralizes all sales data and prepares it for analysis.

[0490] The server then preprocesses the data read from the CSV file. Specifically, it converts the sales date to a datetime format and fills in any missing values ​​with the value from the previous day. This converts the data into a format suitable for analysis.

[0491] The server defines features and target variables from the preprocessed data. For example, it sets sales volume as the target variable and other inventory information as features. It then splits the features and target variables into training data and test data. The training data is used to train the AI ​​model, and the test data is used to evaluate the model's performance.

[0492] The server then trains an AI model on the training data using a random forest regression model. This model combines multiple decision trees to enable highly accurate predictions. The trained model is saved as inventory_model.pkl and is used in the subsequent prediction phase.

[0493] Furthermore, the present invention is a system incorporating emotion recognition functionality. The server uses an emotion engine to read and analyze the user's emotion data. This emotion data includes the user's facial expressions, tone of voice, and text input. The emotion engine analyzes this data and recognizes the user's current emotional state.

[0494] For example, if a user feels anxious or stressed while operating an inventory management system, the emotion engine can detect that anxiety or stress and allow the server to respond based on the user's emotions, such as by providing more detailed explanations of the suggestions or presenting them in a more understandable format.

[0495] Finally, with the support of the emotion engine, users can confirm whether they accept the suggested inventory adjustments and make the necessary adjustments, thereby preventing overstocks and shortages and achieving efficient inventory management.

[0496] As a specific example, when a user uploads their latest sales data to the server, the server uses the stored model to predict future sales trends. At the same time, the emotion engine recognizes the user's emotions and suggests optimal inventory adjustments based on those emotions. In this way, the present invention provides more accurate inventory management by combining sales data analysis and emotion recognition.

[0497] The processing flow will be explained below.

[0498] Step 1:

[0499] Users upload a CSV file containing their retail store's past sales data to the server, which centralizes all sales data and prepares it for analysis.

[0500] Step 2:

[0501] The server reads the uploaded CSV file, which contains information such as daily sales and inventory for each product. The read data is stored as a data frame.

[0502] Step 3:

[0503] The server converts the date column of the data frame to a datetime type and sets it as the index of the data frame. Furthermore, if there are missing values, it fills them with the values ​​from the previous day. This process prepares the data in a format suitable for analysis.

[0504] Step 4:

[0505] The server defines features and target variables from the preprocessed data. Specifically, it sets sales volume as the target variable and other information such as inventory and date and time as features.

[0506] Step 5:

[0507] The server divides the features (X) and target variables (y) into training data and test data, with 80% of the data allocated to training data and 20% to test data.

[0508] Step 6:

[0509] The server instantiates a random forest regression model and uses the training data (X_train, y_train) to train the AI ​​model, which combines multiple decision trees to achieve highly accurate predictions.

[0510] Step 7:

[0511] The server saves the trained model to a file called inventory_model.pkl, which is used later in the prediction phase.

[0512] Step 8:

[0513] Users upload their retail store's current sales data to the server, which uses the stored model to predict future sales trends based on this sales data.

[0514] Step 9:

[0515] The server calculates optimal inventory levels based on the sales trend forecast, sends the results to the terminal, and generates a proposal for inventory adjustment.

[0516] Step 10:

[0517] At the same time, the server uses an emotion engine to read and analyze the user's emotional data, including the user's facial expressions, tone of voice, and text input.

[0518] Step 11:

[0519] Based on the analysis results obtained from the emotion engine, the server optimizes the presentation of inventory adjustment suggestions according to the user's emotional state. For example, if the user is feeling anxious, it will provide detailed explanations of the suggestions or display messages that provide reassurance.

[0520] Step 12:

[0521] The device displays inventory adjustment suggestions optimized for the user's emotional state, and the user can review the suggestions and accept or adjust them as necessary.

[0522] Step 13:

[0523] If the user accepts the proposal, the proposed inventory adjustment will be implemented, thereby preventing overstocks and shortages and achieving efficient inventory management.

[0524] Through the above process, the present invention provides a highly accurate inventory management system that takes into account the emotional state of the user.

[0525] Example 2

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

[0527] Modern inventory management systems are required to efficiently analyze large amounts of sales data, but conventional systems do not take users' emotions into consideration, which often causes anxiety and stress for users, making it difficult for them to make appropriate decisions regarding the suggestions they receive from the system.

[0528] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for reading sales data, means for preprocessing the read data, means for defining features and target variables from the preprocessed data, means for dividing the features and target variables into training data and test data, means for training an AI model using the training data, means for saving the trained AI model, means for reading emotion data, means for analyzing the read emotion data, and means for optimizing user responses based on the analyzed emotion data. This enables efficient analysis of sales data while providing detailed responses that take user emotions into consideration.

[0529] "Sales data" refers to historical information about product sales at retail stores and other businesses, and specifically includes information such as sales date, product ID, price, and inventory quantity.

[0530] "Preprocessing" refers to the process of preparing data in an appropriate format before performing data analysis or learning, and specifically includes converting date data and filling in missing values.

[0531] "Features" refer to the attributes of data used for prediction and classification in machine learning models, and specifically include product ID, price, and inventory quantity.

[0532] A "target variable" refers to the attribute of data that is the target of prediction or classification in a machine learning model, and specifically includes sales volume.

[0533] "Training data" refers to a data set used to train a machine learning model.

[0534] "Test data" refers to a dataset used to evaluate the performance of a machine learning model.

[0535] An "AI model" refers to a mathematical or statistical algorithm built for machine learning or data analysis.

[0536] "Emotion data" refers to data that indicates the user's emotional state, and specifically includes information such as the user's facial expression, tone of voice, and text input.

[0537] "Emotion recognition" refers to the function of analyzing emotion data and determining the user's emotional state.

[0538] "User-responsive optimization" refers to tailoring the system's suggestions and presentation of information to users based on the user's emotional state.

[0539] The present invention is a system that combines efficient analysis of sales data and automation of appropriate inventory management with user emotion recognition functionality, as implemented in accordance with the following detailed description.

[0540] First, the user uploads a CSV file containing the retailer's past sales data to the server. Specifically, the user accesses the web interface and clicks the "Choose File" button that appears to select the CSV file. Then, the user clicks the "Upload" button to send the file to the server. This operation centralizes all sales data and prepares it for data analysis.

[0541] Next, the server receives the uploaded CSV file and converts it to a DataFrame using Python's pandas library. It then converts the sales date to a datetime type and fills in any missing values ​​with the value from the previous day. This formats the sales data in a way that is suitable for analysis.

[0542] Next, the server defines features (e.g., product ID, price, and inventory quantity) and a target variable (sales volume) from the preprocessed data. It then uses the train_test_split function from the scikit-learn library to split the data into training data and test data. The training data is used to train a machine learning model, and the test data is used to evaluate the model's performance.

[0543] The server trains an AI model on the training data using a random forest regression model. This model is implemented using the RandomForestRegressor from the scikit-learn library. The trained model is saved as inventory_model.pkl using the joblib library and used for future predictions.

[0544] Furthermore, the server utilizes an emotion engine (e.g., a general-purpose emotion recognition API) to implement emotion recognition functions. This emotion engine acquires emotion data from the user's facial expressions, tone of voice, text input, etc. The acquired emotion data is analyzed in real time to determine the user's current emotional state.

[0545] For example, if a user is feeling anxious or stressed while using an inventory management system, the emotion engine can detect that anxiety or stress and allow the server to respond based on the user's emotions, such as by providing more detailed explanations or presenting suggestions in a more understandable format.

[0546] With the support of the emotion engine, the user confirms whether to accept the inventory adjustments proposed by the server. The user can then make the necessary adjustments by following the system's instructions and selecting "Accept inventory adjustments" or "Change adjustments." This prevents overstocks and shortages and realizes efficient inventory management.

[0547] A typical prompt might look like this, assuming the user has the latest sales data:

[0548] Please upload the latest sales data (e.g., Q1 2023) to the server.

[0549] This allows the user to operate the system smoothly.

[0550] The above is an embodiment of the present invention. This system provides more accurate inventory management and user support by combining sales data analysis and emotion recognition functions.

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

[0552] Step 1:

[0553] The user uploads a CSV file containing sales data to the server.

[0554] Specifically, the user accesses the system's web interface using a web browser on the terminal, clicks the "Select File" button, selects the CSV file of sales data, and clicks the "Upload" button.

[0555] Input: Sales data CSV file (e.g., sales_data.csv)

[0556] Output: A CSV file is uploaded to the server, ready for data analysis.

[0557] Step 2:

[0558] The server receives the uploaded CSV file and reads it as a DataFrame using the pandas library.

[0559] Convert the sales date to datetime type, and if there are missing values, fill them with the value from the previous day.

[0560] Input: Uploaded CSV file

[0561] Output: Preprocessed data frame

[0562] Specifically, the data is read using pd.read_csv('sales_data.csv'), the date is converted using df['date'] = pd.to_datetime(df['date']), and missing values ​​are filled using df.fillna(method='ffill', inplace=True).

[0563] Step 3:

[0564] The server defines features (e.g., product ID, price, and inventory quantity) and target variables (sales volume) from the preprocessed data.

[0565] Next, we use scikit-learn's train_test_split function to split these into training and test data.

[0566] Input: Preprocessed data frame

[0567] Output: training data and test data

[0568] As a specific example, define the features as X = df[['product_id', 'price', 'stock']], define the target variable as y = df['sales_volume'], and split the data with train_test_split(X, y, test_size=0.2, random_state=42).

[0569] Step 4:

[0570] The server trains the AI ​​model on the training data using a random forest regression model.

[0571] To generate and train the model, we use scikit-learn's RandomForestRegressor.

[0572] Input: Training data (features and target variables)

[0573] Output: A trained AI model

[0574] Specifically, the model is initialized with RandomForestRegressor(n_estimators=100, random_state=42) and trained with model.fit(X_train, y_train).

[0575] Step 5:

[0576] The server uses the joblib library to save the trained AI model as a file.

[0577] Input: A trained AI model

[0578] Output: Saved AI model file (e.g. inventory_model.pkl)

[0579] Specifically, save the model with joblib.dump(model, 'inventory_model.pkl').

[0580] Step 6:

[0581] The server uses an emotion engine to read and analyze the user's emotion data, which is obtained from the user's facial expressions, tone of voice, text input, etc.

[0582] Input: User emotional data (facial expressions, tone of voice, text input)

[0583] Output: Parsed emotional state (e.g., stress, anxiety)

[0584] Specifically, the emotion engine API is called and data is obtained using emotion_data = EmotionAPI.get_user_emotion(user_id='user123').

[0585] Step 7:

[0586] The server optimizes user responses based on the analyzed emotional data. For example, if the user is feeling anxious or stressed, the server provides more detailed explanations and suggestions in an easy-to-understand format.

[0587] Input: Parsed emotional state

[0588] Output: Optimized user experience (e.g. detailed explanations, concise suggestions)

[0589] Specifically, it executes if emotion_data['emotion'] == 'stressed': and generates an appropriate response.

[0590] Step 8:

[0591] The user checks the inventory adjustments proposed by the server and makes adjustments as necessary. The user follows the system's instructions and makes choices such as "accept inventory adjustments" or "change adjustments."

[0592] Input: Inventory adjustment proposal from the server

[0593] Output: User confirms and makes inventory adjustments

[0594] Specifically, the user clicks an on-screen button to accept the suggestion or change the adjustment.

[0595] (Application example 2)

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

[0597] The challenge in inventory management systems is to achieve efficient and user-friendly inventory management by integrating two different elements: sales data analysis and user emotion recognition. In particular, by incorporating emotion recognition, we aim to achieve highly accurate inventory management while reducing stress and anxiety by proposing appropriate inventory adjustments according to the worker's situation.

[0598] The identification processing by the identification 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 reading sales data, means for preprocessing the read data, means for defining features and target variables from the preprocessed data, means for dividing the features and target variables into training data and test data, means for training an AI model using the training data, means for saving the trained AI model, means for analyzing user emotion data, means for proposing inventory adjustments based on the analyzed emotion data, and means for visually presenting the proposed inventory adjustments. This makes it possible to simultaneously perform high-precision analysis of sales data and suggestions based on the user's emotional state.

[0599] "Sales data" refers to a series of information related to product sales at retail stores and logistics centers, such as product names, sales dates and times, sales volumes, and inventory levels.

[0600] "Preprocessing" refers to a series of data processing processes to prepare sales data in a format suitable for analysis, such as converting dates and filling in missing values.

[0601] "Features" refer to each field of input data supplied to an AI model, specifically information such as past sales volume and inventory volume.

[0602] A "target variable" refers to a data field that is set as a predicted result. Specifically, future sales volume is often set as a target variable.

[0603] "Training data" refers to the dataset used to train an AI model, including features and target variables.

[0604] "Test data" refers to a dataset used to evaluate the performance of a trained AI model. It is a set that is different from the training data.

[0605] "AI model" refers to a mathematical model for making predictions or classifications based on artificial intelligence algorithms, including random forest regression models.

[0606] "Training" refers to the process of optimizing the parameters of an AI model using training data, which enables it to make highly accurate predictions.

[0607] "Emotional data" refers to information about emotions obtained from a user's facial expressions, tone of voice, text input, etc.

[0608] "Emotion recognition" refers to the process of analyzing emotional data to identify a user's current emotional state.

[0609] "Inventory adjustment" refers to the adjustment work carried out to keep inventory levels at an optimal level. It is suggested based on sales forecasts and user sentiment data.

[0610] "Visual presentation" refers to the means by which information is visually displayed to the user, such as smart glasses or a display.

[0611] The present invention is a system for improving the efficiency of inventory management in logistics centers, and by combining sales data analysis and user emotion recognition, it achieves highly accurate inventory adjustments while reducing worker stress. This system is realized through the following steps.

[0612] System Program

[0613] A program for analyzing sales data and recognizing user emotions in inventory management at a logistics center is configured as follows.

[0614] What the program does

[0615] The server first reads the shipping data. The sales data is uploaded to the server in the form of a CSV file provided by the retailer or distribution center. This data includes information on the items sold, the date and time, the quantity, etc.

[0616] Next, the server preprocesses the uploaded sales data, such as filling in missing values ​​with data from the previous day and converting sales dates to datetime data, thereby converting the data into an analyzable format.

[0617] Once preprocessing is complete, the server defines features and target variables from the data. Features include inventory volume, sales volume, season, etc., and sales volume is set as the target variable.

[0618] The feature and target variable data are split into training data and test data. The training data is used to train the AI ​​model, and the test data is used to evaluate the performance of the trained model.

[0619] Next, the server uses the training data to train an AI model. The model in question is a random forest regression model. This model combines multiple decision trees to make highly accurate predictions. The trained model is saved as a file (inventory_model.pkl).

[0620] Additionally, the server analyzes the user's emotional data, which includes facial expressions, tone of voice, and text input. The emotion recognition engine analyzes this data to determine whether the user is feeling anxious or stressed, or performing a task with confidence.

[0621] When a user accesses the inventory management system, the server analyzes their emotional data and makes suggestions for inventory adjustments based on the results. For example, if the user is stressed, the server provides a detailed explanation, and if the user is confident, the server suggests a quick adjustment.

[0622] Hardware and software used

[0623] Hardware: Servers, smart glasses (e.g. Google Glass, Vuzix Blade)

[0624] Software: pandas (data frame manipulation), sklearn (model definition and training), EmotionEngine (emotion recognition), pickle (model saving and loading)

[0625] Specific examples

[0626] The latest sales data is uploaded to the server as sales_data.csv. When a worker wearing smart glasses performs inventory management, the server uses an emotion recognition engine to analyze the user's emotions in real time and suggests inventory adjustments based on those emotions. The worker can then make inventory adjustments based on these suggestions.

[0627] Prompt Sentence Examples

[0628] "I would like to develop an application for smart glasses to be used in logistics centers. I am considering a system that optimizes inventory management by combining efficient analysis of sales data with emotion recognition functionality. Specifically, when a worker wearing the smart glasses is managing inventory, if they feel anxious or stressed, the system will provide a detailed explanation, and if they feel confident, the system will encourage them to make quick decisions. I would like a program to implement this in Python, along with a detailed explanation of the processing involved."

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

[0630] The processing flow of the program of the system that realizes the application example will be explained below by dividing it into specific processing steps.

[0631] Step 1:

[0632] The server reads the sales data (CSV file) uploaded by the user. The input is a CSV file, and the output is sales data in data frame format. In this process, the pandas module is used to read the CSV file as a data frame.

[0633] Step 2:

[0634] The server preprocesses the imported sales data. Specifically, it converts date fields to datetime data and imputes missing values ​​with the previous day's data. The input is the data frame obtained in step 1, and the output is the preprocessed data frame. The pandas module is used to impute missing data and convert dates.

[0635] Step 3:

[0636] The server defines features and target variables from the preprocessed data. Features include inventory, sales, season, etc., and sales volume is set as the target variable. The input is the data frame preprocessed in step 2, and the output is a dataset of features and target variables.

[0637] Step 4:

[0638] The server splits the features and target variables into training and test data. The input is the features and target variables defined in step 3, and the output is the split dataset into training and test data. Use sklearn.model_selection.train_test_split.

[0639] Step 5:

[0640] The server uses the training data to train an AI model. Specifically, it uses a random forest regression model. The input is the training data obtained in step 4, and the output is the trained AI model. The model is trained using sklearn.ensemble.RandomForestRegressor and saved using pickle.

[0641] Step 6:

[0642] The server collects and analyzes the user's emotional data, which includes facial expressions, tone of voice, and text input. The input is the emotional data collected from the user, and the output is the analysis result of the user's emotional state. It uses a virtual emotion recognition library called EmotionEngine.

[0643] Step 7:

[0644] The server proposes inventory adjustments based on the analyzed emotional data. Specifically, it provides a detailed explanation if the user is stressed, and a quick adjustment suggestion if the user is confident. The input is the emotional data analysis result from step 6 and the AI ​​model saved in step 5, and the output is the inventory adjustment suggestion.

[0645] Step 8:

[0646] The server visually presents the suggested inventory adjustments to a device such as smart glasses. The input is the suggestion generated in step 7, and the output is the visual suggestion displayed on the device. This suggestion is presented in a format that allows the user to review it in real time and take action if necessary.

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

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

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

[0650] [Third embodiment]

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

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

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

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

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

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

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

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

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

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

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

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

[0663] The present invention is a system for accurately and efficiently analyzing sales data and automating appropriate inventory management. This system is realized by following the following process.

[0664] First, the sales data is loaded. The user uploads a CSV file containing the retailer's past sales data to the server. This centralizes all sales data and prepares it for analysis.

[0665] The server then preprocesses the data read from the CSV file. This preprocessing includes converting the sales date to a datetime format and filling in missing values ​​with the values ​​from the previous day. This prepares the data in a format suitable for analysis.

[0666] Next, the server defines features and target variables from the preprocessed data. Specifically, sales volume is used as the target variable, and other information such as inventory is used as the feature. This generates a dataset suitable for the prediction model.

[0667] The server then splits the data into training data and test data: the training data is used to train a machine learning model, and the test data is used to evaluate the model's performance.

[0668] Next, the server trains an AI model based on the training data using a random forest regression model. This random forest regression model is effective for combining multiple decision trees to make highly accurate predictions. The server saves the trained model as inventory_model.pkl. The saved model is used in the subsequent prediction phase.

[0669] For example, when a user uploads their latest sales data to the server, the server uses the stored model to predict future sales trends. As a result, the server calculates optimal inventory levels and suggests inventory adjustments to the user via their device. This prevents overstocks and shortages and enables efficient inventory management.

[0670] Finally, the user can confirm whether to accept the inventory adjustment proposal provided through the terminal and make the necessary adjustments, thereby preventing unsold or out-of-stock items and improving business efficiency.

[0671] As described above, the present invention is a system that automates a series of processes from analyzing sales data to optimizing inventory management, thereby achieving efficient and accurate inventory management.

[0672] The processing flow will be explained below.

[0673] Step 1:

[0674] Users upload a CSV file containing their retail store's past sales data to the server, which centralizes all sales data and prepares it for analysis.

[0675] Step 2:

[0676] The server reads the uploaded CSV file, which contains information such as daily sales and inventory for each product. The read data is stored as a data frame.

[0677] Step 3:

[0678] The server converts the date column of the data frame to a datetime type and sets it as the index of the data frame. Furthermore, if there are missing values, it fills them with the values ​​from the previous day. This process prepares the data in a format suitable for analysis.

[0679] Step 4:

[0680] The server defines features and target variables from the preprocessed data. Specifically, it sets sales volume as the target variable and other information such as inventory and date and time as features.

[0681] Step 5:

[0682] The server divides the features (X) and target variables (y) into training data and test data, with 80% of the data allocated to training data and 20% to test data.

[0683] Step 6:

[0684] The server instantiates a random forest regression model and uses the training data (X_train, y_train) to train the AI ​​model, which combines multiple decision trees to achieve highly accurate predictions.

[0685] Step 7:

[0686] The server saves the trained model to a file called inventory_model.pkl, which is used later in the prediction phase.

[0687] Step 8:

[0688] When a user uploads new sales data to the server, the server uses the stored model to predict future sales trends.

[0689] Step 9:

[0690] The server calculates the optimal inventory level based on the forecast results and sends the results to the terminal, which displays this information to the user and provides suggestions for inventory adjustments.

[0691] Step 10:

[0692] The user can then confirm whether to accept the proposed inventory adjustments and make the necessary adjustments, thereby preventing overstocking or shortages and achieving efficient inventory management.

[0693] Example 1

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

[0695] In conventional inventory management systems, sales data analysis and inventory adjustments are often done manually, making it difficult to achieve efficient and accurate management. In particular, the lack of an automated system for predicting sales trends and proposing inventory adjustments makes it difficult to prevent inventory overstocks and shortages.

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

[0697] In this invention, the server includes a means for reading sales data, a means for preprocessing the read data, and a means for defining features and target variables from the preprocessed data, thereby enabling efficient centralized management and analysis of data.

[0698] The server also includes a means for dividing the feature quantities and target variables into training data and test data, a means for training an AI model based on the training data using a random forest regression model, and a means for saving the trained AI model, thereby enabling highly accurate sales trend predictions.

[0699] Furthermore, the server includes a means for predicting sales trends from new sales data using the stored AI model and proposing inventory adjustments, and a means for calculating optimal inventory levels based on the predicted sales trends and notifying the user of the inventory adjustment proposals, thereby preventing inventory overstocks and shortages and enabling efficient inventory management.

[0700] "Sales data" refers to information about product sales in the retail industry, and includes product IDs, sales dates, sales quantities, inventory quantities, and the like.

[0701] "Means of reading" refers to the method or mechanism by which the system obtains sales data provided by the user in file format or the like.

[0702] "Preprocessing means" refers to methods and mechanisms for converting and supplementing acquired sales data to prepare it in a format suitable for analysis.

[0703] "Features" refer to the items or attributes of input data that a machine learning model uses to make predictions.

[0704] The "target variable" refers to the target variable that the machine learning model is trying to predict, which in the present invention is "sales volume."

[0705] "Training data" refers to the portion of the data used to train a machine learning model.

[0706] "Test data" refers to a portion of the data used to evaluate the performance of a machine learning model.

[0707] A "random forest regression model" refers to a machine learning algorithm that can make highly accurate predictions by combining multiple decision trees.

[0708] "Training means" refers to the methods and mechanisms for providing training data to a machine learning model to improve its predictive accuracy.

[0709] "Means for storage" refers to the method or mechanism for storing the trained machine learning model in a storage device for later use.

[0710] "New sales data" refers to the latest sales information additionally provided by the user, separate from past sales data.

[0711] "Means for predicting sales trends" refers to methods or mechanisms for using stored AI models to predict future sales volumes from new sales data.

[0712] "Means for proposing inventory adjustment" refers to a method or mechanism for calculating optimal inventory levels based on predicted sales trends and proposing adjustment methods to users.

[0713] "Means for notifying" refers to a method or mechanism for communicating the calculated inventory adjustment proposal to the user.

[0714] This invention is a system for accurately and efficiently analyzing sales data and automating appropriate inventory management. This system operates mainly with a server, terminals, and users.

[0715] First, the user uploads a CSV file containing the retailer's past sales data to the server. The sales data uploaded by the user includes information such as product ID, sales date, sales quantity, and inventory quantity. This centralizes the sales data and prepares it for analysis.

[0716] Next, the server reads the uploaded CSV file and performs preprocessing on the data. This preprocessing includes converting the sales date to a datetime type and filling in missing values ​​with the value from the previous day. This formats the data in a suitable format for analysis. For the specific preprocessing, we use a Python data analysis library called Pandas.

[0717] From the preprocessed data, the server defines features and target variables. Sales volume is the target variable, and other information such as inventory is used as features. This creates a dataset suitable for a predictive model.

[0718] These datasets are split into training data and test data by the server. The training data is used to train the machine learning model, and the test data is used to evaluate the model's performance. This data split is also done using Pandas and Scikit-Learn, a Python machine learning library.

[0719] Next, the server trains an AI model based on the training data using a machine learning algorithm called a random forest regression model. The random forest regression model is effective for combining multiple decision trees to make highly accurate predictions. The trained model is saved as inventory_model.pkl. This saving is done using a Python library called Joblib.

[0720] For example, when a user uploads their latest sales data to the server, the server uses the stored model to predict future sales trends. Based on the predicted sales data, the optimal inventory level is calculated. As a result, suggestions for inventory adjustments are made to the user via their terminal. This prevents overstocking and shortages and enables efficient inventory management.

[0721] Finally, the user can confirm whether to accept the inventory adjustment proposal provided through the terminal and make the necessary adjustments, thereby preventing unsold or out-of-stock items and improving business efficiency.

[0722] Below are some example prompts for the generative AI model:

[0723] Upload a CSV file containing your retail store's past sales data to the server. The server preprocesses the data and uses a random forest regression model to predict future sales trends. For example, upload "2023_sales_data.csv" to generate inventory adjustment suggestions.

[0724] As described above, the present invention is a system that automates a series of processes from analyzing sales data to optimizing inventory management, thereby achieving efficient and accurate inventory management.

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

[0726] Step 1:

[0727] The user uploads a CSV file containing the retail store's past sales data to the server. The input for this step is the sales data file (e.g., 2023_sales_data.csv), and the output is a CSV file saved on the server. This allows for centralized management of sales data.

[0728] Step 2:

[0729] The server reads the uploaded CSV file. The input for this step is the CSV file stored on the server, and the output is the read data frame (using Pandas), which is then ready for data analysis.

[0730] Step 3:

[0731] The server preprocesses the loaded data. The input of this step is the loaded data frame, and the output is the preprocessed data frame. Specific operations include converting the sales date to a datetime type and imputing missing values ​​with the value from the previous day. This prepares the data in a format suitable for analysis.

[0732] Step 4:

[0733] The server defines features and target variables from the preprocessed data. The input of this step is the preprocessed data frame, and the output is a dataset of features (e.g., inventory quantity, sales price) and target variables (e.g., sales volume). This generates a dataset suitable for a predictive model.

[0734] Step 5:

[0735] The server splits these datasets into training and test data. The input to this step is a dataset of features and target variables, and the output is training and test data. This splitting is done using the Scikit-Learn library, which allows for model training and evaluation.

[0736] Step 6:

[0737] The server trains the AI ​​model on the training data using a random forest regression model. The input of this step is the training data, and the output is the trained machine learning model. This builds a model for prediction.

[0738] Step 7:

[0739] The server saves the trained AI model as inventory_model.pkl. The input of this step is the trained machine learning model, and the output is the saved model file, which allows the model to be reused in a later prediction phase.

[0740] Step 8:

[0741] The user uploads the latest sales data they have obtained to the server. The input of this step is a new sales data file (e.g., latest_sales_data.csv), and the output is a new sales data file saved on the server.

[0742] Step 9:

[0743] The server uses the saved model to predict future sales trends. The inputs for this step are new sales data and the saved model file, and the output is predicted sales trend data, which then predicts future demand.

[0744] Step 10:

[0745] The server calculates optimal inventory levels based on predicted sales data and makes inventory adjustment recommendations. The input for this step is predicted sales trend data, and the output is inventory adjustment recommendations. This makes it possible to prevent overstocking or shortages in advance.

[0746] Step 11:

[0747] The terminal notifies the user of the inventory adjustment proposal calculated by the server. The input of this step is the inventory adjustment proposal, and the output is a notification sent to the user, allowing the user to perform optimal inventory management.

[0748] Step 12:

[0749] The user confirms whether to accept the proposed inventory adjustments provided through the terminal and makes the necessary adjustments. The input of this step is the proposed inventory adjustments, and the output is the inventory adjustment actions taken by the user, which can improve business efficiency.

[0750] (Application example 1)

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

[0752] Conventional inventory management systems require complicated collection and analysis of sales data, and predicting appropriate inventory levels requires a great deal of effort and time. Furthermore, because inventory is manually adjusted by managers, human error is likely to occur, making efficient inventory management difficult. Therefore, there was a demand for a system that could automatically analyze sales data and perform efficient and accurate inventory management.

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

[0754] In this invention, the server includes means for reading sales data, means for preprocessing the read data, means for defining features and target variables from the preprocessed data, means for dividing the features and target variables into training data and test data, means for training an AI model using the training data, means for saving the trained AI model, means for predicting future sales trends using the AI ​​model, means for calculating inventory levels based on the prediction results and providing adjustment suggestions, and means for uploading sales data from a smartphone. This enables automatic analysis of sales data and prediction of future sales trends, enabling efficient and accurate inventory management.

[0755] "Sales data" is data that includes information regarding sales of goods and services.

[0756] "Reading means" refers to a method or device for inputting data into the system.

[0757] A "preprocessing means" is a method or device for shaping data into a form suitable for analysis.

[0758] "Features" are variables or indicators used as input data when creating a predictive model.

[0759] A "target variable" is a variable that represents a value or outcome that is predicted as the output of a predictive model.

[0760] "Training data" is the data set used to train an AI model.

[0761] "Test data" is a dataset used to evaluate the performance of an AI model.

[0762] An "AI model" is a model that uses machine learning algorithms to learn patterns and knowledge from data.

[0763] A "random forest regression model" is a machine learning algorithm that combines multiple decision trees to make highly accurate predictions.

[0764] "Storage means" refers to a method or device for storing a trained AI model within the system.

[0765] A "means for predicting future sales trends" is a method or device for predicting future sales and demand using an AI model.

[0766] A "means for calculating inventory levels" is a method or device for calculating appropriate inventory levels based on forecasted sales data.

[0767] The "means for providing adjustment suggestions" refers to a method or device for giving instructions or advice on inventory adjustments to a manager based on the calculated inventory level.

[0768] A "smartphone" is a portable communication device that has a variety of functions and is capable of running applications.

[0769] A "CSV file" is a comma-separated text data file, a format widely used for storing and exchanging data.

[0770] This invention is a system for efficiently analyzing sales data and automating appropriate inventory management. The system is mainly composed of a server, a terminal (such as a smartphone), and a user. The operation of each element will be specifically explained below.

[0771] The server first reads the sales data uploaded by the user in CSV file format. To achieve this, it uses a data analysis library such as Pandas. Next, it preprocesses the read data. In this preprocessing step, it converts the sales date data type to datetime and fills in missing data with the value from the previous day. This formats the data in a format suitable for analysis.

[0772] From the preprocessed data, the server defines features and target variables and divides the data into training data and test data. Specifically, sales volume is used as the target variable, and other information such as inventory is extracted as features. The training data is used to train the machine learning model, while the test data is used to evaluate the model's performance.

[0773] Next, the server uses a random forest regression model to train an AI model based on the training data. This model is implemented using a machine learning library such as Scikit-learn. The trained model is saved on the server as inventory_model.pkl. The saved model can be reused when analyzing future sales data.

[0774] When a user uploads new sales data, the server uses the stored AI model to predict future sales trends. Based on this prediction, the server calculates optimal inventory levels and makes adjustment suggestions. Specifically, specific instructions to prevent inventory overages or shortages are calculated based on the predicted sales volume data. This allows the server to provide inventory adjustment suggestions to the user via their device.

[0775] For example, when a user uploads new sales data from their smartphone, the data is instantly processed on the server side, and future sales forecasts and inventory adjustment suggestions are displayed on the smartphone application, allowing users to grasp inventory status in real time and take appropriate action promptly.

[0776] (Example of a prompt to input to a generative AI model)

[0777] "To streamline inventory management in physical stores, please create a program that uses sales data to predict future sales trends and calculate optimal inventory levels. This program uses Flask and allows you to upload a CSV file from your smartphone to perform data preprocessing, sales forecasting, and inventory adjustment suggestions."

[0778] As a result, the present invention provides a system that enables efficient and accurate inventory management through automatic analysis of sales data and prediction of future sales trends.

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

[0780] Step 1: Upload your sales data

[0781] The user uses a device (smartphone) to upload a CSV file containing sales data to the server. The input is a CSV file, and the output is data saved on the server. This includes specific operations such as file selection and uploading through the device's application.

[0782] Step 2: Loading sales data

[0783] The server reads the uploaded CSV file using the Pandas library. It takes the saved CSV file as input and gets a Pandas DataFrame object as output, which brings the sales data into the system.

[0784] Step 3: Preprocessing the data

[0785] The server preprocesses the data it reads. Here, it converts dates to datetime format and fills in missing data with values ​​from the previous day. The input is a Pandas DataFrame, and the output is a preprocessed DataFrame. Specific operations include the pandas.to_datetime() function and the fillna(method='ffill') function.

[0786] Step 4: Define features and target variables

[0787] The server defines features and target variables from the preprocessed data. Sales volume is the target variable, and other inventory information is extracted as features. The preprocessed DataFrame is used as input, and a DataFrame of features and target variables is obtained as output. Specifically, the DataFrame.drop() and DataFrame['target'] methods are used.

[0788] Step 5: Split the data

[0789] The server splits the features and target variables into training data and test data. The input is a DataFrame of the features and target variables, and the output is the training data and test data. Specifically, the train_test_split function is used.

[0790] Step 6: Training the AI ​​model

[0791] The server uses a random forest regression model to train an AI model based on training data. The input is the training data and features, and the output is a trained AI model. Specifically, the fit method of the RandomForestRegressor class is used.

[0792] Step 7: Save the trained model

[0793] The server saves the trained AI model using the pickle library. The input is the trained model, and the output is the saved model file. Specifically, the pickle.dump() method is used.

[0794] Step 8: Forecast sales trends

[0795] When a user uploads new sales data, the server loads the saved AI model and predicts sales trends. The new sales data is the input, and the prediction result is the output. Specifically, the predict method of the RandomForestRegressor class is used.

[0796] Step 9: Calculate inventory levels

[0797] The server calculates the optimal inventory level based on the prediction results. The input is the prediction result data, and the output is the optimal inventory level. Specifically, a simple calculation is performed based on the prediction results.

[0798] Step 10: Provide inventory adjustment suggestions

[0799] The server provides the terminal with a proposal for inventory adjustment based on the calculated inventory level. The optimal inventory level is the input, and the proposed adjustment is displayed on the terminal as the output. The proposal is notified to the user through the terminal application.

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

[0801] The present invention combines a user emotion recognition function with a system for efficiently analyzing sales data and automating appropriate inventory management. This system is realized through the following process.

[0802] First, the sales data is loaded. The user uploads a CSV file containing the retailer's past sales data to the server. This centralizes all sales data and prepares it for analysis.

[0803] The server then preprocesses the data read from the CSV file. Specifically, it converts the sales date to a datetime format and fills in any missing values ​​with the value from the previous day. This converts the data into a format suitable for analysis.

[0804] The server defines features and target variables from the preprocessed data. For example, it sets sales volume as the target variable and other inventory information as features. It then splits the features and target variables into training data and test data. The training data is used to train the AI ​​model, and the test data is used to evaluate the model's performance.

[0805] The server then trains an AI model on the training data using a random forest regression model. This model combines multiple decision trees to enable highly accurate predictions. The trained model is saved as inventory_model.pkl and is used in the subsequent prediction phase.

[0806] Furthermore, the present invention is a system incorporating emotion recognition functionality. The server uses an emotion engine to read and analyze the user's emotion data. This emotion data includes the user's facial expressions, tone of voice, and text input. The emotion engine analyzes this data and recognizes the user's current emotional state.

[0807] For example, if a user feels anxious or stressed while operating an inventory management system, the emotion engine can detect that anxiety or stress and allow the server to respond based on the user's emotions, such as by providing more detailed explanations of the suggestions or presenting them in a more understandable format.

[0808] Finally, with the support of the emotion engine, users can confirm whether they accept the suggested inventory adjustments and make the necessary adjustments, thereby preventing overstocks and shortages and achieving efficient inventory management.

[0809] As a specific example, when a user uploads their latest sales data to the server, the server uses the stored model to predict future sales trends. At the same time, the emotion engine recognizes the user's emotions and suggests optimal inventory adjustments based on those emotions. In this way, the present invention provides more accurate inventory management by combining sales data analysis and emotion recognition.

[0810] The processing flow will be explained below.

[0811] Step 1:

[0812] Users upload a CSV file containing their retail store's past sales data to the server, which centralizes all sales data and prepares it for analysis.

[0813] Step 2:

[0814] The server reads the uploaded CSV file, which contains information such as daily sales and inventory for each product. The read data is stored as a data frame.

[0815] Step 3:

[0816] The server converts the date column of the data frame to a datetime type and sets it as the index of the data frame. Furthermore, if there are missing values, it fills them with the values ​​from the previous day. This process prepares the data in a format suitable for analysis.

[0817] Step 4:

[0818] The server defines features and target variables from the preprocessed data. Specifically, it sets sales volume as the target variable and other information such as inventory and date and time as features.

[0819] Step 5:

[0820] The server divides the features (X) and target variables (y) into training data and test data, with 80% of the data allocated to training data and 20% to test data.

[0821] Step 6:

[0822] The server instantiates a random forest regression model and uses the training data (X_train, y_train) to train the AI ​​model, which combines multiple decision trees to achieve highly accurate predictions.

[0823] Step 7:

[0824] The server saves the trained model to a file called inventory_model.pkl, which is used later in the prediction phase.

[0825] Step 8:

[0826] Users upload their retail store's current sales data to the server, which uses the stored model to predict future sales trends based on this sales data.

[0827] Step 9:

[0828] The server calculates optimal inventory levels based on the sales trend forecast, sends the results to the terminal, and generates a proposal for inventory adjustment.

[0829] Step 10:

[0830] At the same time, the server uses an emotion engine to read and analyze the user's emotional data, including the user's facial expressions, tone of voice, and text input.

[0831] Step 11:

[0832] Based on the analysis results obtained from the emotion engine, the server optimizes the presentation of inventory adjustment suggestions according to the user's emotional state. For example, if the user is feeling anxious, it will provide detailed explanations of the suggestions or display messages that provide reassurance.

[0833] Step 12:

[0834] The device displays inventory adjustment suggestions optimized for the user's emotional state, and the user can review the suggestions and accept or adjust them as necessary.

[0835] Step 13:

[0836] If the user accepts the proposal, the proposed inventory adjustment will be implemented, thereby preventing overstocks and shortages and achieving efficient inventory management.

[0837] Through the above process, the present invention provides a highly accurate inventory management system that takes into account the emotional state of the user.

[0838] Example 2

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

[0840] Modern inventory management systems are required to efficiently analyze large amounts of sales data, but conventional systems do not take users' emotions into consideration, which often causes anxiety and stress for users, making it difficult for them to make appropriate decisions regarding the suggestions they receive from the system.

[0841] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for reading sales data, means for preprocessing the read data, means for defining features and target variables from the preprocessed data, means for dividing the features and target variables into training data and test data, means for training an AI model using the training data, means for saving the trained AI model, means for reading emotion data, means for analyzing the read emotion data, and means for optimizing user responses based on the analyzed emotion data. This enables efficient analysis of sales data while providing detailed responses that take user emotions into consideration.

[0842] "Sales data" refers to historical information about product sales at retail stores and other businesses, and specifically includes information such as sales date, product ID, price, and inventory quantity.

[0843] "Preprocessing" refers to the process of preparing data in an appropriate format before performing data analysis or learning, and specifically includes converting date data and filling in missing values.

[0844] "Features" refer to the attributes of data used for prediction and classification in machine learning models, and specifically include product ID, price, and inventory quantity.

[0845] A "target variable" refers to the attribute of data that is the target of prediction or classification in a machine learning model, and specifically includes sales volume.

[0846] "Training data" refers to a data set used to train a machine learning model.

[0847] "Test data" refers to a dataset used to evaluate the performance of a machine learning model.

[0848] An "AI model" refers to a mathematical or statistical algorithm built for machine learning or data analysis.

[0849] "Emotion data" refers to data that indicates the user's emotional state, and specifically includes information such as the user's facial expression, tone of voice, and text input.

[0850] "Emotion recognition" refers to the function of analyzing emotion data and determining the user's emotional state.

[0851] "User-responsive optimization" refers to tailoring the system's suggestions and presentation of information to users based on the user's emotional state.

[0852] The present invention is a system that combines efficient analysis of sales data and automation of appropriate inventory management with user emotion recognition functionality, as implemented in accordance with the following detailed description.

[0853] First, the user uploads a CSV file containing the retailer's past sales data to the server. Specifically, the user accesses the web interface and clicks the "Choose File" button that appears to select the CSV file. Then, the user clicks the "Upload" button to send the file to the server. This operation centralizes all sales data and prepares it for data analysis.

[0854] Next, the server receives the uploaded CSV file and converts it to a DataFrame using Python's pandas library. It then converts the sales date to a datetime type and fills in any missing values ​​with the value from the previous day. This formats the sales data in a way that is suitable for analysis.

[0855] Next, the server defines features (e.g., product ID, price, and inventory quantity) and a target variable (sales volume) from the preprocessed data. It then uses the train_test_split function from the scikit-learn library to split the data into training data and test data. The training data is used to train a machine learning model, and the test data is used to evaluate the model's performance.

[0856] The server trains an AI model on the training data using a random forest regression model. This model is implemented using the RandomForestRegressor from the scikit-learn library. The trained model is saved as inventory_model.pkl using the joblib library and used for future predictions.

[0857] Furthermore, the server utilizes an emotion engine (e.g., a general-purpose emotion recognition API) to implement emotion recognition functions. This emotion engine acquires emotion data from the user's facial expressions, tone of voice, text input, etc. The acquired emotion data is analyzed in real time to determine the user's current emotional state.

[0858] For example, if a user is feeling anxious or stressed while using an inventory management system, the emotion engine can detect that anxiety or stress and allow the server to respond based on the user's emotions, such as by providing more detailed explanations or presenting suggestions in a more understandable format.

[0859] With the support of the emotion engine, the user confirms whether to accept the inventory adjustments proposed by the server. The user can then make the necessary adjustments by following the system's instructions and selecting "Accept inventory adjustments" or "Change adjustments." This prevents overstocks and shortages and realizes efficient inventory management.

[0860] A typical prompt might look like this, assuming the user has the latest sales data:

[0861] Please upload the latest sales data (e.g., Q1 2023) to the server.

[0862] This allows the user to operate the system smoothly.

[0863] The above is an embodiment of the present invention. This system provides more accurate inventory management and user support by combining sales data analysis and emotion recognition functions.

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

[0865] Step 1:

[0866] The user uploads a CSV file containing sales data to the server.

[0867] Specifically, the user accesses the system's web interface using a web browser on the terminal, clicks the "Select File" button, selects the CSV file of sales data, and clicks the "Upload" button.

[0868] Input: Sales data CSV file (e.g., sales_data.csv)

[0869] Output: A CSV file is uploaded to the server, ready for data analysis.

[0870] Step 2:

[0871] The server receives the uploaded CSV file and reads it as a DataFrame using the pandas library.

[0872] Convert the sales date to datetime type, and if there are missing values, fill them with the value from the previous day.

[0873] Input: Uploaded CSV file

[0874] Output: Preprocessed data frame

[0875] Specifically, the data is read using pd.read_csv('sales_data.csv'), the date is converted using df['date'] = pd.to_datetime(df['date']), and missing values ​​are filled using df.fillna(method='ffill', inplace=True).

[0876] Step 3:

[0877] The server defines features (e.g., product ID, price, and inventory quantity) and target variables (sales volume) from the preprocessed data.

[0878] Next, we use scikit-learn's train_test_split function to split these into training and test data.

[0879] Input: Preprocessed data frame

[0880] Output: training data and test data

[0881] As a specific example, define the features as X = df[['product_id', 'price', 'stock']], define the target variable as y = df['sales_volume'], and split the data with train_test_split(X, y, test_size=0.2, random_state=42).

[0882] Step 4:

[0883] The server trains the AI ​​model on the training data using a random forest regression model.

[0884] To generate and train the model, we use scikit-learn's RandomForestRegressor.

[0885] Input: Training data (features and target variables)

[0886] Output: A trained AI model

[0887] Specifically, the model is initialized with RandomForestRegressor(n_estimators=100, random_state=42) and trained with model.fit(X_train, y_train).

[0888] Step 5:

[0889] The server uses the joblib library to save the trained AI model as a file.

[0890] Input: A trained AI model

[0891] Output: Saved AI model file (e.g. inventory_model.pkl)

[0892] Specifically, save the model with joblib.dump(model, 'inventory_model.pkl').

[0893] Step 6:

[0894] The server uses an emotion engine to read and analyze the user's emotion data, which is obtained from the user's facial expressions, tone of voice, text input, etc.

[0895] Input: User emotional data (facial expressions, tone of voice, text input)

[0896] Output: Parsed emotional state (e.g., stress, anxiety)

[0897] Specifically, the emotion engine API is called and data is obtained using emotion_data = EmotionAPI.get_user_emotion(user_id='user123').

[0898] Step 7:

[0899] The server optimizes user responses based on the analyzed emotional data. For example, if the user is feeling anxious or stressed, the server provides more detailed explanations and suggestions in an easy-to-understand format.

[0900] Input: Parsed emotional state

[0901] Output: Optimized user experience (e.g. detailed explanations, concise suggestions)

[0902] Specifically, it executes if emotion_data['emotion'] == 'stressed': and generates an appropriate response.

[0903] Step 8:

[0904] The user checks the inventory adjustments proposed by the server and makes adjustments as necessary. The user follows the system's instructions and makes choices such as "accept inventory adjustments" or "change adjustments."

[0905] Input: Inventory adjustment proposal from the server

[0906] Output: User confirms and makes inventory adjustments

[0907] Specifically, the user clicks an on-screen button to accept the suggestion or change the adjustment.

[0908] (Application example 2)

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

[0910] The challenge in inventory management systems is to achieve efficient and user-friendly inventory management by integrating two different elements: sales data analysis and user emotion recognition. In particular, by incorporating emotion recognition, we aim to achieve highly accurate inventory management while reducing stress and anxiety by proposing appropriate inventory adjustments according to the worker's situation.

[0911] The identification processing by the identification 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 reading sales data, means for preprocessing the read data, means for defining features and target variables from the preprocessed data, means for dividing the features and target variables into training data and test data, means for training an AI model using the training data, means for saving the trained AI model, means for analyzing user emotion data, means for proposing inventory adjustments based on the analyzed emotion data, and means for visually presenting the proposed inventory adjustments. This makes it possible to simultaneously perform high-precision analysis of sales data and suggestions based on the user's emotional state.

[0912] "Sales data" refers to a series of information related to product sales at retail stores and logistics centers, such as product names, sales dates and times, sales volumes, and inventory levels.

[0913] "Preprocessing" refers to a series of data processing processes to prepare sales data in a format suitable for analysis, such as converting dates and filling in missing values.

[0914] "Features" refer to each field of input data supplied to an AI model, specifically information such as past sales volume and inventory volume.

[0915] A "target variable" refers to a data field that is set as a predicted result. Specifically, future sales volume is often set as a target variable.

[0916] "Training data" refers to the dataset used to train an AI model, including features and target variables.

[0917] "Test data" refers to a dataset used to evaluate the performance of a trained AI model. It is a set that is different from the training data.

[0918] "AI model" refers to a mathematical model for making predictions or classifications based on artificial intelligence algorithms, including random forest regression models.

[0919] "Training" refers to the process of optimizing the parameters of an AI model using training data, which enables it to make highly accurate predictions.

[0920] "Emotional data" refers to information about emotions obtained from a user's facial expressions, tone of voice, text input, etc.

[0921] "Emotion recognition" refers to the process of analyzing emotional data to identify a user's current emotional state.

[0922] "Inventory adjustment" refers to the adjustment work carried out to keep inventory levels at an optimal level. It is suggested based on sales forecasts and user sentiment data.

[0923] "Visual presentation" refers to the means by which information is visually displayed to the user, such as smart glasses or a display.

[0924] The present invention is a system for improving the efficiency of inventory management in logistics centers, and by combining sales data analysis and user emotion recognition, it achieves highly accurate inventory adjustments while reducing worker stress. This system is realized through the following steps.

[0925] System Program

[0926] A program for analyzing sales data and recognizing user emotions in inventory management at a logistics center is configured as follows.

[0927] What the program does

[0928] The server first reads the shipping data. The sales data is uploaded to the server in the form of a CSV file provided by the retailer or distribution center. This data includes information on the items sold, the date and time, the quantity, etc.

[0929] Next, the server preprocesses the uploaded sales data, such as filling in missing values ​​with data from the previous day and converting sales dates to datetime data, thereby converting the data into an analyzable format.

[0930] Once preprocessing is complete, the server defines features and target variables from the data. Features include inventory volume, sales volume, season, etc., and sales volume is set as the target variable.

[0931] The feature and target variable data are split into training data and test data. The training data is used to train the AI ​​model, and the test data is used to evaluate the performance of the trained model.

[0932] Next, the server uses the training data to train an AI model. The model in question is a random forest regression model. This model combines multiple decision trees to make highly accurate predictions. The trained model is saved as a file (inventory_model.pkl).

[0933] Additionally, the server analyzes the user's emotional data, which includes facial expressions, tone of voice, and text input. The emotion recognition engine analyzes this data to determine whether the user is feeling anxious or stressed, or performing a task with confidence.

[0934] When a user accesses the inventory management system, the server analyzes their emotional data and makes suggestions for inventory adjustments based on the results. For example, if the user is stressed, the server provides a detailed explanation, and if the user is confident, the server suggests a quick adjustment.

[0935] Hardware and software used

[0936] Hardware: Servers, smart glasses (e.g. Google Glass, Vuzix Blade)

[0937] Software: pandas (data frame manipulation), sklearn (model definition and training), EmotionEngine (emotion recognition), pickle (model saving and loading)

[0938] Specific examples

[0939] The latest sales data is uploaded to the server as sales_data.csv. When a worker wearing smart glasses performs inventory management, the server uses an emotion recognition engine to analyze the user's emotions in real time and suggests inventory adjustments based on those emotions. The worker can then make inventory adjustments based on these suggestions.

[0940] Prompt Sentence Examples

[0941] "I would like to develop an application for smart glasses to be used in logistics centers. I am considering a system that optimizes inventory management by combining efficient analysis of sales data with emotion recognition functionality. Specifically, when a worker wearing the smart glasses is managing inventory, if they feel anxious or stressed, the system will provide a detailed explanation, and if they feel confident, the system will encourage them to make quick decisions. I would like a program to implement this in Python, along with a detailed explanation of the processing involved."

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

[0943] The processing flow of the program of the system that realizes the application example will be explained below by dividing it into specific processing steps.

[0944] Step 1:

[0945] The server reads the sales data (CSV file) uploaded by the user. The input is a CSV file, and the output is sales data in data frame format. In this process, the pandas module is used to read the CSV file as a data frame.

[0946] Step 2:

[0947] The server preprocesses the imported sales data. Specifically, it converts date fields to datetime data and imputes missing values ​​with the previous day's data. The input is the data frame obtained in step 1, and the output is the preprocessed data frame. The pandas module is used to impute missing data and convert dates.

[0948] Step 3:

[0949] The server defines features and target variables from the preprocessed data. Features include inventory, sales, season, etc., and sales volume is set as the target variable. The input is the data frame preprocessed in step 2, and the output is a dataset of features and target variables.

[0950] Step 4:

[0951] The server splits the features and target variables into training and test data. The input is the features and target variables defined in step 3, and the output is the split dataset into training and test data. Use sklearn.model_selection.train_test_split.

[0952] Step 5:

[0953] The server uses the training data to train an AI model. Specifically, it uses a random forest regression model. The input is the training data obtained in step 4, and the output is the trained AI model. The model is trained using sklearn.ensemble.RandomForestRegressor and saved using pickle.

[0954] Step 6:

[0955] The server collects and analyzes the user's emotional data, which includes facial expressions, tone of voice, and text input. The input is the emotional data collected from the user, and the output is the analysis result of the user's emotional state. It uses a virtual emotion recognition library called EmotionEngine.

[0956] Step 7:

[0957] The server proposes inventory adjustments based on the analyzed emotional data. Specifically, it provides a detailed explanation if the user is stressed, and a quick adjustment suggestion if the user is confident. The input is the emotional data analysis result from step 6 and the AI ​​model saved in step 5, and the output is the inventory adjustment suggestion.

[0958] Step 8:

[0959] The server visually presents the suggested inventory adjustments to a device such as smart glasses. The input is the suggestion generated in step 7, and the output is the visual suggestion displayed on the device. This suggestion is presented in a format that allows the user to review it in real time and take action if necessary.

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

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

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

[0963] [Fourth embodiment]

[0964] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

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

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

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

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

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

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

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

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

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

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

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

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

[0977] The present invention is a system for accurately and efficiently analyzing sales data and automating appropriate inventory management. This system is realized by following the following process.

[0978] First, the sales data is loaded. The user uploads a CSV file containing the retailer's past sales data to the server. This centralizes all sales data and prepares it for analysis.

[0979] The server then preprocesses the data read from the CSV file. This preprocessing includes converting the sales date to a datetime format and filling in missing values ​​with the values ​​from the previous day. This prepares the data in a format suitable for analysis.

[0980] Next, the server defines features and target variables from the preprocessed data. Specifically, sales volume is used as the target variable, and other information such as inventory is used as the feature. This generates a dataset suitable for the prediction model.

[0981] The server then splits the data into training data and test data: the training data is used to train a machine learning model, and the test data is used to evaluate the model's performance.

[0982] Next, the server trains an AI model based on the training data using a random forest regression model. This random forest regression model is effective for combining multiple decision trees to make highly accurate predictions. The server saves the trained model as inventory_model.pkl. The saved model is used in the subsequent prediction phase.

[0983] For example, when a user uploads their latest sales data to the server, the server uses the stored model to predict future sales trends. As a result, the server calculates optimal inventory levels and suggests inventory adjustments to the user via their device. This prevents overstocks and shortages and enables efficient inventory management.

[0984] Finally, the user can confirm whether to accept the inventory adjustment proposal provided through the terminal and make the necessary adjustments, thereby preventing unsold or out-of-stock items and improving business efficiency.

[0985] As described above, the present invention is a system that automates a series of processes from analyzing sales data to optimizing inventory management, thereby achieving efficient and accurate inventory management.

[0986] The processing flow will be explained below.

[0987] Step 1:

[0988] Users upload a CSV file containing their retail store's past sales data to the server, which centralizes all sales data and prepares it for analysis.

[0989] Step 2:

[0990] The server reads the uploaded CSV file, which contains information such as daily sales and inventory for each product. The read data is stored as a data frame.

[0991] Step 3:

[0992] The server converts the date column of the data frame to a datetime type and sets it as the index of the data frame. Furthermore, if there are missing values, it fills them with the values ​​from the previous day. This process prepares the data in a format suitable for analysis.

[0993] Step 4:

[0994] The server defines features and target variables from the preprocessed data. Specifically, it sets sales volume as the target variable and other information such as inventory and date and time as features.

[0995] Step 5:

[0996] The server divides the features (X) and target variables (y) into training data and test data, with 80% of the data allocated to training data and 20% to test data.

[0997] Step 6:

[0998] The server instantiates a random forest regression model and uses the training data (X_train, y_train) to train the AI ​​model, which combines multiple decision trees to achieve highly accurate predictions.

[0999] Step 7:

[1000] The server saves the trained model to a file called inventory_model.pkl, which is used later in the prediction phase.

[1001] Step 8:

[1002] When a user uploads new sales data to the server, the server uses the stored model to predict future sales trends.

[1003] Step 9:

[1004] The server calculates the optimal inventory level based on the forecast results and sends the results to the terminal, which displays this information to the user and provides suggestions for inventory adjustments.

[1005] Step 10:

[1006] The user can then confirm whether to accept the proposed inventory adjustments and make the necessary adjustments, thereby preventing overstocking or shortages and achieving efficient inventory management.

[1007] Example 1

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

[1009] In conventional inventory management systems, sales data analysis and inventory adjustments are often done manually, making it difficult to achieve efficient and accurate management. In particular, the lack of an automated system for predicting sales trends and proposing inventory adjustments makes it difficult to prevent inventory overstocks and shortages.

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

[1011] In this invention, the server includes a means for reading sales data, a means for preprocessing the read data, and a means for defining features and target variables from the preprocessed data, thereby enabling efficient centralized management and analysis of data.

[1012] The server also includes a means for dividing the feature quantities and target variables into training data and test data, a means for training an AI model based on the training data using a random forest regression model, and a means for saving the trained AI model, thereby enabling highly accurate sales trend predictions.

[1013] Furthermore, the server includes a means for predicting sales trends from new sales data using the stored AI model and proposing inventory adjustments, and a means for calculating optimal inventory levels based on the predicted sales trends and notifying the user of the inventory adjustment proposals, thereby preventing inventory overstocks and shortages and enabling efficient inventory management.

[1014] "Sales data" refers to information about product sales in the retail industry, and includes product IDs, sales dates, sales quantities, inventory quantities, and the like.

[1015] "Means of reading" refers to the method or mechanism by which the system obtains sales data provided by the user in file format or the like.

[1016] "Preprocessing means" refers to methods and mechanisms for converting and supplementing acquired sales data to prepare it in a format suitable for analysis.

[1017] "Features" refer to the items or attributes of input data that a machine learning model uses to make predictions.

[1018] The "target variable" refers to the target variable that the machine learning model is trying to predict, which in the present invention is "sales volume."

[1019] "Training data" refers to the portion of the data used to train a machine learning model.

[1020] "Test data" refers to a portion of the data used to evaluate the performance of a machine learning model.

[1021] A "random forest regression model" refers to a machine learning algorithm that can make highly accurate predictions by combining multiple decision trees.

[1022] "Training means" refers to the methods and mechanisms for providing training data to a machine learning model to improve its predictive accuracy.

[1023] "Means for storage" refers to the method or mechanism for storing the trained machine learning model in a storage device for later use.

[1024] "New sales data" refers to the latest sales information additionally provided by the user, separate from past sales data.

[1025] "Means for predicting sales trends" refers to methods or mechanisms for using stored AI models to predict future sales volumes from new sales data.

[1026] "Means for proposing inventory adjustment" refers to a method or mechanism for calculating optimal inventory levels based on predicted sales trends and proposing adjustment methods to users.

[1027] "Means for notifying" refers to a method or mechanism for communicating the calculated inventory adjustment proposal to the user.

[1028] This invention is a system for accurately and efficiently analyzing sales data and automating appropriate inventory management. This system operates mainly with a server, terminals, and users.

[1029] First, the user uploads a CSV file containing the retailer's past sales data to the server. The sales data uploaded by the user includes information such as product ID, sales date, sales quantity, and inventory quantity. This centralizes the sales data and prepares it for analysis.

[1030] Next, the server reads the uploaded CSV file and performs preprocessing on the data. This preprocessing includes converting the sales date to a datetime type and filling in missing values ​​with the value from the previous day. This formats the data in a suitable format for analysis. For the specific preprocessing, we use a Python data analysis library called Pandas.

[1031] From the preprocessed data, the server defines features and target variables. Sales volume is the target variable, and other information such as inventory is used as features. This creates a dataset suitable for a predictive model.

[1032] These datasets are split into training data and test data by the server. The training data is used to train the machine learning model, and the test data is used to evaluate the model's performance. This data split is also done using Pandas and Scikit-Learn, a Python machine learning library.

[1033] Next, the server trains an AI model based on the training data using a machine learning algorithm called a random forest regression model. The random forest regression model is effective for combining multiple decision trees to make highly accurate predictions. The trained model is saved as inventory_model.pkl. This saving is done using a Python library called Joblib.

[1034] For example, when a user uploads their latest sales data to the server, the server uses the stored model to predict future sales trends. Based on the predicted sales data, the optimal inventory level is calculated. As a result, suggestions for inventory adjustments are made to the user via their terminal. This prevents overstocking and shortages and enables efficient inventory management.

[1035] Finally, the user can confirm whether to accept the inventory adjustment proposal provided through the terminal and make the necessary adjustments, thereby preventing unsold or out-of-stock items and improving business efficiency.

[1036] Below are some example prompts for the generative AI model:

[1037] Upload a CSV file containing your retail store's past sales data to the server. The server preprocesses the data and uses a random forest regression model to predict future sales trends. For example, upload "2023_sales_data.csv" to generate inventory adjustment suggestions.

[1038] As described above, the present invention is a system that automates a series of processes from analyzing sales data to optimizing inventory management, thereby achieving efficient and accurate inventory management.

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

[1040] Step 1:

[1041] The user uploads a CSV file containing the retail store's past sales data to the server. The input for this step is the sales data file (e.g., 2023_sales_data.csv), and the output is a CSV file saved on the server. This allows for centralized management of sales data.

[1042] Step 2:

[1043] The server reads the uploaded CSV file. The input for this step is the CSV file stored on the server, and the output is the read data frame (using Pandas), which is then ready for data analysis.

[1044] Step 3:

[1045] The server preprocesses the loaded data. The input of this step is the loaded data frame, and the output is the preprocessed data frame. Specific operations include converting the sales date to a datetime type and imputing missing values ​​with the value from the previous day. This prepares the data in a format suitable for analysis.

[1046] Step 4:

[1047] The server defines features and target variables from the preprocessed data. The input of this step is the preprocessed data frame, and the output is a dataset of features (e.g., inventory quantity, sales price) and target variables (e.g., sales volume). This generates a dataset suitable for a predictive model.

[1048] Step 5:

[1049] The server splits these datasets into training and test data. The input to this step is a dataset of features and target variables, and the output is training and test data. This splitting is done using the Scikit-Learn library, which allows for model training and evaluation.

[1050] Step 6:

[1051] The server trains the AI ​​model on the training data using a random forest regression model. The input of this step is the training data, and the output is the trained machine learning model. This builds a model for prediction.

[1052] Step 7:

[1053] The server saves the trained AI model as inventory_model.pkl. The input of this step is the trained machine learning model, and the output is the saved model file, which allows the model to be reused in a later prediction phase.

[1054] Step 8:

[1055] The user uploads the latest sales data they have obtained to the server. The input of this step is a new sales data file (e.g., latest_sales_data.csv), and the output is a new sales data file saved on the server.

[1056] Step 9:

[1057] The server uses the saved model to predict future sales trends. The inputs for this step are new sales data and the saved model file, and the output is predicted sales trend data, which then predicts future demand.

[1058] Step 10:

[1059] The server calculates optimal inventory levels based on predicted sales data and makes inventory adjustment recommendations. The input for this step is predicted sales trend data, and the output is inventory adjustment recommendations. This makes it possible to prevent overstocking or shortages in advance.

[1060] Step 11:

[1061] The terminal notifies the user of the inventory adjustment proposal calculated by the server. The input of this step is the inventory adjustment proposal, and the output is a notification sent to the user, allowing the user to perform optimal inventory management.

[1062] Step 12:

[1063] The user confirms whether to accept the proposed inventory adjustments provided through the terminal and makes the necessary adjustments. The input of this step is the proposed inventory adjustments, and the output is the inventory adjustment actions taken by the user, which can improve business efficiency.

[1064] (Application example 1)

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

[1066] Conventional inventory management systems require complicated collection and analysis of sales data, and predicting appropriate inventory levels requires a great deal of effort and time. Furthermore, because inventory is manually adjusted by managers, human error is likely to occur, making efficient inventory management difficult. Therefore, there was a demand for a system that could automatically analyze sales data and perform efficient and accurate inventory management.

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

[1068] In this invention, the server includes means for reading sales data, means for preprocessing the read data, means for defining features and target variables from the preprocessed data, means for dividing the features and target variables into training data and test data, means for training an AI model using the training data, means for saving the trained AI model, means for predicting future sales trends using the AI ​​model, means for calculating inventory levels based on the prediction results and providing adjustment suggestions, and means for uploading sales data from a smartphone. This enables automatic analysis of sales data and prediction of future sales trends, enabling efficient and accurate inventory management.

[1069] "Sales data" is data that includes information regarding sales of goods and services.

[1070] "Reading means" refers to a method or device for inputting data into the system.

[1071] A "preprocessing means" is a method or device for shaping data into a form suitable for analysis.

[1072] "Features" are variables or indicators used as input data when creating a predictive model.

[1073] A "target variable" is a variable that represents a value or outcome that is predicted as the output of a predictive model.

[1074] "Training data" is the data set used to train an AI model.

[1075] "Test data" is a dataset used to evaluate the performance of an AI model.

[1076] An "AI model" is a model that uses machine learning algorithms to learn patterns and knowledge from data.

[1077] A "random forest regression model" is a machine learning algorithm that combines multiple decision trees to make highly accurate predictions.

[1078] "Storage means" refers to a method or device for storing a trained AI model within the system.

[1079] A "means for predicting future sales trends" is a method or device for predicting future sales and demand using an AI model.

[1080] A "means for calculating inventory levels" is a method or device for calculating appropriate inventory levels based on forecasted sales data.

[1081] The "means for providing adjustment suggestions" refers to a method or device for giving instructions or advice on inventory adjustments to a manager based on the calculated inventory level.

[1082] A "smartphone" is a portable communication device that has a variety of functions and is capable of running applications.

[1083] A "CSV file" is a comma-separated text data file, a format widely used for storing and exchanging data.

[1084] This invention is a system for efficiently analyzing sales data and automating appropriate inventory management. The system is mainly composed of a server, a terminal (such as a smartphone), and a user. The operation of each element will be specifically explained below.

[1085] The server first reads the sales data uploaded by the user in CSV file format. To achieve this, it uses a data analysis library such as Pandas. Next, it preprocesses the read data. In this preprocessing step, it converts the sales date data type to datetime and fills in missing data with the value from the previous day. This formats the data in a format suitable for analysis.

[1086] From the preprocessed data, the server defines features and target variables and divides the data into training data and test data. Specifically, sales volume is used as the target variable, and other information such as inventory is extracted as features. The training data is used to train the machine learning model, while the test data is used to evaluate the model's performance.

[1087] Next, the server uses a random forest regression model to train an AI model based on the training data. This model is implemented using a machine learning library such as Scikit-learn. The trained model is saved on the server as inventory_model.pkl. The saved model can be reused when analyzing future sales data.

[1088] When a user uploads new sales data, the server uses the stored AI model to predict future sales trends. Based on this prediction, the server calculates optimal inventory levels and makes adjustment suggestions. Specifically, specific instructions to prevent inventory overages or shortages are calculated based on the predicted sales volume data. This allows the server to provide inventory adjustment suggestions to the user via their device.

[1089] For example, when a user uploads new sales data from their smartphone, the data is instantly processed on the server side, and future sales forecasts and inventory adjustment suggestions are displayed on the smartphone application, allowing users to grasp inventory status in real time and take appropriate action promptly.

[1090] (Example of a prompt to input to a generative AI model)

[1091] "To streamline inventory management in physical stores, please create a program that uses sales data to predict future sales trends and calculate optimal inventory levels. This program uses Flask and allows you to upload a CSV file from your smartphone to perform data preprocessing, sales forecasting, and inventory adjustment suggestions."

[1092] As a result, the present invention provides a system that enables efficient and accurate inventory management through automatic analysis of sales data and prediction of future sales trends.

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

[1094] Step 1: Upload your sales data

[1095] The user uses a device (smartphone) to upload a CSV file containing sales data to the server. The input is a CSV file, and the output is data saved on the server. This includes specific operations such as file selection and uploading through the device's application.

[1096] Step 2: Loading sales data

[1097] The server reads the uploaded CSV file using the Pandas library. It takes the saved CSV file as input and gets a Pandas DataFrame object as output, which brings the sales data into the system.

[1098] Step 3: Preprocessing the data

[1099] The server preprocesses the data it reads. Here, it converts dates to datetime format and fills in missing data with values ​​from the previous day. The input is a Pandas DataFrame, and the output is a preprocessed DataFrame. Specific operations include the pandas.to_datetime() function and the fillna(method='ffill') function.

[1100] Step 4: Define features and target variables

[1101] The server defines features and target variables from the preprocessed data. Sales volume is the target variable, and other inventory information is extracted as features. The preprocessed DataFrame is used as input, and a DataFrame of features and target variables is obtained as output. Specifically, the DataFrame.drop() and DataFrame['target'] methods are used.

[1102] Step 5: Split the data

[1103] The server splits the features and target variables into training data and test data. The input is a DataFrame of the features and target variables, and the output is the training data and test data. Specifically, the train_test_split function is used.

[1104] Step 6: Training the AI ​​model

[1105] The server uses a random forest regression model to train an AI model based on training data. The input is the training data and features, and the output is a trained AI model. Specifically, the fit method of the RandomForestRegressor class is used.

[1106] Step 7: Save the trained model

[1107] The server saves the trained AI model using the pickle library. The input is the trained model, and the output is the saved model file. Specifically, the pickle.dump() method is used.

[1108] Step 8: Forecast sales trends

[1109] When a user uploads new sales data, the server loads the saved AI model and predicts sales trends. The new sales data is the input, and the prediction result is the output. Specifically, the predict method of the RandomForestRegressor class is used.

[1110] Step 9: Calculate inventory levels

[1111] The server calculates the optimal inventory level based on the prediction results. The input is the prediction result data, and the output is the optimal inventory level. Specifically, a simple calculation is performed based on the prediction results.

[1112] Step 10: Provide inventory adjustment suggestions

[1113] The server provides the terminal with a proposal for inventory adjustment based on the calculated inventory level. The optimal inventory level is the input, and the proposed adjustment is displayed on the terminal as the output. The proposal is notified to the user through the terminal application.

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

[1115] The present invention combines a user emotion recognition function with a system for efficiently analyzing sales data and automating appropriate inventory management. This system is realized through the following process.

[1116] First, the sales data is loaded. The user uploads a CSV file containing the retailer's past sales data to the server. This centralizes all sales data and prepares it for analysis.

[1117] The server then preprocesses the data read from the CSV file. Specifically, it converts the sales date to a datetime format and fills in any missing values ​​with the value from the previous day. This converts the data into a format suitable for analysis.

[1118] The server defines features and target variables from the preprocessed data. For example, it sets sales volume as the target variable and other inventory information as features. It then splits the features and target variables into training data and test data. The training data is used to train the AI ​​model, and the test data is used to evaluate the model's performance.

[1119] The server then trains an AI model on the training data using a random forest regression model. This model combines multiple decision trees to enable highly accurate predictions. The trained model is saved as inventory_model.pkl and is used in the subsequent prediction phase.

[1120] Furthermore, the present invention is a system incorporating emotion recognition functionality. The server uses an emotion engine to read and analyze the user's emotion data. This emotion data includes the user's facial expressions, tone of voice, and text input. The emotion engine analyzes this data and recognizes the user's current emotional state.

[1121] For example, if a user feels anxious or stressed while operating an inventory management system, the emotion engine can detect that anxiety or stress and allow the server to respond based on the user's emotions, such as by providing more detailed explanations of the suggestions or presenting them in a more understandable format.

[1122] Finally, with the support of the emotion engine, users can confirm whether they accept the suggested inventory adjustments and make the necessary adjustments, thereby preventing overstocks and shortages and achieving efficient inventory management.

[1123] As a specific example, when a user uploads their latest sales data to the server, the server uses the stored model to predict future sales trends. At the same time, the emotion engine recognizes the user's emotions and suggests optimal inventory adjustments based on those emotions. In this way, the present invention provides more accurate inventory management by combining sales data analysis and emotion recognition.

[1124] The processing flow will be explained below.

[1125] Step 1:

[1126] Users upload a CSV file containing their retail store's past sales data to the server, which centralizes all sales data and prepares it for analysis.

[1127] Step 2:

[1128] The server reads the uploaded CSV file, which contains information such as daily sales and inventory for each product. The read data is stored as a data frame.

[1129] Step 3:

[1130] The server converts the date column of the data frame to a datetime type and sets it as the index of the data frame. Furthermore, if there are missing values, it fills them with the values ​​from the previous day. This process prepares the data in a format suitable for analysis.

[1131] Step 4:

[1132] The server defines features and target variables from the preprocessed data. Specifically, it sets sales volume as the target variable and other information such as inventory and date and time as features.

[1133] Step 5:

[1134] The server divides the features (X) and target variables (y) into training data and test data, with 80% of the data allocated to training data and 20% to test data.

[1135] Step 6:

[1136] The server instantiates a random forest regression model and uses the training data (X_train, y_train) to train the AI ​​model, which combines multiple decision trees to achieve highly accurate predictions.

[1137] Step 7:

[1138] The server saves the trained model to a file called inventory_model.pkl, which is used later in the prediction phase.

[1139] Step 8:

[1140] Users upload their retail store's current sales data to the server, which uses the stored model to predict future sales trends based on this sales data.

[1141] Step 9:

[1142] The server calculates optimal inventory levels based on the sales trend forecast, sends the results to the terminal, and generates a proposal for inventory adjustment.

[1143] Step 10:

[1144] At the same time, the server uses an emotion engine to read and analyze the user's emotional data, including the user's facial expressions, tone of voice, and text input.

[1145] Step 11:

[1146] Based on the analysis results obtained from the emotion engine, the server optimizes the presentation of inventory adjustment suggestions according to the user's emotional state. For example, if the user is feeling anxious, it will provide detailed explanations of the suggestions or display messages that provide reassurance.

[1147] Step 12:

[1148] The device displays inventory adjustment suggestions optimized for the user's emotional state, and the user can review the suggestions and accept or adjust them as necessary.

[1149] Step 13:

[1150] If the user accepts the proposal, the proposed inventory adjustment will be implemented, thereby preventing overstocks and shortages and achieving efficient inventory management.

[1151] Through the above process, the present invention provides a highly accurate inventory management system that takes into account the emotional state of the user.

[1152] Example 2

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

[1154] Modern inventory management systems are required to efficiently analyze large amounts of sales data, but conventional systems do not take users' emotions into consideration, which often causes anxiety and stress for users, making it difficult for them to make appropriate decisions regarding the suggestions they receive from the system.

[1155] The identification process by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for reading sales data, means for preprocessing the read data, means for defining features and target variables from the preprocessed data, means for dividing the features and target variables into training data and test data, means for training an AI model using the training data, means for saving the trained AI model, means for reading emotion data, means for analyzing the read emotion data, and means for optimizing user responses based on the analyzed emotion data. This enables efficient analysis of sales data while providing detailed responses that take user emotions into consideration.

[1156] "Sales data" refers to historical information about product sales at retail stores and other businesses, and specifically includes information such as sales date, product ID, price, and inventory quantity.

[1157] "Preprocessing" refers to the process of preparing data in an appropriate format before performing data analysis or learning, and specifically includes converting date data and filling in missing values.

[1158] "Features" refer to the attributes of data used for prediction and classification in machine learning models, and specifically include product ID, price, and inventory quantity.

[1159] A "target variable" refers to the attribute of data that is the target of prediction or classification in a machine learning model, and specifically includes sales volume.

[1160] "Training data" refers to a data set used to train a machine learning model.

[1161] "Test data" refers to a dataset used to evaluate the performance of a machine learning model.

[1162] An "AI model" refers to a mathematical or statistical algorithm built for machine learning or data analysis.

[1163] "Emotion data" refers to data that indicates the user's emotional state, and specifically includes information such as the user's facial expression, tone of voice, and text input.

[1164] "Emotion recognition" refers to the function of analyzing emotion data and determining the user's emotional state.

[1165] "User-responsive optimization" refers to tailoring the system's suggestions and presentation of information to users based on the user's emotional state.

[1166] The present invention is a system that combines efficient analysis of sales data and automation of appropriate inventory management with user emotion recognition functionality, as implemented in accordance with the following detailed description.

[1167] First, the user uploads a CSV file containing the retailer's past sales data to the server. Specifically, the user accesses the web interface and clicks the "Choose File" button that appears to select the CSV file. Then, the user clicks the "Upload" button to send the file to the server. This operation centralizes all sales data and prepares it for data analysis.

[1168] Next, the server receives the uploaded CSV file and converts it to a DataFrame using Python's pandas library. It then converts the sales date to a datetime type and fills in any missing values ​​with the value from the previous day. This formats the sales data in a way that is suitable for analysis.

[1169] Next, the server defines features (e.g., product ID, price, and inventory quantity) and a target variable (sales volume) from the preprocessed data. It then uses the train_test_split function from the scikit-learn library to split the data into training data and test data. The training data is used to train a machine learning model, and the test data is used to evaluate the model's performance.

[1170] The server trains an AI model on the training data using a random forest regression model. This model is implemented using the RandomForestRegressor from the scikit-learn library. The trained model is saved as inventory_model.pkl using the joblib library and used for future predictions.

[1171] Furthermore, the server utilizes an emotion engine (e.g., a general-purpose emotion recognition API) to implement emotion recognition functions. This emotion engine acquires emotion data from the user's facial expressions, tone of voice, text input, etc. The acquired emotion data is analyzed in real time to determine the user's current emotional state.

[1172] For example, if a user is feeling anxious or stressed while using an inventory management system, the emotion engine can detect that anxiety or stress and allow the server to respond based on the user's emotions, such as by providing more detailed explanations or presenting suggestions in a more understandable format.

[1173] With the support of the emotion engine, the user confirms whether to accept the inventory adjustments proposed by the server. The user can then make the necessary adjustments by following the system's instructions and selecting "Accept inventory adjustments" or "Change adjustments." This prevents overstocks and shortages and realizes efficient inventory management.

[1174] A typical prompt might look like this, assuming the user has the latest sales data:

[1175] Please upload the latest sales data (e.g., Q1 2023) to the server.

[1176] This allows the user to operate the system smoothly.

[1177] The above is an embodiment of the present invention. This system provides more accurate inventory management and user support by combining sales data analysis and emotion recognition functions.

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

[1179] Step 1:

[1180] The user uploads a CSV file containing sales data to the server.

[1181] Specifically, the user accesses the system's web interface using a web browser on the terminal, clicks the "Select File" button, selects the CSV file of sales data, and clicks the "Upload" button.

[1182] Input: Sales data CSV file (e.g., sales_data.csv)

[1183] Output: A CSV file is uploaded to the server, ready for data analysis.

[1184] Step 2:

[1185] The server receives the uploaded CSV file and reads it as a DataFrame using the pandas library.

[1186] Convert the sales date to datetime type, and if there are missing values, fill them with the value from the previous day.

[1187] Input: Uploaded CSV file

[1188] Output: Preprocessed data frame

[1189] Specifically, the data is read using pd.read_csv('sales_data.csv'), the date is converted using df['date'] = pd.to_datetime(df['date']), and missing values ​​are filled using df.fillna(method='ffill', inplace=True).

[1190] Step 3:

[1191] The server defines features (e.g., product ID, price, and inventory quantity) and target variables (sales volume) from the preprocessed data.

[1192] Next, we use scikit-learn's train_test_split function to split these into training and test data.

[1193] Input: Preprocessed data frame

[1194] Output: training data and test data

[1195] As a specific example, define the features as X = df[['product_id', 'price', 'stock']], define the target variable as y = df['sales_volume'], and split the data with train_test_split(X, y, test_size=0.2, random_state=42).

[1196] Step 4:

[1197] The server trains the AI ​​model on the training data using a random forest regression model.

[1198] To generate and train the model, we use scikit-learn's RandomForestRegressor.

[1199] Input: Training data (features and target variables)

[1200] Output: A trained AI model

[1201] Specifically, the model is initialized with RandomForestRegressor(n_estimators=100, random_state=42) and trained with model.fit(X_train, y_train).

[1202] Step 5:

[1203] The server uses the joblib library to save the trained AI model as a file.

[1204] Input: A trained AI model

[1205] Output: Saved AI model file (e.g. inventory_model.pkl)

[1206] Specifically, save the model with joblib.dump(model, 'inventory_model.pkl').

[1207] Step 6:

[1208] The server uses an emotion engine to read and analyze the user's emotion data, which is obtained from the user's facial expressions, tone of voice, text input, etc.

[1209] Input: User emotional data (facial expressions, tone of voice, text input)

[1210] Output: Parsed emotional state (e.g., stress, anxiety)

[1211] Specifically, the emotion engine API is called and data is obtained using emotion_data = EmotionAPI.get_user_emotion(user_id='user123').

[1212] Step 7:

[1213] The server optimizes user responses based on the analyzed emotional data. For example, if the user is feeling anxious or stressed, the server provides more detailed explanations and suggestions in an easy-to-understand format.

[1214] Input: Parsed emotional state

[1215] Output: Optimized user experience (e.g. detailed explanations, concise suggestions)

[1216] Specifically, it executes if emotion_data['emotion'] == 'stressed': and generates an appropriate response.

[1217] Step 8:

[1218] The user checks the inventory adjustments proposed by the server and makes adjustments as necessary. The user follows the system's instructions and makes choices such as "accept inventory adjustments" or "change adjustments."

[1219] Input: Inventory adjustment proposal from the server

[1220] Output: User confirms and makes inventory adjustments

[1221] Specifically, the user clicks an on-screen button to accept the suggestion or change the adjustment.

[1222] (Application example 2)

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

[1224] The challenge in inventory management systems is to achieve efficient and user-friendly inventory management by integrating two different elements: sales data analysis and user emotion recognition. In particular, by incorporating emotion recognition, we aim to achieve highly accurate inventory management while reducing stress and anxiety by proposing appropriate inventory adjustments according to the worker's situation.

[1225] The identification processing by the identification 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 reading sales data, means for preprocessing the read data, means for defining features and target variables from the preprocessed data, means for dividing the features and target variables into training data and test data, means for training an AI model using the training data, means for saving the trained AI model, means for analyzing user emotion data, means for proposing inventory adjustments based on the analyzed emotion data, and means for visually presenting the proposed inventory adjustments. This makes it possible to simultaneously perform high-precision analysis of sales data and suggestions based on the user's emotional state.

[1226] "Sales data" refers to a series of information related to product sales at retail stores and logistics centers, such as product names, sales dates and times, sales volumes, and inventory levels.

[1227] "Preprocessing" refers to a series of data processing processes to prepare sales data in a format suitable for analysis, such as converting dates and filling in missing values.

[1228] "Features" refer to each field of input data supplied to an AI model, specifically information such as past sales volume and inventory volume.

[1229] A "target variable" refers to a data field that is set as a predicted result. Specifically, future sales volume is often set as a target variable.

[1230] "Training data" refers to the dataset used to train an AI model, including features and target variables.

[1231] "Test data" refers to a dataset used to evaluate the performance of a trained AI model. It is a set that is different from the training data.

[1232] "AI model" refers to a mathematical model for making predictions or classifications based on artificial intelligence algorithms, including random forest regression models.

[1233] "Training" refers to the process of optimizing the parameters of an AI model using training data, which enables it to make highly accurate predictions.

[1234] "Emotional data" refers to information about emotions obtained from a user's facial expressions, tone of voice, text input, etc.

[1235] "Emotion recognition" refers to the process of analyzing emotional data to identify a user's current emotional state.

[1236] "Inventory adjustment" refers to the adjustment work carried out to keep inventory levels at an optimal level. It is suggested based on sales forecasts and user sentiment data.

[1237] "Visual presentation" refers to the means by which information is visually displayed to the user, such as smart glasses or a display.

[1238] The present invention is a system for improving the efficiency of inventory management in logistics centers, and by combining sales data analysis and user emotion recognition, it achieves highly accurate inventory adjustments while reducing worker stress. This system is realized through the following steps.

[1239] System Program

[1240] A program for analyzing sales data and recognizing user emotions in inventory management at a logistics center is configured as follows.

[1241] What the program does

[1242] The server first reads the shipping data. The sales data is uploaded to the server in the form of a CSV file provided by the retailer or distribution center. This data includes information on the items sold, the date and time, the quantity, etc.

[1243] Next, the server preprocesses the uploaded sales data, such as filling in missing values ​​with data from the previous day and converting sales dates to datetime data, thereby converting the data into an analyzable format.

[1244] Once preprocessing is complete, the server defines features and target variables from the data. Features include inventory volume, sales volume, season, etc., and sales volume is set as the target variable.

[1245] The feature and target variable data are split into training data and test data. The training data is used to train the AI ​​model, and the test data is used to evaluate the performance of the trained model.

[1246] Next, the server uses the training data to train an AI model. The model in question is a random forest regression model. This model combines multiple decision trees to make highly accurate predictions. The trained model is saved as a file (inventory_model.pkl).

[1247] Additionally, the server analyzes the user's emotional data, which includes facial expressions, tone of voice, and text input. The emotion recognition engine analyzes this data to determine whether the user is feeling anxious or stressed, or performing a task with confidence.

[1248] When a user accesses the inventory management system, the server analyzes their emotional data and makes suggestions for inventory adjustments based on the results. For example, if the user is stressed, the server provides a detailed explanation, and if the user is confident, the server suggests a quick adjustment.

[1249] Hardware and software used

[1250] Hardware: Servers, smart glasses (e.g. Google Glass, Vuzix Blade)

[1251] Software: pandas (data frame manipulation), sklearn (model definition and training), EmotionEngine (emotion recognition), pickle (model saving and loading)

[1252] Specific examples

[1253] The latest sales data is uploaded to the server as sales_data.csv. When a worker wearing smart glasses performs inventory management, the server uses an emotion recognition engine to analyze the user's emotions in real time and suggests inventory adjustments based on those emotions. The worker can then make inventory adjustments based on these suggestions.

[1254] Prompt Sentence Examples

[1255] "I would like to develop an application for smart glasses to be used in logistics centers. I am considering a system that optimizes inventory management by combining efficient analysis of sales data with emotion recognition functionality. Specifically, when a worker wearing the smart glasses is managing inventory, if they feel anxious or stressed, the system will provide a detailed explanation, and if they feel confident, the system will encourage them to make quick decisions. I would like a program to implement this in Python, along with a detailed explanation of the processing involved."

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

[1257] The processing flow of the program of the system that realizes the application example will be explained below by dividing it into specific processing steps.

[1258] Step 1:

[1259] The server reads the sales data (CSV file) uploaded by the user. The input is a CSV file, and the output is sales data in data frame format. In this process, the pandas module is used to read the CSV file as a data frame.

[1260] Step 2:

[1261] The server preprocesses the imported sales data. Specifically, it converts date fields to datetime data and imputes missing values ​​with the previous day's data. The input is the data frame obtained in step 1, and the output is the preprocessed data frame. The pandas module is used to impute missing data and convert dates.

[1262] Step 3:

[1263] The server defines features and target variables from the preprocessed data. Features include inventory, sales, season, etc., and sales volume is set as the target variable. The input is the data frame preprocessed in step 2, and the output is a dataset of features and target variables.

[1264] Step 4:

[1265] The server splits the features and target variables into training and test data. The input is the features and target variables defined in step 3, and the output is the split dataset into training and test data. Use sklearn.model_selection.train_test_split.

[1266] Step 5:

[1267] The server uses the training data to train an AI model. Specifically, it uses a random forest regression model. The input is the training data obtained in step 4, and the output is the trained AI model. The model is trained using sklearn.ensemble.RandomForestRegressor and saved using pickle.

[1268] Step 6:

[1269] The server collects and analyzes the user's emotional data, which includes facial expressions, tone of voice, and text input. The input is the emotional data collected from the user, and the output is the analysis result of the user's emotional state. It uses a virtual emotion recognition library called EmotionEngine.

[1270] Step 7:

[1271] The server proposes inventory adjustments based on the analyzed emotional data. Specifically, it provides a detailed explanation if the user is stressed, and a quick adjustment suggestion if the user is confident. The input is the emotional data analysis result from step 6 and the AI ​​model saved in step 5, and the output is the inventory adjustment suggestion.

[1272] Step 8:

[1273] The server visually presents the suggested inventory adjustments to a device such as smart glasses. The input is the suggestion generated in step 7, and the output is the visual suggestion displayed on the device. This suggestion is presented in a format that allows the user to review it in real time and take action if necessary.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[1295] The following is further disclosed regarding the above embodiment.

[1296] (Claim 1)

[1297] a means for reading sales data;

[1298] A means for preprocessing the loaded data;

[1299] A means of defining features and target variables from the preprocessed data;

[1300] A means of splitting the features and target variables into training and test data;

[1301] a means for training an AI model using the training data; and

[1302] A system including a means for storing a trained AI model.

[1303] (Claim 2)

[1304] 2. The system of claim 1, wherein missing values ​​in the sales data are imputed with values ​​from the previous day.

[1305] (Claim 3)

[1306] 10. The system of claim 1, wherein the AI ​​model is trained using a random forest regression model.

[1307] "Example 1"

[1308] (Claim 1)

[1309] a means for reading sales data;

[1310] A means for preprocessing the loaded data;

[1311] A means of defining features and target variables from the preprocessed data;

[1312] A means of splitting the features and target variables into training and test data;

[1313] A means for training an AI model on training data using a random forest regression model;

[1314] A means of storing the trained AI model; and

[1315] A method to use the saved AI model to predict sales trends from new sales data and make inventory adjustment suggestions;

[1316] The system includes a means for calculating optimal inventory levels based on predicted sales trends and notifying the user of suggested inventory adjustments.

[1317] (Claim 2)

[1318] 2. The system of claim 1, wherein missing values ​​in the sales data are imputed with values ​​from the previous day.

[1319] (Claim 3)

[1320] 10. The system of claim 1, wherein the system uses the stored AI model to predict sales trends based on new sales data uploaded by the user.

[1321] "Application Example 1"

[1322] (Claim 1)

[1323] a means for reading sales data;

[1324] A means for preprocessing the loaded data;

[1325] A means of defining features and target variables from the preprocessed data;

[1326] A means of splitting the features and target variables into training and test data;

[1327] a means for training an AI model using the training data; and

[1328] A means of storing the trained AI model; and

[1329] A means of predicting future sales trends using AI models,

[1330] means for calculating inventory levels and providing adjustment suggestions based on the forecast results;

[1331] The system includes a means for uploading sales data from a smartphone.

[1332] (Claim 2)

[1333] 2. The system of claim 1, wherein missing values ​​in the sales data are imputed with values ​​from the previous day.

[1334] (Claim 3)

[1335] 10. The system of claim 1, wherein the AI ​​model is trained using a random forest regression model.

[1336] "Example 2: Combining Emotion Engines"

[1337] (Claim 1)

[1338] a means for reading sales data;

[1339] A means for preprocessing the loaded data;

[1340] A means of defining features and target variables from the preprocessed data;

[1341] A means of splitting the features and target variables into training and test data;

[1342] a means for training an AI model using the training data; and

[1343] A means of storing the trained AI model; and

[1344] a means for reading emotion data;

[1345] A means for analyzing the read emotion data;

[1346] The system includes means for optimizing user responses based on the analyzed emotion data.

[1347] (Claim 2)

[1348] 2. The system of claim 1, wherein missing values ​​in the sales data are imputed with values ​​from the previous day.

[1349] (Claim 3)

[1350] 10. The system of claim 1, wherein the AI ​​model is trained using a random forest regression model.

[1351] (Claim 4)

[1352] 10. The system of claim 1, wherein emotion data is obtained from a user's facial expression, tone of voice, and text input.

[1353] "Application example 2 when combining emotion engines"

[1354] (Claim 1)

[1355] a means for reading sales data;

[1356] A means for preprocessing the loaded data;

[1357] A means of defining features and target variables from the preprocessed data;

[1358] A means of splitting the features and target variables into training and test data;

[1359] a means for training an AI model using the training data; and

[1360] A means of storing the trained AI model; and

[1361] means for analyzing user emotion data;

[1362] A means for suggesting inventory adjustments based on the analyzed emotion data;

[1363] The system includes a means for visually presenting proposed inventory adjustments.

[1364] (Claim 2)

[1365] 2. The system of claim 1, wherein missing values ​​in the sales data are imputed with values ​​from the previous day.

[1366] (Claim 3)

[1367] 10. The system of claim 1, wherein the AI ​​model is trained using a random forest regression model. [Explanation of symbols]

[1368] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. a means for reading sales data; A means for preprocessing the loaded data; A means of defining features and target variables from the preprocessed data; A means of splitting the features and target variables into training and test data; a means for training an AI model using the training data; and A system including a means for storing a trained AI model.

2. The system according to claim 1 , wherein missing values ​​in the sales data are imputed with values ​​from the previous day.

3. 10. The system of claim 1, wherein the AI ​​model is trained using a random forest regression model.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A