system
The system automates data analysis by reading, preprocessing, training, predicting, and visualizing data to address inefficiencies and inaccuracies in scientific research, enhancing accuracy and efficiency.
Patent Information
- Application Number
- JP2024140242
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-21
- Publication Date
- 2026-03-06
AI Technical Summary
Current scientific research faces inefficiencies and inaccuracies in data analysis processes, particularly in fields like physics, chemistry, and life sciences, due to the labor-intensive and error-prone nature of manual data handling and analysis, which lacks specialized knowledge integration.
A system that automates data analysis by reading, preprocessing, splitting, training, predicting, evaluating, and visualizing data using a linear regression model, with features for removing missing values and calculating mean squared error (MSE) to enhance accuracy and efficiency.
Enables efficient and accurate data analysis by automating complex processes, improving data quality, and providing intuitive visualization, thereby accelerating research progress.
Smart Images

Figure 2026037217000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Current scientific research requires efficient analysis of large amounts of data to uncover useful insights. However, manually performing the entire process, from data loading and preprocessing to model training, prediction, evaluation, and visualization, is not only time-consuming and labor-intensive, but also introduces the risk of human error. In particular, when complex data analysis is required in fields such as physics, chemistry, and life sciences, there is a lack of efficient and accurate methods for obtaining results. Furthermore, because specialized knowledge in each research field is required, systems that allow for easy data handling are needed. [Means for solving the problem]
[0005] To solve this problem, the present invention provides the following solutions. First, the system includes a means for reading data, allowing it to input research data files in CSV format. Next, the system includes a means for preprocessing the read data, improving data quality by removing missing values. Furthermore, the system includes a means for splitting the preprocessed data into features and targets, thereby establishing a foundation for data analysis. Then, the system includes a means for splitting the features and targets into training data and test data, enabling efficient data analysis. The system includes a means for training a model using the training data, using a linear regression model as a concrete example. The system also includes a means for making predictions on test data using the trained model, a means for evaluating the prediction results using mean squared error (MSE), and a means for visualizing the prediction results, providing intuitive and clear information to users. This enables users to perform efficient and accurate data analysis in scientific research.
[0006] "Means for reading data" refers to a function for importing research data files such as CSV format into the system.
[0007] The "means for preprocessing the read data" is a processing function for improving the quality of the data, such as by removing missing values.
[0008] "Means for splitting preprocessed data into features and targets" is a function that splits a dataset into a feature (independent variable) part that is the subject of analysis and a target (dependent variable) part that shows the results.
[0009] "Means for dividing features and targets into training data and test data" is a function that divides a dataset into data for learning a model (training data) and data for verifying the model (test data).
[0010] The "means for learning a model using training data" is a function for constructing an analytical model using training data through a machine learning algorithm.
[0011] "Means for making predictions on test data using a trained model" is a function that uses a trained model to predict results based on test data.
[0012] "Means for evaluating prediction results" refers to a function that evaluates the accuracy of prediction results using indicators such as mean square error (MSE).
[0013] "Means for visualizing prediction results" refers to a function that visually displays prediction results and actual values in the form of a scatter plot or the like.
[0014] "Missing values" refer to parts of a dataset that are missing values, which, if left as is, would hinder analysis.
[0015] A "linear regression model" is a regression analysis method that finds the best-fit line for given data and is used to calculate predicted values.
[0016] "Mean squared error (MSE)" is the average of the squares of the errors between the predicted value and the actual value, and is an indicator for measuring the accuracy of a prediction model. [Brief explanation of the drawings]
[0017] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6]FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0018] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0019] First, the terms used in the following description will be explained.
[0020] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0021] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0022] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0023] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0028] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0029] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0030] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0032] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0035] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0036] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0037] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0038] This invention relates to a generative AI system for streamlining the analysis of large amounts of data in scientific research. Specifically, it automates a series of processes from data reading to preprocessing, model learning, prediction, evaluation, and visualization.
[0039] Program processing
[0040] Data loading
[0041] The server reads the CSV-formatted data file provided by the researcher. The data contains multiple features (independent variables) and a target variable (dependent variable). This process allows researchers to start analysis simply by inputting the data into the system.
[0042] Data Preprocessing
[0043] The server performs preprocessing on the loaded data. Specifically, it removes rows containing missing values and improves the quality of the data, enabling highly accurate analysis.
[0044] Splitting features and targets
[0045] Next, the server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. At this stage, the data is formatted for analysis.
[0046] Splitting the data into training and test
[0047] The server splits the features and targets into training and test data, typically 80% as training data and 20% as test data, which prepares the model for efficient training and evaluation.
[0048] Model training
[0049] The server uses the training data to train the model. For example, in the case of a linear regression model, the server finds the best fit regression line based on the training data. The trained model captures patterns in the training data and has the ability to predict new data.
[0050] prediction
[0051] Using the trained model, the server makes predictions on the test data, which is an important step to see how well the model generalizes.
[0052] evaluation
[0053] The server calculates the mean square error (MSE) to evaluate the accuracy of the prediction results. MSE is the root mean square of the error between the predicted value and the actual value, and a smaller value indicates a higher accuracy of the model.
[0054] Visualizing the results
[0055] Finally, the server visually displays the predicted results and actual values, using scatter plots and other methods to intuitively show how well the predicted values match the actual values, allowing researchers to easily evaluate the performance of the model.
[0056] Specific examples
[0057] For example, if a user wants to perform data analysis to predict the diagnosis of a specific disease in the life sciences field, they upload patient data in CSV format to a server. The server automatically reads the data, removes missing values, splits it, and trains a model. The trained model is then used to predict the diagnosis of new patient data and presents the results to the user. This series of processes allows users to obtain highly accurate predictions without much effort.
[0058] This invention allows researchers to improve the efficiency of data analysis at any stage, enabling them to advance their research more quickly. Furthermore, this system is flexible enough to be applied to different research fields, providing a highly versatile data analysis platform.
[0059] The processing flow will be explained below.
[0060] Step 1:
[0061] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server reads the CSV file as a DataFrame using the Pandas library.
[0062] Step 2:
[0063] The server performs preprocessing on the loaded data, which includes removing rows containing missing values. The server uses the dropna() method to remove rows containing missing values (NaN) from the DataFrame.
[0064] Step 3:
[0065] The server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[0066] Step 4:
[0067] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[0068] Step 5:
[0069] The server learns the model using the training data. For example, for a linear regression model, the server instantiates the LinearRegression class and uses the fit method to learn the model from the training data.
[0070] Step 6:
[0071] The server uses the trained model to make predictions on the test data. The server uses the trained model's predict method to make predictions based on the test dataset.
[0072] Step 7:
[0073] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted value and the actual value and displays the result on the console.
[0074] Step 8:
[0075] The server creates a scatter plot to visually display the predicted results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values. This scatter plot allows users to intuitively understand the performance of the model.
[0076] Example 1
[0077] 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."
[0078] Modern scientific research demands efficient methods for analyzing large amounts of data. However, traditional data analysis methods are complex, making it difficult to streamline the entire process, including data loading, preprocessing, model training, prediction, evaluation, and visualization. This forces researchers to spend a lot of time analyzing data, which can slow down the progress of research. Furthermore, inaccurate data preprocessing and model evaluation can lead to a decrease in the reliability of analysis results. To address these challenges, a system for efficient and accurate data analysis is needed.
[0079] 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.
[0080] In this invention, the server includes means for reading data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for training an analytical model using the training data, means for making predictions on test data using the trained analytical model, means for evaluating the prediction results, and means for visualizing the prediction results, thereby making it possible to streamline the entire data analysis process in scientific research and quickly obtain high-quality analytical results.
[0081] "Reading data" means that the server receives tabular data provided by the user and takes it into the server for analysis.
[0082] "Preprocessing the read data" means removing missing information and other cleaning processes to improve the quality of the data taken in by the server.
[0083] "Splitting preprocessed data into features and targets" means that the server splits the preprocessed data into explanatory variables and target variables in order to put it in a format suitable for analysis.
[0084] "Splitting features and targets into training data and test data" means splitting the data into learning data and evaluation data so that the server can evaluate the accuracy of the analysis.
[0085] "Learning an analytical model using training data" means that the server uses the training data to optimize the analytical model and build a model with predictive power.
[0086] "Making predictions on test data using a trained analytical model" means that the server uses a trained analytical model to make predictions on test data.
[0087] "Evaluating the prediction results" means that the server numerically evaluates the accuracy of the prediction results and confirms the performance of the model.
[0088] "Visualizing the prediction results" means that the server visually displays the prediction results so that the user can intuitively understand the analysis results.
[0089] "Tabular data" refers to a data file that is structured in a column-and-row format.
[0090] "Missing information removal" refers to the process of removing missing information in a dataset to improve the quality of the data.
[0091] A "regression analysis model" is an analytical method for capturing the relationships between numerical data, and refers to a mathematical model for predicting a dependent variable from an explanatory variable.
[0092] "Users providing data for analysis" refers to the act of researchers or end users uploading data to be analyzed to the system.
[0093] "The system analyzes analytical data" means that the system performs a series of data processing and analytical procedures to generate analytical results.
[0094] "The system presents the results to the user" means that the system visualizes the results of the analysis and provides them to the user in a format that can be intuitively understood.
[0095] This invention relates to a generative AI system for streamlining the analysis of large amounts of data in scientific research. Specifically, it automates a series of processes from data reading to preprocessing, model learning, prediction, evaluation, and visualization.
[0096] The program for this system is designed to enable researchers to quickly carry out data analysis, and is primarily a system that works in cooperation between a server, terminals, and users.
[0097] First, the user uploads a CSV data file to the server using the terminal, and the server reads this data using the Pandas library, which allows efficient ingestion of tabular data provided by the user.
[0098] The server then preprocesses the loaded data, using the Pandas library to remove rows containing missing values and perform cleaning to improve the quality of the data, thereby improving the accuracy of the analysis.
[0099] Once preprocessing is complete, the server splits the data into features (explanatory variables) and targets (target variables). At this stage, the NumPy library is used. The split data is then formatted for analysis.
[0100] Next, the server splits the features and targets into training and test data using the train_test_split function from the Scikit-learn library, preparing the data for efficient training and evaluation.
[0101] For the training data, the server trains a linear regression model using Scikit-learn's LinearRegression class, allowing the model to learn patterns in the data and have predictive power for new data.
[0102] The trained model is used to make predictions on test data. The server inputs the test data into the model and obtains prediction results, which allow us to check the model's generalization performance.
[0103] The prediction results are evaluated using the mean squared error (MSE). The server calculates this metric using the mean_squared_error function in Scikit-learn to evaluate the accuracy of the model.
[0104] Finally, the server visually displays the predicted results and actual values, using the Matplotlib library to generate scatter plots and other visualizations to help users intuitively understand the results.
[0105] As a specific example, if a user wants to perform data analysis to predict the diagnosis of a particular disease in the field of life science, the user operates as follows.
[0106] First, the user uploads patient data in CSV format to the server. The server automatically reads the data, removes missing values, and splits it into features and targets. Next, the server splits the data into training and test data and trains a linear regression model. Finally, the trained model is used to predict diagnoses for new patient data and the results are presented to the user. This series of processes allows users to obtain highly accurate predictions without much effort.
[0107] An example of a prompt sentence might be:
[0108] Load the following CSV data and perform predictions using a linear regression model. Delete rows containing missing values and split the data into 80% training data and 20% test data. Complete the entire process, from loading the data to visualizing the results.
[0109] CSV data (example):
[0110] age, gender, blood_pressure, cholesterol, target
[0111] 54, male, 130, 220, 1
[0112] 45, female, 115, 210, 0
[0113] ...
[0114] By using the above prompts, users can issue specific instructions to the system, and the server will execute the entire data analysis process according to those instructions, allowing researchers to proceed with data analysis efficiently.
[0115] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0116] Step 1:
[0117] The server reads a CSV-formatted data file uploaded by the user. The input is a CSV file, and the output is a Pandas data frame. Specifically, the server uses the Pandas library to read the data file into memory as a data frame. This operation prepares the tabular data provided by the user for analysis.
[0118] Step 2:
[0119] The server performs preprocessing on the loaded data. Specifically, it checks for missing values in the CSV file and removes rows containing missing values. The input is the loaded data frame, and the output is a clean data frame with missing values removed. The server achieves this by using the dropna function in Pandas, which improves the quality of the data used for analysis.
[0120] Step 3:
[0121] The server splits the preprocessed data into features (explanatory variables) and targets (objective variables). The input is a preprocessed data frame, and the output is two data frames: feature data and target data. Specifically, the server uses Pandas to select specific columns and split the data into feature data and target data. This operation prepares the data in a format suitable for model training.
[0122] Step 4:
[0123] The server splits the feature data and target data into training data and test data. The input is the feature data and target data, and the output is the training dataset and test dataset. Specifically, the server splits the data using Scikit-learn's train_test_split function. This operation prepares the data for efficient model training and evaluation.
[0124] Step 5:
[0125] The server uses the training data to train an analytical model. The input is the training feature data (X_train) and target data (y_train), and the output is the trained model. Specifically, the server trains a linear regression model using Scikit-learn's LinearRegression class. This operation builds a model that captures patterns in the data.
[0126] Step 6:
[0127] The server uses the trained analytical model to make predictions on test data. The input is the test feature data (X_test), and the output is the prediction result. Specifically, the server uses the trained model to calculate the predicted value for the test data. This operation provides the prediction result for evaluating the generalization performance of the model.
[0128] Step 7:
[0129] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The input is the prediction result and the actual target data (y_test), and the output is the MSE evaluation value. Specifically, the server calculates the MSE using the mean_squared_error function of Scikit-learn. This operation numerically evaluates the performance of the model.
[0130] Step 8:
[0131] The server visually displays the predicted results and actual values. The input is the predicted results and actual target data, and the output is a visualized graph such as a scatter plot. Specifically, the server uses the Matplotlib library to generate a scatter plot and draw a graph comparing the predicted values and actual values. This operation allows the user to intuitively understand the predictive accuracy of the model.
[0132] (Application example 1)
[0133] 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."
[0134] In the field of network security, there is a demand for real-time network traffic monitoring and rapid detection of suspicious behavior. However, it is extremely difficult to efficiently analyze large amounts of network data and immediately identify potential threats. Furthermore, in existing systems, processes such as data preprocessing, model training, and evaluation are often performed manually, resulting in a high workload. The present invention aims to solve these problems and provide an efficient data analysis system for strengthening network security.
[0135] 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.
[0136] In this invention, the server includes means for reading data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for learning a model using the training data, means for making predictions on test data using the learned model, means for evaluating the prediction results, means for visualizing the prediction results, means for monitoring network traffic data in real time, means for automatically detecting potential threats, and means for notifying a user of an alert when a threat is detected. This makes it possible to monitor network traffic in real time and automatically and quickly detect potential threats.
[0137] Below are definitions of important words included in the claims created for application examples.
[0138] "Means for reading data" refers to the process of capturing network traffic data in file format onto the server.
[0139] "Means for preprocessing the loaded data" refers to the process of removing missing values and unnecessary information in order to improve the quality of the data.
[0140] "Means for dividing preprocessed data into features and targets" refers to the process of classifying data into explanatory variables (features) and objective variables (targets) required for analysis.
[0141] "Means for splitting features and targets into training data and test data" refers to the process of splitting a dataset into training data used to train a model and test data used to evaluate the performance of the model.
[0142] "Means of learning a model using training data" refers to the process of training a machine learning model using training data to learn patterns and regularities.
[0143] "Means for making predictions on test data using a trained model" refers to the process of making predictions on test data using a trained model and evaluating the performance of the model.
[0144] "Means for evaluating predicted results" refers to the process of comparing predicted results with actual results and numerically evaluating the accuracy and performance of the model.
[0145] "Visualization of predicted results" is the process of creating graphs and charts to visually represent predicted and actual results.
[0146] "Means for monitoring network traffic data in real time" refers to the process of monitoring data communications on a network in real time and continuously.
[0147] "Means for automatically detecting potential threats" is a process that uses machine learning models to automatically identify and detect anomalous patterns and cyber threats.
[0148] "Means for notifying users of alerts when threats are detected" refers to the process of immediately notifying users of detected threat information and prompting them to take appropriate action.
[0149] This invention relates to an efficient data analysis system for strengthening network security. The system of the present invention makes it possible to monitor network traffic data in real time, automatically detect potential threats, and notify users of alerts.
[0150] Hardware and software used
[0151] The server implements the invention using the following hardware and software:
[0152] Hardware: Server machine (including CPU, memory, and storage), network interface
[0153] Software: Python, Pandas, Scikit-learn, Matplotlib
[0154] Natural language explanation of program processing
[0155] First, the server loads the network traffic data in CSV format, converts the loaded data into a data frame using Pandas, and then preprocesses it to remove rows with missing values to improve the data quality.
[0156] Next, the server separates the preprocessed data into features (explanatory variables) and targets (target variables). This prepares the data in a format suitable for analysis. The features and targets are then split into training data and test data. Typically, 80% is set as training data and 20% as test data.
[0157] The server uses the training data to train a machine learning model (e.g., a logistic regression model). The trained model captures patterns in the training data and has the ability to predict new data.
[0158] Using the trained model, the server makes predictions on the test data. This is an important step to see how well the model generalizes. To evaluate the prediction results, the mean squared error (MSE) is calculated. MSE is the root mean square of the error between the predicted value and the actual value, and a smaller value indicates a more accurate model.
[0159] Finally, the server visually displays the predicted results and the actual values, using Matplotlib to create scatter plots and other visualizations that provide an intuitive understanding of how well the predicted values match the actual values.
[0160] In addition, the system monitors network traffic in real time and automatically detects abnormal patterns. If a potential threat is detected, the server will immediately notify the user with an alert, greatly improving network security.
[0161] Specific examples
[0162] For example, a company could deploy the system of the present invention to monitor the security of its internal network. The system constantly monitors network traffic from each device and automatically detects abnormal traffic patterns and potential cyber attacks. Detected threats can be alerted to administrators in real time, enabling rapid response.
[0163] Prompt Sentence Examples
[0164] The following are examples of prompt sentences that may be used in the system of the present invention:
[0165] Use the following data to build a machine learning model to predict potential cyber attacks. The data is a network traffic log, with each line containing an IP address, volume, port number, timestamp, and activity type. Remove rows with missing values and split the data into 80% for training and 20% for testing. After training the model, make predictions on the test data, calculate the mean squared error, and visualize the results.
[0166] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0167] Step 1:
[0168] The server reads the network traffic data provided by the user in CSV format. As input, it receives the specified file path, converts it to a data frame using Pandas, and generates a data frame as output. Specifically, the server executes "pd.read_csv(file_path)" to bring the data into memory.
[0169] Step 2:
[0170] The server preprocesses the loaded data. It receives a data frame as input, removes rows with missing values, and improves the quality of the data. Specifically, it runs "data.dropna()" to generate a clean data frame as output.
[0171] Step 3:
[0172] The server splits the preprocessed data into features and targets. It receives the clean data frame as input, and sets all columns except the specified target column as features, with the target column as the objective variable. Specifically, it executes "X = data.drop(columns=[target_column])" and "y = data[target_column]" to generate a feature data frame and target series as outputs.
[0173] Step 4:
[0174] The server splits the features and targets into training and test data. It receives the feature data frame and target series as input and splits the dataset into training data (80%) and test data (20%) using Scikit-learn's "train_test_split" function. Specifically, it executes "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)" and generates a training dataset and a test dataset as output.
[0175] Step 5:
[0176] The server trains a machine learning model using the training data. It receives the training dataset (X_train, y_train) as input and trains the model using the logistic regression model. Specifically, it initializes "model = LogisticRegression()" and runs "model.fit(X_train, y_train)" to train the model. It generates the trained model as output.
[0177] Step 6:
[0178] The server uses the trained model to make predictions on the test data. It receives the test dataset (X_test) and the trained model as input, and generates predictions using the model's "predict" method. Specifically, it executes "predictions = model.predict(X_test)" and generates the prediction results as output.
[0179] Step 7:
[0180] The server evaluates the prediction results. It receives the actual value (y_test) and the prediction results (predictions) as input and calculates the mean squared error (MSE). Specifically, it executes "mse = mean_squared_error(y_test, predictions)" and generates the MSE value, which is an evaluation metric, as output.
[0181] Step 8:
[0182] The server visualizes the prediction results. It receives the actual values (y_test) and the predictions (predictions) as input and creates a scatter plot using Matplotlib. Specifically, it executes "plt.scatter(y_test, predictions)" and "plt.show()" to generate a visual display of the results as output.
[0183] Step 9:
[0184] The server monitors network traffic data in real time. It receives real-time data from the network interface as input and captures it as features. Specifically, it captures packets from the network interface card (NIC), collects data in real time, and generates real-time data for analysis as output.
[0185] Step 10:
[0186] The server automatically detects potential threats. It receives the trained model and real-time data as input, uses the model to detect anomalous patterns, and executes "real_time_predictions = model.predict(real_time_data)" to generate threat detection results as output.
[0187] Step 11:
[0188] The server notifies the user of an alert if a threat is detected. It receives the threat detection results as input and sends alerts to the user in real time. Specifically, it uses a notification service to send email, SMS, or push notifications to a dedicated app, and generates a warning notification as output.
[0189] 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.
[0190] This invention relates to a generative AI system that combines an emotion engine to improve the accuracy of data analysis and user satisfaction. Specifically, this system analyzes research data provided by users, recognizes the user's emotions using the emotion engine, and provides feedback based on those emotions.
[0191] Program processing
[0192] Data loading
[0193] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server reads the CSV file as a DataFrame using the Pandas library.
[0194] Data Preprocessing
[0195] The server performs preprocessing on the loaded data. Specifically, it removes rows containing missing values to improve data quality. The server uses the dropna() method to remove rows containing missing values (NaN) from the DataFrame.
[0196] Splitting features and targets
[0197] Next, the server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[0198] Splitting the data into training and test
[0199] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[0200] Model training
[0201] The server learns the model using the training data. For example, for a linear regression model, the server instantiates the LinearRegression class and uses the fit method to learn the model from the training data.
[0202] prediction
[0203] The server uses the trained model to make predictions on the test data. The server uses the predict method of the trained model to make predictions based on the test dataset.
[0204] evaluation
[0205] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted value and the actual value and displays the result on the console.
[0206] Visualizing the results
[0207] Finally, the server creates a scatter plot to visually display the predicted results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values. This scatter plot allows users to intuitively understand the performance of the model.
[0208] Combining Emotion Engines
[0209] emotion recognition
[0210] The server uses an emotion engine to recognize the user's emotions. For example, the server can acquire the user's facial expression data through a webcam and analyze this data to recognize the user's emotional state (happiness, sadness, surprise, etc.). It can also analyze voice data to recognize emotions from the user's voice.
[0211] Adaptive Feedback
[0212] The server adaptively adjusts the presentation of data analysis results based on the user's recognized emotions. For example, if the user expresses surprise or excitement, the server presents more detailed analysis results. If the user expresses confusion or anxiety, the server provides a more concise explanation of the analysis results and offers additional hints and explanations.
[0213] Specific examples
[0214] For example, consider a case where a user provides data to a server to predict the reaction rate of a new chemical substance. The user uploads the data as a CSV file. The server reads the data, preprocesses it, splits it into training data and test data, and trains a model. The server then makes predictions on the new data and presents the results to the user.
[0215] During this process, the server uses an emotion engine to recognize emotions from the user's facial expressions and voice. For example, if the user shows a surprised expression, the server will provide additional graphs and statistical information with detailed analysis results. On the other hand, if the user shows a confused expression, the server will provide a brief explanation along with related materials and tips.
[0216] As described above, the present invention not only makes the data analysis process more efficient, but also improves user understanding and satisfaction by providing feedback according to the user's emotions.
[0217] The processing flow will be explained below.
[0218] Step 1:
[0219] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server reads the CSV file as a DataFrame using the Pandas library.
[0220] Step 2:
[0221] The server performs preprocessing on the loaded data. Specifically, it removes rows containing missing values to improve data quality. The server uses the dropna() method to remove rows containing missing values (NaN) from the DataFrame.
[0222] Step 3:
[0223] The server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[0224] Step 4:
[0225] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[0226] Step 5:
[0227] The server learns the model using the training data. For example, for a linear regression model, the server instantiates the LinearRegression class and uses the fit method to learn the model from the training data.
[0228] Step 6:
[0229] The server uses the trained model to make predictions on the test data. The server uses the predict method of the trained model to make predictions based on the test dataset.
[0230] Step 7:
[0231] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted value and the actual value and displays the result on the console.
[0232] Step 8:
[0233] The server creates a scatter plot to visually display the predicted results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values. This scatter plot allows users to intuitively understand the performance of the model.
[0234] Step 9:
[0235] The server uses an emotion engine to recognize the user's emotions. The server acquires the user's facial expression data through a webcam and analyzes this data to recognize the user's emotional state (happiness, sadness, surprise, etc.). It can also analyze voice data to recognize emotions from the user's voice.
[0236] Step 10:
[0237] The server adaptively adjusts the presentation of data analysis results based on the user's recognized emotions. For example, if the user expresses surprise or excitement, the server presents more detailed analysis results. If the user expresses confusion or anxiety, the server provides a more concise explanation of the analysis results and offers additional hints and explanations.
[0238] Example 2
[0239] 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."
[0240] Conventional data analysis systems perform data preprocessing, model training, and evaluation and visualization of prediction results, but do not provide adaptive feedback based on the user's emotions. As a result, users may find it difficult to understand the analysis results or may not be able to quickly obtain the information they need. The present invention aims to solve these problems and improve the accuracy of data analysis and user satisfaction.
[0241] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0242] In this invention, the server includes means for reading data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for training a model using the training data, means for making predictions on test data using the trained model, means for evaluating the prediction results, means for visualizing the prediction results, means for recognizing a user's emotion, and means for adjusting feedback based on the recognized emotion. This makes it possible to adjust the method for presenting the data analysis results in accordance with the user's emotion, thereby improving user understanding and satisfaction.
[0243] The "means of reading data" is a function that uploads a tabular data file provided by the user to the server, saves the data in the server's storage, and extracts the data using the Pandas library.
[0244] "Means for preprocessing the loaded data" refers to the process of removing missing values and cleansing the data loaded by the server to improve the accuracy of the analysis.
[0245] "Means for splitting preprocessed data into features and targets" refers to the operation of extracting specific columns as features and setting another column as a target variable in order to separate the explanatory variables and target variables of the data.
[0246] The "means of dividing features and targets into training data and test data" is a method of dividing analysis data into training data used for model learning and test data used for performance evaluation.
[0247] The "means of learning a model using training data" refers to a process of using training data to build a predictive model such as a regression model and learning data patterns.
[0248] The "means of making predictions on test data using a trained model" is the process of making predictions on test data using a trained model to obtain prediction results.
[0249] The "means for evaluating the prediction results" refers to the operation of comparing the obtained prediction results with actual values and calculating indicators such as mean squared error (MSE) in order to evaluate the predictive performance of the model.
[0250] "Means for visualizing prediction results" refers to a function that allows the server to create graphs and scatter plots using libraries such as Matplotlib to visually compare prediction results with actual values.
[0251] "Means for recognizing the user's emotions" refers to technology that allows the server to analyze the user's facial expressions and voice data and recognize their emotional state.
[0252] The "means for adjusting feedback based on recognized emotions" is a system function that changes the way data analysis results are presented depending on the user's emotions, providing the user with optimal information.
[0253] This invention relates to a generative AI system that combines an emotion engine to improve the accuracy of data analysis and user satisfaction. Specifically, this system analyzes research data provided by users, recognizes the user's emotions using the emotion engine, and provides feedback based on those emotions.
[0254] Data Loading and Preprocessing
[0255] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server uses the Pandas library to read the CSV file as a DataFrame. Next, the server performs preprocessing on the read data. Specifically, it deletes rows containing missing values to improve data quality. The server uses the dropna() method to remove missing values.
[0256] Splitting features and targets
[0257] The server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[0258] Splitting the data into training and test
[0259] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[0260] Model training and prediction
[0261] The server trains a model using the training data. For example, using a linear regression model, the server instantiates the LinearRegression class and uses the fit method to train the model from the training data. The server then uses the trained model to make predictions on the test data. The server uses the predict method of the trained model.
[0262] Evaluation and visualization
[0263] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted and actual values and displays the results on the console. Finally, the server creates a scatter plot to visually display the prediction results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values.
[0264] Combining Emotion Engines
[0265] The server uses an emotion engine to recognize the user's emotions. For example, the server can capture the user's facial expression data through a webcam and analyze this data to recognize the user's emotional state (such as joy, sadness, or surprise). It can also analyze audio data to recognize emotions from the user's voice. The server then adaptively adjusts the presentation method of the data analysis results based on the recognized user emotion. For example, if the user expresses surprise or excitement, the server will present more detailed analysis results. If the user expresses confusion or anxiety, the server will simplify the explanation of the analysis results and provide additional hints or explanations.
[0266] Specific examples
[0267] For example, consider the case where a user provides data to a server to predict the reaction rate of a new chemical substance. The user uploads the data as a CSV file. The server reads the data, preprocesses it, splits it into training data and test data, and trains a model. The server then makes predictions for the new data and presents the results to the user. During this process, the server uses an emotion engine to recognize emotions from the user's facial expressions and voice. For example, if the user shows a surprised expression, the server will provide additional graphs and statistical information with detailed analysis results. On the other hand, if the user shows a confused expression, the server will provide a brief explanation, related materials, and hints.
[0268] Prompt Sentence Examples
[0269] "This model predicts the reaction rates of new chemical substances. Data is uploaded to the server as a CSV file, and the engine analyzes the data and presents the results. The way the analysis results are presented is also adjusted depending on the user's emotions."
[0270] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0271] Step 1: Loading Data
[0272] The server reads research data files in CSV format provided by the user.
[0273] Input: User uploaded CSV file
[0274] Specific operation: The server saves the CSV file to the server storage and reads the contents of the file as a DataFrame using the read_csv() method of the Pandas library.
[0275] Output: The loaded data is returned in DataFrame format.
[0276] Step 2: Preprocessing the data
[0277] The server performs preprocessing on the read data.
[0278] Input: DataFrame format data
[0279] What happens: The server uses the dropna() method to remove rows that contain missing values (NaN) and improve data quality.
[0280] Output: A clean DataFrame with missing values removed
[0281] Step 3: Split features and targets
[0282] The server splits the preprocessed data into features and targets.
[0283] Input: A clean DataFrame
[0284] Specific operation: The server uses the drop() method to remove the target variable column and create a DataFrame of features. At the same time, it extracts the target variable column as a separate Series.
[0285] Output: DataFrame of features and Series of targets
[0286] Step 4: Split into training and test data
[0287] The server splits the features and targets into training and test data.
[0288] Input: DataFrame of features and target Series
[0289] Specific operation: The server uses the train_test_split function of the Sci-kit Learn library to split the features and targets into 80% training data and 20% test data.
[0290] Output: training data (X_train, y_train) and test data (X_test, y_test)
[0291] Step 5: Training the model
[0292] The server uses the training data to train the model.
[0293] Input: training data (X_train, y_train)
[0294] Specific behavior: The server instantiates Sci-kit Learn's LinearRegression class and uses the fit method to learn a model from the training data.
[0295] Output: A trained regression model
[0296] Step 6: Predict
[0297] The server uses the trained model to make predictions on test data.
[0298] Input: A trained regression model and test data (X_test)
[0299] Specific behavior: The server makes a prediction using the model's predict method.
[0300] Output: Array of predicted values
[0301] Step 7: Evaluation
[0302] The server evaluates the accuracy of the prediction results.
[0303] Input: array of actual test data target values (y_test) and predicted values
[0304] Specific operation: The server uses Sci-kit Learn's mean_squared_error function to calculate the mean squared error (MSE).
[0305] Output: Evaluation result (MSE)
[0306] Step 8: Visualize the results
[0307] The server creates a scatter plot to visually display the predicted results and actual values.
[0308] Input: array of actual test data target values (y_test) and predicted values
[0309] Specific operation: The server creates a scatter plot using the Matplotlib library and plots it on a graph.
[0310] Output: A visual graph comparing predicted values to actual values
[0311] Step 9: Emotion Recognition
[0312] The server uses an emotion engine to recognize the user's emotion.
[0313] Input: Raw data from webcam or microphone
[0314] Specific operation: The server uses a facial expression recognition library and a voice analysis library to analyze the user's emotions.
[0315] Output: Perceived emotional state
[0316] Step 10: Adaptive Feedback
[0317] The server adjusts the feedback based on the perceived user emotion.
[0318] Input: Recognized emotional state and analysis results
[0319] Specific behavior: The server takes into account the user's emotional state and adaptively changes the content and presentation of the feedback, for example, providing a detailed analysis if the user expresses surprise, or a concise explanation and additional resources if the user expresses confusion.
[0320] Output: Optimized Feedback
[0321] (Application example 2)
[0322] 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."
[0323] Conventional data analysis systems often provide a single result without considering the user's emotions, making it difficult to improve user understanding and satisfaction. Furthermore, in customer service situations in brick-and-mortar stores, it is difficult for staff to instantly assess a customer's emotions and provide appropriate responses. Furthermore, to provide more effective feedback to improve customer satisfaction, a system that can recognize a customer's emotional state in real time is needed.
[0324] 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 data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for training a model using the training data, means for making predictions on test data using the trained model, means for evaluating the prediction results, means for visualizing the prediction results, means for recognizing a user's emotion using an emotion engine, and means for adaptively adjusting the presentation method of the data analysis results based on the recognized emotion. This makes it possible to present analysis results according to the user's emotion, improving user understanding and satisfaction and enabling the quality of customer service in physical stores.
[0325] "Data" is a collection of information that a system uses for analysis and learning.
[0326] "Preprocessing" refers to the process of cleaning data and converting it into a suitable format for analysis prior to data analysis.
[0327] A "feature" is an explanatory variable of data, and is data that serves as the basis for predicting a target variable.
[0328] A "target" is a dependent variable to be predicted, an indicator within a dataset that a model uses to make predictions.
[0329] "Training data" is the portion of the data used to train a model.
[0330] "Test data" is the portion of the data used to evaluate the trained model.
[0331] A "model" is a mathematical or statistical structure used to make predictions or decisions through learning from data.
[0332] "Learning" is the process of adjusting the parameters of a model so that it can make predictions and decisions using training data.
[0333] "Prediction" means that the trained model estimates the value of the target variable based on the input data.
[0334] "Evaluation" is the process of measuring the accuracy of predictions and assessing the performance of the model.
[0335] "Visualization" refers to the visual representation of analysis and prediction results, and is a means of helping users understand them.
[0336] An "emotion engine" is software or hardware that recognizes and analyzes the emotional state of a user or customer.
[0337] "Adaptive adjustment" refers to the process of changing presentation and feedback based on perceived emotions to enhance user understanding and satisfaction.
[0338] "Image data" is a collection of visual information acquired through a visual device such as a camera.
[0339] A "visual device" is a hardware device for acquiring image data, such as a camera or smart glasses.
[0340] "Customer" refers to a user who visits a physical store and uses services or products.
[0341] "Feedback" refers to information or advice provided to users or customers based on analysis or prediction results.
[0342] This invention is a data analysis and emotion recognition system for improving customer service in brick-and-mortar stores. The system reads data, preprocesses it, splits it into features and targets, splits it into training data and test data, trains a model, makes predictions, and evaluates and visualizes the results. It also uses an emotion engine to recognize the emotional state of users and customers and adaptively adjusts the presentation method of the analysis results.
[0343] Program processing explanation
[0344] Hardware and software used
[0345] Hardware: Smartphones, smart glasses, head-mounted displays
[0346] Software: Python, Pandas, Sci-kit Learn, OpenCV, DeepFace
[0347] The server uses this hardware and software to perform the following data processing and data calculations.
[0348] Data Loading and Preprocessing
[0349] The server reads the research data provided by the user in CSV format using the Pandas library. As a preprocessing step, it removes missing values and improves the data quality. This process uses the Pandas dropna() method.
[0350] Split features and targets and train the model
[0351] The server splits the preprocessed data into features and targets, splits it into training data and test data using the train_test_split function of Sci-Kit Learn, trains a model using the LinearRegression class of Sci-Kit Learn, and uses the trained model to make predictions on the test data.
[0352] Evaluation and visualization
[0353] The server evaluates the accuracy of the prediction results using the mean_squared_error function and visualizes them using the Matplotlib library.Furthermore, it uses an emotion engine to analyze the user's facial expressions and voice to recognize emotions.
[0354] Emotion Recognition and Adaptive Feedback
[0355] The server acquires image data from the camera using OpenCV and DeepFace, and recognizes emotions using an emotion engine. Based on the recognized emotions, it adjusts the way the data analysis results are presented and provides optimal feedback to the user's emotions.
[0356] Specific examples
[0357] For example, consider a scenario in which a customer in a physical store asks a question about a product, and a staff member uses smart glasses to capture the customer's facial expression. The server receives the image data and uses its emotion engine to recognize that the customer is confused. Based on this result, the server suggests a concise and clear explanation for the product to the staff member.
[0358] Prompt Sentence Examples
[0359] Prompt: Advise how to respond when a customer asks about a product in a store and looks confused.
[0360] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0361] Step 1:
[0362] The server reads a CSV data file provided by the user. The input is a CSV file, and the output is data in Pandas DataFrame format. Specifically, the server uses the Pandas library to convert the CSV data into a DataFrame using the read_csv method.
[0363] Step 2:
[0364] The server performs preprocessing on the loaded data. The input is data in DataFrame format, and the output is preprocessed DataFrame format data. Specifically, the server removes missing values using the dropna method to improve the quality of the data.
[0365] Step 3:
[0366] The server splits the preprocessed data into features and targets. The input is the preprocessed data in DataFrame format, and the output is the split DataFrame data into features and targets. Specifically, it removes the target variable from the DataFrame using the drop method, and creates a DataFrame of features.
[0367] Step 4:
[0368] The server splits the features and targets into training data and test data. The input is the DataFrame format data split into features and targets, and the output is the data split into training data and test data. Specifically, the train_test_split function of Sci-kit Learn is used.
[0369] Step 5:
[0370] The server trains the model using the training data. The input is the training data, and the output is the trained model. Specifically, it instantiates the LinearRegression class of Sci-kit Learn and trains the model using the fit method.
[0371] Step 6:
[0372] The server uses the trained model to make predictions on test data. The input is the test data, and the output is the prediction result. Specific operations use the predict method of the trained model.
[0373] Step 7:
[0374] The server evaluates the accuracy of the prediction results. The inputs are the prediction results and the actual values of the test data, and the output is the evaluation metric. Specifically, it calculates the MSE using the mean_squared_error function of Sci-kit Learn.
[0375] Step 8:
[0376] The server visualizes the prediction results. The input is the prediction results and the actual values, and the output is a visual display such as a scatter plot. Specifically, it uses the Matplotlib library to draw the graph.
[0377] Step 9:
[0378] The server uses an emotion engine to recognize the user's emotions. The input is image data and audio data captured by the camera, and the output is the recognized emotion information. Specifically, the analysis is performed using the OpenCV and DeepFace libraries.
[0379] Step 10:
[0380] The server adaptively adjusts the presentation method of the data analysis results based on the recognized emotion. The input is emotion information and the data analysis results, and the output is the adjusted analysis results and feedback. Specifically, the server dynamically changes the feedback content according to the recognized emotion.
[0381] The above are the specific processing steps of the system that realizes the application example.
[0382] 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.
[0383] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0384] 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.
[0385] [Second embodiment]
[0386] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0387] 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.
[0388] 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).
[0389] 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.
[0390] 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.
[0391] 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).
[0392] 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.
[0393] 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.
[0394] 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.
[0395] 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.
[0396] In the smart glasses 214, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0397] 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."
[0398] This invention relates to a generative AI system for streamlining the analysis of large amounts of data in scientific research. Specifically, it automates a series of processes from data reading to preprocessing, model learning, prediction, evaluation, and visualization.
[0399] Program processing
[0400] Data loading
[0401] The server reads the CSV-formatted data file provided by the researcher. The data contains multiple features (independent variables) and a target variable (dependent variable). This process allows researchers to start analysis simply by inputting the data into the system.
[0402] Data Preprocessing
[0403] The server performs preprocessing on the loaded data. Specifically, it removes rows containing missing values and improves the quality of the data, enabling highly accurate analysis.
[0404] Splitting features and targets
[0405] Next, the server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. At this stage, the data is formatted for analysis.
[0406] Splitting the data into training and test
[0407] The server splits the features and targets into training and test data, typically 80% as training data and 20% as test data, which prepares the model for efficient training and evaluation.
[0408] Model training
[0409] The server uses the training data to train the model. For example, in the case of a linear regression model, the server finds the best fit regression line based on the training data. The trained model captures patterns in the training data and has the ability to predict new data.
[0410] prediction
[0411] Using the trained model, the server makes predictions on the test data, which is an important step to see how well the model generalizes.
[0412] evaluation
[0413] The server calculates the mean square error (MSE) to evaluate the accuracy of the prediction results. MSE is the root mean square of the error between the predicted value and the actual value, and a smaller value indicates a higher accuracy of the model.
[0414] Visualizing the results
[0415] Finally, the server visually displays the predicted results and actual values, using scatter plots and other methods to intuitively show how well the predicted values match the actual values, allowing researchers to easily evaluate the performance of the model.
[0416] Specific examples
[0417] For example, if a user wants to perform data analysis to predict the diagnosis of a specific disease in the life sciences field, they upload patient data in CSV format to a server. The server automatically reads the data, removes missing values, splits it, and trains a model. The trained model is then used to predict the diagnosis of new patient data and presents the results to the user. This series of processes allows users to obtain highly accurate predictions without much effort.
[0418] This invention allows researchers to improve the efficiency of data analysis at any stage, enabling them to advance their research more quickly. Furthermore, this system is flexible enough to be applied to different research fields, providing a highly versatile data analysis platform.
[0419] The processing flow will be explained below.
[0420] Step 1:
[0421] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server reads the CSV file as a DataFrame using the Pandas library.
[0422] Step 2:
[0423] The server performs preprocessing on the loaded data, which includes removing rows containing missing values. The server uses the dropna() method to remove rows containing missing values (NaN) from the DataFrame.
[0424] Step 3:
[0425] The server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[0426] Step 4:
[0427] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[0428] Step 5:
[0429] The server learns the model using the training data. For example, for a linear regression model, the server instantiates the LinearRegression class and uses the fit method to learn the model from the training data.
[0430] Step 6:
[0431] The server uses the trained model to make predictions on the test data. The server uses the trained model's predict method to make predictions based on the test dataset.
[0432] Step 7:
[0433] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted value and the actual value and displays the result on the console.
[0434] Step 8:
[0435] The server creates a scatter plot to visually display the predicted results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values. This scatter plot allows users to intuitively understand the performance of the model.
[0436] Example 1
[0437] 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."
[0438] Modern scientific research demands efficient methods for analyzing large amounts of data. However, traditional data analysis methods are complex, making it difficult to streamline the entire process, including data loading, preprocessing, model training, prediction, evaluation, and visualization. This forces researchers to spend a lot of time analyzing data, which can slow down the progress of research. Furthermore, inaccurate data preprocessing and model evaluation can lead to a decrease in the reliability of analysis results. To address these challenges, a system for efficient and accurate data analysis is needed.
[0439] 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.
[0440] In this invention, the server includes means for reading data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for training an analytical model using the training data, means for making predictions on test data using the trained analytical model, means for evaluating the prediction results, and means for visualizing the prediction results, thereby making it possible to streamline the entire data analysis process in scientific research and quickly obtain high-quality analytical results.
[0441] "Reading data" means that the server receives tabular data provided by the user and takes it into the server for analysis.
[0442] "Preprocessing the read data" means removing missing information and other cleaning processes to improve the quality of the data taken in by the server.
[0443] "Splitting preprocessed data into features and targets" means that the server splits the preprocessed data into explanatory variables and target variables in order to put it in a format suitable for analysis.
[0444] "Splitting features and targets into training data and test data" means splitting the data into learning data and evaluation data so that the server can evaluate the accuracy of the analysis.
[0445] "Learning an analytical model using training data" means that the server uses the training data to optimize the analytical model and build a model with predictive power.
[0446] "Making predictions on test data using a trained analytical model" means that the server uses a trained analytical model to make predictions on test data.
[0447] "Evaluating the prediction results" means that the server numerically evaluates the accuracy of the prediction results and confirms the performance of the model.
[0448] "Visualizing the prediction results" means that the server visually displays the prediction results so that the user can intuitively understand the analysis results.
[0449] "Tabular data" refers to a data file that is structured in a column-and-row format.
[0450] "Missing information removal" refers to the process of removing missing information in a dataset to improve the quality of the data.
[0451] A "regression analysis model" is an analytical method for capturing the relationships between numerical data, and refers to a mathematical model for predicting a dependent variable from an explanatory variable.
[0452] "Users providing data for analysis" refers to the act of researchers or end users uploading data to be analyzed to the system.
[0453] "The system analyzes analytical data" means that the system performs a series of data processing and analytical procedures to generate analytical results.
[0454] "The system presents the results to the user" means that the system visualizes the results of the analysis and provides them to the user in a format that can be intuitively understood.
[0455] This invention relates to a generative AI system for streamlining the analysis of large amounts of data in scientific research. Specifically, it automates a series of processes from data reading to preprocessing, model learning, prediction, evaluation, and visualization.
[0456] The program for this system is designed to enable researchers to quickly carry out data analysis, and is primarily a system that works in cooperation between a server, terminals, and users.
[0457] First, the user uploads a CSV data file to the server using the terminal, and the server reads this data using the Pandas library, which allows efficient ingestion of tabular data provided by the user.
[0458] The server then preprocesses the loaded data, using the Pandas library to remove rows containing missing values and perform cleaning to improve the quality of the data, thereby improving the accuracy of the analysis.
[0459] Once preprocessing is complete, the server splits the data into features (explanatory variables) and targets (target variables). At this stage, the NumPy library is used. The split data is then formatted for analysis.
[0460] Next, the server splits the features and targets into training and test data using the train_test_split function from the Scikit-learn library, preparing the data for efficient training and evaluation.
[0461] For the training data, the server trains a linear regression model using Scikit-learn's LinearRegression class, allowing the model to learn patterns in the data and have predictive power for new data.
[0462] The trained model is used to make predictions on test data. The server inputs the test data into the model and obtains prediction results, which allow us to check the model's generalization performance.
[0463] The prediction results are evaluated using the mean squared error (MSE). The server calculates this metric using the mean_squared_error function in Scikit-learn to evaluate the accuracy of the model.
[0464] Finally, the server visually displays the predicted results and actual values, using the Matplotlib library to generate scatter plots and other visualizations to help users intuitively understand the results.
[0465] As a specific example, if a user wants to perform data analysis to predict the diagnosis of a particular disease in the field of life science, the user operates as follows.
[0466] First, the user uploads patient data in CSV format to the server. The server automatically reads the data, removes missing values, and splits it into features and targets. Next, the server splits the data into training and test data and trains a linear regression model. Finally, the trained model is used to predict diagnoses for new patient data and the results are presented to the user. This series of processes allows users to obtain highly accurate predictions without much effort.
[0467] An example of a prompt sentence might be:
[0468] Load the following CSV data and perform predictions using a linear regression model. Delete rows containing missing values and split the data into 80% training data and 20% test data. Complete the entire process, from loading the data to visualizing the results.
[0469] CSV data (example):
[0470] age, gender, blood_pressure, cholesterol, target
[0471] 54, male, 130, 220, 1
[0472] 45, female, 115, 210, 0
[0473] ...
[0474] By using the above prompts, users can issue specific instructions to the system, and the server will execute the entire data analysis process according to those instructions, allowing researchers to proceed with data analysis efficiently.
[0475] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0476] Step 1:
[0477] The server reads a CSV-formatted data file uploaded by the user. The input is a CSV file, and the output is a Pandas data frame. Specifically, the server uses the Pandas library to read the data file into memory as a data frame. This operation prepares the tabular data provided by the user for analysis.
[0478] Step 2:
[0479] The server performs preprocessing on the loaded data. Specifically, it checks for missing values in the CSV file and removes rows containing missing values. The input is the loaded data frame, and the output is a clean data frame with missing values removed. The server achieves this by using the dropna function in Pandas, which improves the quality of the data used for analysis.
[0480] Step 3:
[0481] The server splits the preprocessed data into features (explanatory variables) and targets (objective variables). The input is a preprocessed data frame, and the output is two data frames: feature data and target data. Specifically, the server uses Pandas to select specific columns and split the data into feature data and target data. This operation prepares the data in a format suitable for model training.
[0482] Step 4:
[0483] The server splits the feature data and target data into training data and test data. The input is the feature data and target data, and the output is the training dataset and test dataset. Specifically, the server splits the data using Scikit-learn's train_test_split function. This operation prepares the data for efficient model training and evaluation.
[0484] Step 5:
[0485] The server uses the training data to train an analytical model. The input is the training feature data (X_train) and target data (y_train), and the output is the trained model. Specifically, the server trains a linear regression model using Scikit-learn's LinearRegression class. This operation builds a model that captures patterns in the data.
[0486] Step 6:
[0487] The server uses the trained analytical model to make predictions on test data. The input is the test feature data (X_test), and the output is the prediction result. Specifically, the server uses the trained model to calculate the predicted value for the test data. This operation provides the prediction result for evaluating the generalization performance of the model.
[0488] Step 7:
[0489] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The input is the prediction result and the actual target data (y_test), and the output is the MSE evaluation value. Specifically, the server calculates the MSE using the mean_squared_error function of Scikit-learn. This operation numerically evaluates the performance of the model.
[0490] Step 8:
[0491] The server visually displays the predicted results and actual values. The input is the predicted results and actual target data, and the output is a visualized graph such as a scatter plot. Specifically, the server uses the Matplotlib library to generate a scatter plot and draw a graph comparing the predicted values and actual values. This operation allows the user to intuitively understand the predictive accuracy of the model.
[0492] (Application example 1)
[0493] 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."
[0494] In the field of network security, there is a demand for real-time network traffic monitoring and rapid detection of suspicious behavior. However, it is extremely difficult to efficiently analyze large amounts of network data and immediately identify potential threats. Furthermore, in existing systems, processes such as data preprocessing, model training, and evaluation are often performed manually, resulting in a high workload. The present invention aims to solve these problems and provide an efficient data analysis system for strengthening network security.
[0495] 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.
[0496] In this invention, the server includes means for reading data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for learning a model using the training data, means for making predictions on test data using the learned model, means for evaluating the prediction results, means for visualizing the prediction results, means for monitoring network traffic data in real time, means for automatically detecting potential threats, and means for notifying a user of an alert when a threat is detected. This makes it possible to monitor network traffic in real time and automatically and quickly detect potential threats.
[0497] Below are definitions of important words included in the claims created for application examples.
[0498] "Means for reading data" refers to the process of capturing network traffic data in file format onto the server.
[0499] "Means for preprocessing the loaded data" refers to the process of removing missing values and unnecessary information in order to improve the quality of the data.
[0500] "Means for dividing preprocessed data into features and targets" refers to the process of classifying data into explanatory variables (features) and objective variables (targets) required for analysis.
[0501] "Means for splitting features and targets into training data and test data" refers to the process of splitting a dataset into training data used to train a model and test data used to evaluate the performance of the model.
[0502] "Means of learning a model using training data" refers to the process of training a machine learning model using training data to learn patterns and regularities.
[0503] "Means for making predictions on test data using a trained model" refers to the process of making predictions on test data using a trained model and evaluating the performance of the model.
[0504] "Means for evaluating predicted results" refers to the process of comparing predicted results with actual results and numerically evaluating the accuracy and performance of the model.
[0505] "Visualization of predicted results" is the process of creating graphs and charts to visually represent predicted and actual results.
[0506] "Means for monitoring network traffic data in real time" refers to the process of monitoring data communications on a network in real time and continuously.
[0507] "Means for automatically detecting potential threats" is a process that uses machine learning models to automatically identify and detect anomalous patterns and cyber threats.
[0508] "Means for notifying users of alerts when threats are detected" refers to the process of immediately notifying users of detected threat information and prompting them to take appropriate action.
[0509] This invention relates to an efficient data analysis system for strengthening network security. The system of the present invention makes it possible to monitor network traffic data in real time, automatically detect potential threats, and notify users of alerts.
[0510] Hardware and software used
[0511] The server implements the invention using the following hardware and software:
[0512] Hardware: Server machine (including CPU, memory, and storage), network interface
[0513] Software: Python, Pandas, Scikit-learn, Matplotlib
[0514] Natural language explanation of program processing
[0515] First, the server loads the network traffic data in CSV format, converts the loaded data into a data frame using Pandas, and then preprocesses it to remove rows with missing values to improve the data quality.
[0516] Next, the server separates the preprocessed data into features (explanatory variables) and targets (target variables). This prepares the data in a format suitable for analysis. The features and targets are then split into training data and test data. Typically, 80% is set as training data and 20% as test data.
[0517] The server uses the training data to train a machine learning model (e.g., a logistic regression model). The trained model captures patterns in the training data and has the ability to predict new data.
[0518] Using the trained model, the server makes predictions on the test data. This is an important step to see how well the model generalizes. To evaluate the prediction results, the mean squared error (MSE) is calculated. MSE is the root mean square of the error between the predicted value and the actual value, and a smaller value indicates a more accurate model.
[0519] Finally, the server visually displays the predicted results and the actual values, using Matplotlib to create scatter plots and other visualizations that provide an intuitive understanding of how well the predicted values match the actual values.
[0520] In addition, the system monitors network traffic in real time and automatically detects abnormal patterns. If a potential threat is detected, the server will immediately notify the user with an alert, greatly improving network security.
[0521] Specific examples
[0522] For example, a company could deploy the system of the present invention to monitor the security of its internal network. The system constantly monitors network traffic from each device and automatically detects abnormal traffic patterns and potential cyber attacks. Detected threats can be alerted to administrators in real time, enabling rapid response.
[0523] Prompt Sentence Examples
[0524] The following are examples of prompt sentences that may be used in the system of the present invention:
[0525] Use the following data to build a machine learning model to predict potential cyber attacks. The data is a network traffic log, with each line containing an IP address, volume, port number, timestamp, and activity type. Remove rows with missing values and split the data into 80% for training and 20% for testing. After training the model, make predictions on the test data, calculate the mean squared error, and visualize the results.
[0526] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0527] Step 1:
[0528] The server reads the network traffic data provided by the user in CSV format. As input, it receives the specified file path, converts it to a data frame using Pandas, and generates a data frame as output. Specifically, the server executes "pd.read_csv(file_path)" to bring the data into memory.
[0529] Step 2:
[0530] The server preprocesses the loaded data. It receives a data frame as input, removes rows with missing values, and improves the quality of the data. Specifically, it runs "data.dropna()" to generate a clean data frame as output.
[0531] Step 3:
[0532] The server splits the preprocessed data into features and targets. It receives the clean data frame as input, and sets all columns except the specified target column as features, with the target column as the objective variable. Specifically, it executes "X = data.drop(columns=[target_column])" and "y = data[target_column]" to generate a feature data frame and target series as outputs.
[0533] Step 4:
[0534] The server splits the features and targets into training and test data. It receives the feature data frame and target series as input and splits the dataset into training data (80%) and test data (20%) using Scikit-learn's "train_test_split" function. Specifically, it executes "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)" and generates a training dataset and a test dataset as output.
[0535] Step 5:
[0536] The server trains a machine learning model using the training data. It receives the training dataset (X_train, y_train) as input and trains the model using the logistic regression model. Specifically, it initializes "model = LogisticRegression()" and runs "model.fit(X_train, y_train)" to train the model. It generates the trained model as output.
[0537] Step 6:
[0538] The server uses the trained model to make predictions on the test data. It receives the test dataset (X_test) and the trained model as input, and generates predictions using the model's "predict" method. Specifically, it executes "predictions = model.predict(X_test)" and generates the prediction results as output.
[0539] Step 7:
[0540] The server evaluates the prediction results. It receives the actual value (y_test) and the prediction results (predictions) as input and calculates the mean squared error (MSE). Specifically, it executes "mse = mean_squared_error(y_test, predictions)" and generates the MSE value, which is an evaluation metric, as output.
[0541] Step 8:
[0542] The server visualizes the prediction results. It receives the actual values (y_test) and the predictions (predictions) as input and creates a scatter plot using Matplotlib. Specifically, it executes "plt.scatter(y_test, predictions)" and "plt.show()" to generate a visual display of the results as output.
[0543] Step 9:
[0544] The server monitors network traffic data in real time. It receives real-time data from the network interface as input and captures it as features. Specifically, it captures packets from the network interface card (NIC), collects data in real time, and generates real-time data for analysis as output.
[0545] Step 10:
[0546] The server automatically detects potential threats. It receives the trained model and real-time data as input, uses the model to detect anomalous patterns, and executes "real_time_predictions = model.predict(real_time_data)" to generate threat detection results as output.
[0547] Step 11:
[0548] The server notifies the user of an alert if a threat is detected. It receives the threat detection results as input and sends alerts to the user in real time. Specifically, it uses a notification service to send email, SMS, or push notifications to a dedicated app, and generates a warning notification as output.
[0549] 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.
[0550] This invention relates to a generative AI system that combines an emotion engine to improve the accuracy of data analysis and user satisfaction. Specifically, this system analyzes research data provided by users, recognizes the user's emotions using the emotion engine, and provides feedback based on those emotions.
[0551] Program processing
[0552] Data loading
[0553] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server reads the CSV file as a DataFrame using the Pandas library.
[0554] Data Preprocessing
[0555] The server performs preprocessing on the loaded data. Specifically, it removes rows containing missing values to improve data quality. The server uses the dropna() method to remove rows containing missing values (NaN) from the DataFrame.
[0556] Splitting features and targets
[0557] Next, the server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[0558] Splitting the data into training and test
[0559] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[0560] Model training
[0561] The server learns the model using the training data. For example, for a linear regression model, the server instantiates the LinearRegression class and uses the fit method to learn the model from the training data.
[0562] prediction
[0563] The server uses the trained model to make predictions on the test data. The server uses the predict method of the trained model to make predictions based on the test dataset.
[0564] evaluation
[0565] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted value and the actual value and displays the result on the console.
[0566] Visualizing the results
[0567] Finally, the server creates a scatter plot to visually display the predicted results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values. This scatter plot allows users to intuitively understand the performance of the model.
[0568] Combining Emotion Engines
[0569] emotion recognition
[0570] The server uses an emotion engine to recognize the user's emotions. For example, the server can acquire the user's facial expression data through a webcam and analyze this data to recognize the user's emotional state (happiness, sadness, surprise, etc.). It can also analyze voice data to recognize emotions from the user's voice.
[0571] Adaptive Feedback
[0572] The server adaptively adjusts the presentation of data analysis results based on the user's recognized emotions. For example, if the user expresses surprise or excitement, the server presents more detailed analysis results. If the user expresses confusion or anxiety, the server provides a more concise explanation of the analysis results and offers additional hints and explanations.
[0573] Specific examples
[0574] For example, consider a case where a user provides data to a server to predict the reaction rate of a new chemical substance. The user uploads the data as a CSV file. The server reads the data, preprocesses it, splits it into training data and test data, and trains a model. The server then makes predictions on the new data and presents the results to the user.
[0575] During this process, the server uses an emotion engine to recognize emotions from the user's facial expressions and voice. For example, if the user shows a surprised expression, the server will provide additional graphs and statistical information with detailed analysis results. On the other hand, if the user shows a confused expression, the server will provide a brief explanation along with related materials and tips.
[0576] As described above, the present invention not only makes the data analysis process more efficient, but also improves user understanding and satisfaction by providing feedback according to the user's emotions.
[0577] The processing flow will be explained below.
[0578] Step 1:
[0579] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server reads the CSV file as a DataFrame using the Pandas library.
[0580] Step 2:
[0581] The server performs preprocessing on the loaded data. Specifically, it removes rows containing missing values to improve data quality. The server uses the dropna() method to remove rows containing missing values (NaN) from the DataFrame.
[0582] Step 3:
[0583] The server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[0584] Step 4:
[0585] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[0586] Step 5:
[0587] The server learns the model using the training data. For example, for a linear regression model, the server instantiates the LinearRegression class and uses the fit method to learn the model from the training data.
[0588] Step 6:
[0589] The server uses the trained model to make predictions on the test data. The server uses the predict method of the trained model to make predictions based on the test dataset.
[0590] Step 7:
[0591] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted value and the actual value and displays the result on the console.
[0592] Step 8:
[0593] The server creates a scatter plot to visually display the predicted results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values. This scatter plot allows users to intuitively understand the performance of the model.
[0594] Step 9:
[0595] The server uses an emotion engine to recognize the user's emotions. The server acquires the user's facial expression data through a webcam and analyzes this data to recognize the user's emotional state (happiness, sadness, surprise, etc.). It can also analyze voice data to recognize emotions from the user's voice.
[0596] Step 10:
[0597] The server adaptively adjusts the presentation of data analysis results based on the user's recognized emotions. For example, if the user expresses surprise or excitement, the server presents more detailed analysis results. If the user expresses confusion or anxiety, the server provides a more concise explanation of the analysis results and offers additional hints and explanations.
[0598] Example 2
[0599] 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."
[0600] Conventional data analysis systems perform data preprocessing, model training, and evaluation and visualization of prediction results, but do not provide adaptive feedback based on the user's emotions. As a result, users may find it difficult to understand the analysis results or may not be able to quickly obtain the information they need. The present invention aims to solve these problems and improve the accuracy of data analysis and user satisfaction.
[0601] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0602] In this invention, the server includes means for reading data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for training a model using the training data, means for making predictions on test data using the trained model, means for evaluating the prediction results, means for visualizing the prediction results, means for recognizing a user's emotion, and means for adjusting feedback based on the recognized emotion. This makes it possible to adjust the method for presenting the data analysis results in accordance with the user's emotion, thereby improving user understanding and satisfaction.
[0603] The "means of reading data" is a function that uploads a tabular data file provided by the user to the server, saves the data in the server's storage, and extracts the data using the Pandas library.
[0604] "Means for preprocessing the loaded data" refers to the process of removing missing values and cleansing the data loaded by the server to improve the accuracy of the analysis.
[0605] "Means for splitting preprocessed data into features and targets" refers to the operation of extracting specific columns as features and setting another column as a target variable in order to separate the explanatory variables and target variables of the data.
[0606] The "means of dividing features and targets into training data and test data" is a method of dividing analysis data into training data used for model learning and test data used for performance evaluation.
[0607] The "means of learning a model using training data" refers to a process of using training data to build a predictive model such as a regression model and learning data patterns.
[0608] The "means of making predictions on test data using a trained model" is the process of making predictions on test data using a trained model to obtain prediction results.
[0609] The "means for evaluating the prediction results" refers to the operation of comparing the obtained prediction results with actual values and calculating indicators such as mean squared error (MSE) in order to evaluate the predictive performance of the model.
[0610] "Means for visualizing prediction results" refers to a function that allows the server to create graphs and scatter plots using libraries such as Matplotlib to visually compare prediction results with actual values.
[0611] "Means for recognizing the user's emotions" refers to technology that allows the server to analyze the user's facial expressions and voice data and recognize their emotional state.
[0612] The "means for adjusting feedback based on recognized emotions" is a system function that changes the way data analysis results are presented depending on the user's emotions, providing the user with optimal information.
[0613] This invention relates to a generative AI system that combines an emotion engine to improve the accuracy of data analysis and user satisfaction. Specifically, this system analyzes research data provided by users, recognizes the user's emotions using the emotion engine, and provides feedback based on those emotions.
[0614] Data Loading and Preprocessing
[0615] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server uses the Pandas library to read the CSV file as a DataFrame. Next, the server performs preprocessing on the read data. Specifically, it deletes rows containing missing values to improve data quality. The server uses the dropna() method to remove missing values.
[0616] Splitting features and targets
[0617] The server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[0618] Splitting the data into training and test
[0619] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[0620] Model training and prediction
[0621] The server trains a model using the training data. For example, using a linear regression model, the server instantiates the LinearRegression class and uses the fit method to train the model from the training data. The server then uses the trained model to make predictions on the test data. The server uses the predict method of the trained model.
[0622] Evaluation and visualization
[0623] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted and actual values and displays the results on the console. Finally, the server creates a scatter plot to visually display the prediction results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values.
[0624] Combining Emotion Engines
[0625] The server uses an emotion engine to recognize the user's emotions. For example, the server can capture the user's facial expression data through a webcam and analyze this data to recognize the user's emotional state (such as joy, sadness, or surprise). It can also analyze audio data to recognize emotions from the user's voice. The server then adaptively adjusts the presentation method of the data analysis results based on the recognized user emotion. For example, if the user expresses surprise or excitement, the server will present more detailed analysis results. If the user expresses confusion or anxiety, the server will simplify the explanation of the analysis results and provide additional hints or explanations.
[0626] Specific examples
[0627] For example, consider the case where a user provides data to a server to predict the reaction rate of a new chemical substance. The user uploads the data as a CSV file. The server reads the data, preprocesses it, splits it into training data and test data, and trains a model. The server then makes predictions for the new data and presents the results to the user. During this process, the server uses an emotion engine to recognize emotions from the user's facial expressions and voice. For example, if the user shows a surprised expression, the server will provide additional graphs and statistical information with detailed analysis results. On the other hand, if the user shows a confused expression, the server will provide a brief explanation, related materials, and hints.
[0628] Prompt Sentence Examples
[0629] "This model predicts the reaction rates of new chemical substances. Data is uploaded to the server as a CSV file, and the engine analyzes the data and presents the results. The way the analysis results are presented is also adjusted depending on the user's emotions."
[0630] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0631] Step 1: Loading Data
[0632] The server reads research data files in CSV format provided by the user.
[0633] Input: User uploaded CSV file
[0634] Specific operation: The server saves the CSV file to the server storage and reads the contents of the file as a DataFrame using the read_csv() method of the Pandas library.
[0635] Output: The loaded data is returned in DataFrame format.
[0636] Step 2: Preprocessing the data
[0637] The server performs preprocessing on the read data.
[0638] Input: DataFrame format data
[0639] What happens: The server uses the dropna() method to remove rows that contain missing values (NaN) and improve data quality.
[0640] Output: A clean DataFrame with missing values removed
[0641] Step 3: Split features and targets
[0642] The server splits the preprocessed data into features and targets.
[0643] Input: A clean DataFrame
[0644] Specific operation: The server uses the drop() method to remove the target variable column and create a DataFrame of features. At the same time, it extracts the target variable column as a separate Series.
[0645] Output: DataFrame of features and Series of targets
[0646] Step 4: Split into training and test data
[0647] The server splits the features and targets into training and test data.
[0648] Input: DataFrame of features and target Series
[0649] Specific operation: The server uses the train_test_split function of the Sci-kit Learn library to split the features and targets into 80% training data and 20% test data.
[0650] Output: training data (X_train, y_train) and test data (X_test, y_test)
[0651] Step 5: Training the model
[0652] The server uses the training data to train the model.
[0653] Input: training data (X_train, y_train)
[0654] Specific behavior: The server instantiates Sci-kit Learn's LinearRegression class and uses the fit method to learn a model from the training data.
[0655] Output: A trained regression model
[0656] Step 6: Predict
[0657] The server uses the trained model to make predictions on test data.
[0658] Input: A trained regression model and test data (X_test)
[0659] Specific behavior: The server makes a prediction using the model's predict method.
[0660] Output: Array of predicted values
[0661] Step 7: Evaluation
[0662] The server evaluates the accuracy of the prediction results.
[0663] Input: array of actual test data target values (y_test) and predicted values
[0664] Specific operation: The server uses Sci-kit Learn's mean_squared_error function to calculate the mean squared error (MSE).
[0665] Output: Evaluation result (MSE)
[0666] Step 8: Visualize the results
[0667] The server creates a scatter plot to visually display the predicted results and actual values.
[0668] Input: array of actual test data target values (y_test) and predicted values
[0669] Specific operation: The server creates a scatter plot using the Matplotlib library and plots it on a graph.
[0670] Output: A visual graph comparing predicted values to actual values
[0671] Step 9: Emotion Recognition
[0672] The server uses an emotion engine to recognize the user's emotion.
[0673] Input: Raw data from webcam or microphone
[0674] Specific operation: The server uses a facial expression recognition library and a voice analysis library to analyze the user's emotions.
[0675] Output: Perceived emotional state
[0676] Step 10: Adaptive Feedback
[0677] The server adjusts the feedback based on the perceived user emotion.
[0678] Input: Recognized emotional state and analysis results
[0679] Specific behavior: The server takes into account the user's emotional state and adaptively changes the content and presentation of the feedback, for example, providing a detailed analysis if the user expresses surprise, or a concise explanation and additional resources if the user expresses confusion.
[0680] Output: Optimized Feedback
[0681] (Application example 2)
[0682] 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."
[0683] Conventional data analysis systems often provide a single result without considering the user's emotions, making it difficult to improve user understanding and satisfaction. Furthermore, in customer service situations in brick-and-mortar stores, it is difficult for staff to instantly assess a customer's emotions and provide appropriate responses. Furthermore, to provide more effective feedback to improve customer satisfaction, a system that can recognize a customer's emotional state in real time is needed.
[0684] 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 data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for training a model using the training data, means for making predictions on test data using the trained model, means for evaluating the prediction results, means for visualizing the prediction results, means for recognizing a user's emotion using an emotion engine, and means for adaptively adjusting the presentation method of the data analysis results based on the recognized emotion. This makes it possible to present analysis results according to the user's emotion, improving user understanding and satisfaction and enabling the quality of customer service in physical stores.
[0685] "Data" is a collection of information that a system uses for analysis and learning.
[0686] "Preprocessing" refers to the process of cleaning data and converting it into a suitable format for analysis prior to data analysis.
[0687] A "feature" is an explanatory variable of data, and is data that serves as the basis for predicting a target variable.
[0688] A "target" is a dependent variable to be predicted, an indicator within a dataset that a model uses to make predictions.
[0689] "Training data" is the portion of the data used to train a model.
[0690] "Test data" is the portion of the data used to evaluate the trained model.
[0691] A "model" is a mathematical or statistical structure used to make predictions or decisions through learning from data.
[0692] "Learning" is the process of adjusting the parameters of a model so that it can make predictions and decisions using training data.
[0693] "Prediction" means that the trained model estimates the value of the target variable based on the input data.
[0694] "Evaluation" is the process of measuring the accuracy of predictions and assessing the performance of the model.
[0695] "Visualization" refers to the visual representation of analysis and prediction results, and is a means of helping users understand them.
[0696] An "emotion engine" is software or hardware that recognizes and analyzes the emotional state of a user or customer.
[0697] "Adaptive adjustment" refers to the process of changing presentation and feedback based on perceived emotions to enhance user understanding and satisfaction.
[0698] "Image data" is a collection of visual information acquired through a visual device such as a camera.
[0699] A "visual device" is a hardware device for acquiring image data, such as a camera or smart glasses.
[0700] "Customer" refers to a user who visits a physical store and uses services or products.
[0701] "Feedback" refers to information or advice provided to users or customers based on analysis or prediction results.
[0702] This invention is a data analysis and emotion recognition system for improving customer service in brick-and-mortar stores. The system reads data, preprocesses it, splits it into features and targets, splits it into training data and test data, trains a model, makes predictions, and evaluates and visualizes the results. It also uses an emotion engine to recognize the emotional state of users and customers and adaptively adjusts the presentation method of the analysis results.
[0703] Program processing explanation
[0704] Hardware and software used
[0705] Hardware: Smartphones, smart glasses, head-mounted displays
[0706] Software: Python, Pandas, Sci-kit Learn, OpenCV, DeepFace
[0707] The server uses this hardware and software to perform the following data processing and data calculations.
[0708] Data Loading and Preprocessing
[0709] The server reads the research data provided by the user in CSV format using the Pandas library. As a preprocessing step, it removes missing values and improves the data quality. This process uses the Pandas dropna() method.
[0710] Split features and targets and train the model
[0711] The server splits the preprocessed data into features and targets, splits it into training data and test data using the train_test_split function of Sci-Kit Learn, trains a model using the LinearRegression class of Sci-Kit Learn, and uses the trained model to make predictions on the test data.
[0712] Evaluation and visualization
[0713] The server evaluates the accuracy of the prediction results using the mean_squared_error function and visualizes them using the Matplotlib library.Furthermore, it uses an emotion engine to analyze the user's facial expressions and voice to recognize emotions.
[0714] Emotion Recognition and Adaptive Feedback
[0715] The server acquires image data from the camera using OpenCV and DeepFace, and recognizes emotions using an emotion engine. Based on the recognized emotions, it adjusts the way the data analysis results are presented and provides optimal feedback to the user's emotions.
[0716] Specific examples
[0717] For example, consider a scenario in which a customer in a physical store asks a question about a product, and a staff member uses smart glasses to capture the customer's facial expression. The server receives the image data and uses its emotion engine to recognize that the customer is confused. Based on this result, the server suggests a concise and clear explanation for the product to the staff member.
[0718] Prompt Sentence Examples
[0719] Prompt: Advise how to respond when a customer asks about a product in a store and looks confused.
[0720] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0721] Step 1:
[0722] The server reads a CSV data file provided by the user. The input is a CSV file, and the output is data in Pandas DataFrame format. Specifically, the server uses the Pandas library to convert the CSV data into a DataFrame using the read_csv method.
[0723] Step 2:
[0724] The server performs preprocessing on the loaded data. The input is data in DataFrame format, and the output is preprocessed DataFrame format data. Specifically, the server removes missing values using the dropna method to improve the quality of the data.
[0725] Step 3:
[0726] The server splits the preprocessed data into features and targets. The input is the preprocessed data in DataFrame format, and the output is the split DataFrame data into features and targets. Specifically, it removes the target variable from the DataFrame using the drop method, and creates a DataFrame of features.
[0727] Step 4:
[0728] The server splits the features and targets into training data and test data. The input is the DataFrame format data split into features and targets, and the output is the data split into training data and test data. Specifically, the train_test_split function of Sci-kit Learn is used.
[0729] Step 5:
[0730] The server trains the model using the training data. The input is the training data, and the output is the trained model. Specifically, it instantiates the LinearRegression class of Sci-kit Learn and trains the model using the fit method.
[0731] Step 6:
[0732] The server uses the trained model to make predictions on test data. The input is the test data, and the output is the prediction result. Specific operations use the predict method of the trained model.
[0733] Step 7:
[0734] The server evaluates the accuracy of the prediction results. The inputs are the prediction results and the actual values of the test data, and the output is the evaluation metric. Specifically, it calculates the MSE using the mean_squared_error function of Sci-kit Learn.
[0735] Step 8:
[0736] The server visualizes the prediction results. The input is the prediction results and the actual values, and the output is a visual display such as a scatter plot. Specifically, it uses the Matplotlib library to draw the graph.
[0737] Step 9:
[0738] The server uses an emotion engine to recognize the user's emotions. The input is image data and audio data captured by the camera, and the output is the recognized emotion information. Specifically, the analysis is performed using the OpenCV and DeepFace libraries.
[0739] Step 10:
[0740] The server adaptively adjusts the presentation method of the data analysis results based on the recognized emotion. The input is emotion information and the data analysis results, and the output is the adjusted analysis results and feedback. Specifically, the server dynamically changes the feedback content according to the recognized emotion.
[0741] The above are the specific processing steps of the system that realizes the application example.
[0742] 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.
[0743] 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.
[0744] 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.
[0745] [Third embodiment]
[0746] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0747] 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.
[0748] 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).
[0749] 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.
[0750] 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.
[0751] 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).
[0752] 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.
[0753] 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.
[0754] 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.
[0755] 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.
[0756] 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.
[0757] 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."
[0758] This invention relates to a generative AI system for streamlining the analysis of large amounts of data in scientific research. Specifically, it automates a series of processes from data reading to preprocessing, model learning, prediction, evaluation, and visualization.
[0759] Program processing
[0760] Data loading
[0761] The server reads the CSV-formatted data file provided by the researcher. The data contains multiple features (independent variables) and a target variable (dependent variable). This process allows researchers to start analysis simply by inputting the data into the system.
[0762] Data Preprocessing
[0763] The server performs preprocessing on the loaded data. Specifically, it removes rows containing missing values and improves the quality of the data, enabling highly accurate analysis.
[0764] Splitting features and targets
[0765] Next, the server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. At this stage, the data is formatted for analysis.
[0766] Splitting the data into training and test
[0767] The server splits the features and targets into training and test data, typically 80% as training data and 20% as test data, which prepares the model for efficient training and evaluation.
[0768] Model training
[0769] The server uses the training data to train the model. For example, in the case of a linear regression model, the server finds the best fit regression line based on the training data. The trained model captures patterns in the training data and has the ability to predict new data.
[0770] prediction
[0771] Using the trained model, the server makes predictions on the test data, which is an important step to see how well the model generalizes.
[0772] evaluation
[0773] The server calculates the mean square error (MSE) to evaluate the accuracy of the prediction results. MSE is the root mean square of the error between the predicted value and the actual value, and a smaller value indicates a higher accuracy of the model.
[0774] Visualizing the results
[0775] Finally, the server visually displays the predicted results and actual values, using scatter plots and other methods to intuitively show how well the predicted values match the actual values, allowing researchers to easily evaluate the performance of the model.
[0776] Specific examples
[0777] For example, if a user wants to perform data analysis to predict the diagnosis of a specific disease in the life sciences field, they upload patient data in CSV format to a server. The server automatically reads the data, removes missing values, splits it, and trains a model. The trained model is then used to predict the diagnosis of new patient data and presents the results to the user. This series of processes allows users to obtain highly accurate predictions without much effort.
[0778] This invention allows researchers to improve the efficiency of data analysis at any stage, enabling them to advance their research more quickly. Furthermore, this system is flexible enough to be applied to different research fields, providing a highly versatile data analysis platform.
[0779] The processing flow will be explained below.
[0780] Step 1:
[0781] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server reads the CSV file as a DataFrame using the Pandas library.
[0782] Step 2:
[0783] The server performs preprocessing on the loaded data, which includes removing rows containing missing values. The server uses the dropna() method to remove rows containing missing values (NaN) from the DataFrame.
[0784] Step 3:
[0785] The server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[0786] Step 4:
[0787] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[0788] Step 5:
[0789] The server learns the model using the training data. For example, for a linear regression model, the server instantiates the LinearRegression class and uses the fit method to learn the model from the training data.
[0790] Step 6:
[0791] The server uses the trained model to make predictions on the test data. The server uses the trained model's predict method to make predictions based on the test dataset.
[0792] Step 7:
[0793] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted value and the actual value and displays the result on the console.
[0794] Step 8:
[0795] The server creates a scatter plot to visually display the predicted results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values. This scatter plot allows users to intuitively understand the performance of the model.
[0796] Example 1
[0797] 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."
[0798] Modern scientific research demands efficient methods for analyzing large amounts of data. However, traditional data analysis methods are complex, making it difficult to streamline the entire process, including data loading, preprocessing, model training, prediction, evaluation, and visualization. This forces researchers to spend a lot of time analyzing data, which can slow down the progress of research. Furthermore, inaccurate data preprocessing and model evaluation can lead to a decrease in the reliability of analysis results. To address these challenges, a system for efficient and accurate data analysis is needed.
[0799] 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.
[0800] In this invention, the server includes means for reading data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for training an analytical model using the training data, means for making predictions on test data using the trained analytical model, means for evaluating the prediction results, and means for visualizing the prediction results, thereby making it possible to streamline the entire data analysis process in scientific research and quickly obtain high-quality analytical results.
[0801] "Reading data" means that the server receives tabular data provided by the user and takes it into the server for analysis.
[0802] "Preprocessing the read data" means removing missing information and other cleaning processes to improve the quality of the data taken in by the server.
[0803] "Splitting preprocessed data into features and targets" means that the server splits the preprocessed data into explanatory variables and target variables in order to put it in a format suitable for analysis.
[0804] "Splitting features and targets into training data and test data" means splitting the data into learning data and evaluation data so that the server can evaluate the accuracy of the analysis.
[0805] "Learning an analytical model using training data" means that the server uses the training data to optimize the analytical model and build a model with predictive power.
[0806] "Making predictions on test data using a trained analytical model" means that the server uses a trained analytical model to make predictions on test data.
[0807] "Evaluating the prediction results" means that the server numerically evaluates the accuracy of the prediction results and confirms the performance of the model.
[0808] "Visualizing the prediction results" means that the server visually displays the prediction results so that the user can intuitively understand the analysis results.
[0809] "Tabular data" refers to a data file that is structured in a column-and-row format.
[0810] "Missing information removal" refers to the process of removing missing information in a dataset to improve the quality of the data.
[0811] A "regression analysis model" is an analytical method for capturing the relationships between numerical data, and refers to a mathematical model for predicting a dependent variable from an explanatory variable.
[0812] "Users providing data for analysis" refers to the act of researchers or end users uploading data to be analyzed to the system.
[0813] "The system analyzes analytical data" means that the system performs a series of data processing and analytical procedures to generate analytical results.
[0814] "The system presents the results to the user" means that the system visualizes the results of the analysis and provides them to the user in a format that can be intuitively understood.
[0815] This invention relates to a generative AI system for streamlining the analysis of large amounts of data in scientific research. Specifically, it automates a series of processes from data reading to preprocessing, model learning, prediction, evaluation, and visualization.
[0816] The program for this system is designed to enable researchers to quickly carry out data analysis, and is primarily a system that works in cooperation between a server, terminals, and users.
[0817] First, the user uploads a CSV data file to the server using the terminal, and the server reads this data using the Pandas library, which allows efficient ingestion of tabular data provided by the user.
[0818] The server then preprocesses the loaded data, using the Pandas library to remove rows containing missing values and perform cleaning to improve the quality of the data, thereby improving the accuracy of the analysis.
[0819] Once preprocessing is complete, the server splits the data into features (explanatory variables) and targets (target variables). At this stage, the NumPy library is used. The split data is then formatted for analysis.
[0820] Next, the server splits the features and targets into training and test data using the train_test_split function from the Scikit-learn library, preparing the data for efficient training and evaluation.
[0821] For the training data, the server trains a linear regression model using Scikit-learn's LinearRegression class, allowing the model to learn patterns in the data and have predictive power for new data.
[0822] The trained model is used to make predictions on test data. The server inputs the test data into the model and obtains prediction results, which allow us to check the model's generalization performance.
[0823] The prediction results are evaluated using the mean squared error (MSE). The server calculates this metric using the mean_squared_error function in Scikit-learn to evaluate the accuracy of the model.
[0824] Finally, the server visually displays the predicted results and actual values, using the Matplotlib library to generate scatter plots and other visualizations to help users intuitively understand the results.
[0825] As a specific example, if a user wants to perform data analysis to predict the diagnosis of a particular disease in the field of life science, the user operates as follows.
[0826] First, the user uploads patient data in CSV format to the server. The server automatically reads the data, removes missing values, and splits it into features and targets. Next, the server splits the data into training and test data and trains a linear regression model. Finally, the trained model is used to predict diagnoses for new patient data and the results are presented to the user. This series of processes allows users to obtain highly accurate predictions without much effort.
[0827] An example of a prompt sentence might be:
[0828] Load the following CSV data and perform predictions using a linear regression model. Delete rows containing missing values and split the data into 80% training data and 20% test data. Complete the entire process, from loading the data to visualizing the results.
[0829] CSV data (example):
[0830] age, gender, blood_pressure, cholesterol, target
[0831] 54, male, 130, 220, 1
[0832] 45, female, 115, 210, 0
[0833] ...
[0834] By using the above prompts, users can issue specific instructions to the system, and the server will execute the entire data analysis process according to those instructions, allowing researchers to proceed with data analysis efficiently.
[0835] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0836] Step 1:
[0837] The server reads a CSV-formatted data file uploaded by the user. The input is a CSV file, and the output is a Pandas data frame. Specifically, the server uses the Pandas library to read the data file into memory as a data frame. This operation prepares the tabular data provided by the user for analysis.
[0838] Step 2:
[0839] The server performs preprocessing on the loaded data. Specifically, it checks for missing values in the CSV file and removes rows containing missing values. The input is the loaded data frame, and the output is a clean data frame with missing values removed. The server achieves this by using the dropna function in Pandas, which improves the quality of the data used for analysis.
[0840] Step 3:
[0841] The server splits the preprocessed data into features (explanatory variables) and targets (objective variables). The input is a preprocessed data frame, and the output is two data frames: feature data and target data. Specifically, the server uses Pandas to select specific columns and split the data into feature data and target data. This operation prepares the data in a format suitable for model training.
[0842] Step 4:
[0843] The server splits the feature data and target data into training data and test data. The input is the feature data and target data, and the output is the training dataset and test dataset. Specifically, the server splits the data using Scikit-learn's train_test_split function. This operation prepares the data for efficient model training and evaluation.
[0844] Step 5:
[0845] The server uses the training data to train an analytical model. The input is the training feature data (X_train) and target data (y_train), and the output is the trained model. Specifically, the server trains a linear regression model using Scikit-learn's LinearRegression class. This operation builds a model that captures patterns in the data.
[0846] Step 6:
[0847] The server uses the trained analytical model to make predictions on test data. The input is the test feature data (X_test), and the output is the prediction result. Specifically, the server uses the trained model to calculate the predicted value for the test data. This operation provides the prediction result for evaluating the generalization performance of the model.
[0848] Step 7:
[0849] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The input is the prediction result and the actual target data (y_test), and the output is the MSE evaluation value. Specifically, the server calculates the MSE using the mean_squared_error function of Scikit-learn. This operation numerically evaluates the performance of the model.
[0850] Step 8:
[0851] The server visually displays the predicted results and actual values. The input is the predicted results and actual target data, and the output is a visualized graph such as a scatter plot. Specifically, the server uses the Matplotlib library to generate a scatter plot and draw a graph comparing the predicted values and actual values. This operation allows the user to intuitively understand the predictive accuracy of the model.
[0852] (Application example 1)
[0853] 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."
[0854] In the field of network security, there is a demand for real-time network traffic monitoring and rapid detection of suspicious behavior. However, it is extremely difficult to efficiently analyze large amounts of network data and immediately identify potential threats. Furthermore, in existing systems, processes such as data preprocessing, model training, and evaluation are often performed manually, resulting in a high workload. The present invention aims to solve these problems and provide an efficient data analysis system for strengthening network security.
[0855] 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.
[0856] In this invention, the server includes means for reading data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for learning a model using the training data, means for making predictions on test data using the learned model, means for evaluating the prediction results, means for visualizing the prediction results, means for monitoring network traffic data in real time, means for automatically detecting potential threats, and means for notifying a user of an alert when a threat is detected. This makes it possible to monitor network traffic in real time and automatically and quickly detect potential threats.
[0857] Below are definitions of important words included in the claims created for application examples.
[0858] "Means for reading data" refers to the process of capturing network traffic data in file format onto the server.
[0859] "Means for preprocessing the loaded data" refers to the process of removing missing values and unnecessary information in order to improve the quality of the data.
[0860] "Means for dividing preprocessed data into features and targets" refers to the process of classifying data into explanatory variables (features) and objective variables (targets) required for analysis.
[0861] "Means for splitting features and targets into training data and test data" refers to the process of splitting a dataset into training data used to train a model and test data used to evaluate the performance of the model.
[0862] "Means of learning a model using training data" refers to the process of training a machine learning model using training data to learn patterns and regularities.
[0863] "Means for making predictions on test data using a trained model" refers to the process of making predictions on test data using a trained model and evaluating the performance of the model.
[0864] "Means for evaluating predicted results" refers to the process of comparing predicted results with actual results and numerically evaluating the accuracy and performance of the model.
[0865] "Visualization of predicted results" is the process of creating graphs and charts to visually represent predicted and actual results.
[0866] "Means for monitoring network traffic data in real time" refers to the process of monitoring data communications on a network in real time and continuously.
[0867] "Means for automatically detecting potential threats" is a process that uses machine learning models to automatically identify and detect anomalous patterns and cyber threats.
[0868] "Means for notifying users of alerts when threats are detected" refers to the process of immediately notifying users of detected threat information and prompting them to take appropriate action.
[0869] This invention relates to an efficient data analysis system for strengthening network security. The system of the present invention makes it possible to monitor network traffic data in real time, automatically detect potential threats, and notify users of alerts.
[0870] Hardware and software used
[0871] The server implements the invention using the following hardware and software:
[0872] Hardware: Server machine (including CPU, memory, and storage), network interface
[0873] Software: Python, Pandas, Scikit-learn, Matplotlib
[0874] Natural language explanation of program processing
[0875] First, the server loads the network traffic data in CSV format, converts the loaded data into a data frame using Pandas, and then preprocesses it to remove rows with missing values to improve the data quality.
[0876] Next, the server separates the preprocessed data into features (explanatory variables) and targets (target variables). This prepares the data in a format suitable for analysis. The features and targets are then split into training data and test data. Typically, 80% is set as training data and 20% as test data.
[0877] The server uses the training data to train a machine learning model (e.g., a logistic regression model). The trained model captures patterns in the training data and has the ability to predict new data.
[0878] Using the trained model, the server makes predictions on the test data. This is an important step to see how well the model generalizes. To evaluate the prediction results, the mean squared error (MSE) is calculated. MSE is the root mean square of the error between the predicted value and the actual value, and a smaller value indicates a more accurate model.
[0879] Finally, the server visually displays the predicted results and the actual values, using Matplotlib to create scatter plots and other visualizations that provide an intuitive understanding of how well the predicted values match the actual values.
[0880] In addition, the system monitors network traffic in real time and automatically detects abnormal patterns. If a potential threat is detected, the server will immediately notify the user with an alert, greatly improving network security.
[0881] Specific examples
[0882] For example, a company could deploy the system of the present invention to monitor the security of its internal network. The system constantly monitors network traffic from each device and automatically detects abnormal traffic patterns and potential cyber attacks. Detected threats can be alerted to administrators in real time, enabling rapid response.
[0883] Prompt Sentence Examples
[0884] The following are examples of prompt sentences that may be used in the system of the present invention:
[0885] Use the following data to build a machine learning model to predict potential cyber attacks. The data is a network traffic log, with each line containing an IP address, volume, port number, timestamp, and activity type. Remove rows with missing values and split the data into 80% for training and 20% for testing. After training the model, make predictions on the test data, calculate the mean squared error, and visualize the results.
[0886] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0887] Step 1:
[0888] The server reads the network traffic data provided by the user in CSV format. As input, it receives the specified file path, converts it to a data frame using Pandas, and generates a data frame as output. Specifically, the server executes "pd.read_csv(file_path)" to bring the data into memory.
[0889] Step 2:
[0890] The server preprocesses the loaded data. It receives a data frame as input, removes rows with missing values, and improves the quality of the data. Specifically, it runs "data.dropna()" to generate a clean data frame as output.
[0891] Step 3:
[0892] The server splits the preprocessed data into features and targets. It receives the clean data frame as input, and sets all columns except the specified target column as features, with the target column as the objective variable. Specifically, it executes "X = data.drop(columns=[target_column])" and "y = data[target_column]" to generate a feature data frame and target series as outputs.
[0893] Step 4:
[0894] The server splits the features and targets into training and test data. It receives the feature data frame and target series as input and splits the dataset into training data (80%) and test data (20%) using Scikit-learn's "train_test_split" function. Specifically, it executes "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)" and generates a training dataset and a test dataset as output.
[0895] Step 5:
[0896] The server trains a machine learning model using the training data. It receives the training dataset (X_train, y_train) as input and trains the model using the logistic regression model. Specifically, it initializes "model = LogisticRegression()" and runs "model.fit(X_train, y_train)" to train the model. It generates the trained model as output.
[0897] Step 6:
[0898] The server uses the trained model to make predictions on the test data. It receives the test dataset (X_test) and the trained model as input, and generates predictions using the model's "predict" method. Specifically, it executes "predictions = model.predict(X_test)" and generates the prediction results as output.
[0899] Step 7:
[0900] The server evaluates the prediction results. It receives the actual value (y_test) and the prediction results (predictions) as input and calculates the mean squared error (MSE). Specifically, it executes "mse = mean_squared_error(y_test, predictions)" and generates the MSE value, which is an evaluation metric, as output.
[0901] Step 8:
[0902] The server visualizes the prediction results. It receives the actual values (y_test) and the predictions (predictions) as input and creates a scatter plot using Matplotlib. Specifically, it executes "plt.scatter(y_test, predictions)" and "plt.show()" to generate a visual display of the results as output.
[0903] Step 9:
[0904] The server monitors network traffic data in real time. It receives real-time data from the network interface as input and captures it as features. Specifically, it captures packets from the network interface card (NIC), collects data in real time, and generates real-time data for analysis as output.
[0905] Step 10:
[0906] The server automatically detects potential threats. It receives the trained model and real-time data as input, uses the model to detect anomalous patterns, and executes "real_time_predictions = model.predict(real_time_data)" to generate threat detection results as output.
[0907] Step 11:
[0908] The server notifies the user of an alert if a threat is detected. It receives the threat detection results as input and sends alerts to the user in real time. Specifically, it uses a notification service to send email, SMS, or push notifications to a dedicated app, and generates a warning notification as output.
[0909] 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.
[0910] This invention relates to a generative AI system that combines an emotion engine to improve the accuracy of data analysis and user satisfaction. Specifically, this system analyzes research data provided by users, recognizes the user's emotions using the emotion engine, and provides feedback based on those emotions.
[0911] Program processing
[0912] Data loading
[0913] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server reads the CSV file as a DataFrame using the Pandas library.
[0914] Data Preprocessing
[0915] The server performs preprocessing on the loaded data. Specifically, it removes rows containing missing values to improve data quality. The server uses the dropna() method to remove rows containing missing values (NaN) from the DataFrame.
[0916] Splitting features and targets
[0917] Next, the server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[0918] Splitting the data into training and test
[0919] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[0920] Model training
[0921] The server learns the model using the training data. For example, for a linear regression model, the server instantiates the LinearRegression class and uses the fit method to learn the model from the training data.
[0922] prediction
[0923] The server uses the trained model to make predictions on the test data. The server uses the predict method of the trained model to make predictions based on the test dataset.
[0924] evaluation
[0925] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted value and the actual value and displays the result on the console.
[0926] Visualizing the results
[0927] Finally, the server creates a scatter plot to visually display the predicted results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values. This scatter plot allows users to intuitively understand the performance of the model.
[0928] Combining Emotion Engines
[0929] emotion recognition
[0930] The server uses an emotion engine to recognize the user's emotions. For example, the server can acquire the user's facial expression data through a webcam and analyze this data to recognize the user's emotional state (happiness, sadness, surprise, etc.). It can also analyze voice data to recognize emotions from the user's voice.
[0931] Adaptive Feedback
[0932] The server adaptively adjusts the presentation of data analysis results based on the user's recognized emotions. For example, if the user expresses surprise or excitement, the server presents more detailed analysis results. If the user expresses confusion or anxiety, the server provides a more concise explanation of the analysis results and offers additional hints and explanations.
[0933] Specific examples
[0934] For example, consider a case where a user provides data to a server to predict the reaction rate of a new chemical substance. The user uploads the data as a CSV file. The server reads the data, preprocesses it, splits it into training data and test data, and trains a model. The server then makes predictions on the new data and presents the results to the user.
[0935] During this process, the server uses an emotion engine to recognize emotions from the user's facial expressions and voice. For example, if the user shows a surprised expression, the server will provide additional graphs and statistical information with detailed analysis results. On the other hand, if the user shows a confused expression, the server will provide a brief explanation along with related materials and tips.
[0936] As described above, the present invention not only makes the data analysis process more efficient, but also improves user understanding and satisfaction by providing feedback according to the user's emotions.
[0937] The processing flow will be explained below.
[0938] Step 1:
[0939] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server reads the CSV file as a DataFrame using the Pandas library.
[0940] Step 2:
[0941] The server performs preprocessing on the loaded data. Specifically, it removes rows containing missing values to improve data quality. The server uses the dropna() method to remove rows containing missing values (NaN) from the DataFrame.
[0942] Step 3:
[0943] The server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[0944] Step 4:
[0945] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[0946] Step 5:
[0947] The server learns the model using the training data. For example, for a linear regression model, the server instantiates the LinearRegression class and uses the fit method to learn the model from the training data.
[0948] Step 6:
[0949] The server uses the trained model to make predictions on the test data. The server uses the predict method of the trained model to make predictions based on the test dataset.
[0950] Step 7:
[0951] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted value and the actual value and displays the result on the console.
[0952] Step 8:
[0953] The server creates a scatter plot to visually display the predicted results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values. This scatter plot allows users to intuitively understand the performance of the model.
[0954] Step 9:
[0955] The server uses an emotion engine to recognize the user's emotions. The server acquires the user's facial expression data through a webcam and analyzes this data to recognize the user's emotional state (happiness, sadness, surprise, etc.). It can also analyze voice data to recognize emotions from the user's voice.
[0956] Step 10:
[0957] The server adaptively adjusts the presentation of data analysis results based on the user's recognized emotions. For example, if the user expresses surprise or excitement, the server presents more detailed analysis results. If the user expresses confusion or anxiety, the server provides a more concise explanation of the analysis results and offers additional hints and explanations.
[0958] Example 2
[0959] 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."
[0960] Conventional data analysis systems perform data preprocessing, model training, and evaluation and visualization of prediction results, but do not provide adaptive feedback based on the user's emotions. As a result, users may find it difficult to understand the analysis results or may not be able to quickly obtain the information they need. The present invention aims to solve these problems and improve the accuracy of data analysis and user satisfaction.
[0961] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0962] In this invention, the server includes means for reading data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for training a model using the training data, means for making predictions on test data using the trained model, means for evaluating the prediction results, means for visualizing the prediction results, means for recognizing a user's emotion, and means for adjusting feedback based on the recognized emotion. This makes it possible to adjust the method for presenting the data analysis results in accordance with the user's emotion, thereby improving user understanding and satisfaction.
[0963] The "means of reading data" is a function that uploads a tabular data file provided by the user to the server, saves the data in the server's storage, and extracts the data using the Pandas library.
[0964] "Means for preprocessing the loaded data" refers to the process of removing missing values and cleansing the data loaded by the server to improve the accuracy of the analysis.
[0965] "Means for splitting preprocessed data into features and targets" refers to the operation of extracting specific columns as features and setting another column as a target variable in order to separate the explanatory variables and target variables of the data.
[0966] The "means of dividing features and targets into training data and test data" is a method of dividing analysis data into training data used for model learning and test data used for performance evaluation.
[0967] The "means of learning a model using training data" refers to a process of using training data to build a predictive model such as a regression model and learning data patterns.
[0968] The "means of making predictions on test data using a trained model" is the process of making predictions on test data using a trained model to obtain prediction results.
[0969] The "means for evaluating the prediction results" refers to the operation of comparing the obtained prediction results with actual values and calculating indicators such as mean squared error (MSE) in order to evaluate the predictive performance of the model.
[0970] "Means for visualizing prediction results" refers to a function that allows the server to create graphs and scatter plots using libraries such as Matplotlib to visually compare prediction results with actual values.
[0971] "Means for recognizing the user's emotions" refers to technology that allows the server to analyze the user's facial expressions and voice data and recognize their emotional state.
[0972] The "means for adjusting feedback based on recognized emotions" is a system function that changes the way data analysis results are presented depending on the user's emotions, providing the user with optimal information.
[0973] This invention relates to a generative AI system that combines an emotion engine to improve the accuracy of data analysis and user satisfaction. Specifically, this system analyzes research data provided by users, recognizes the user's emotions using the emotion engine, and provides feedback based on those emotions.
[0974] Data Loading and Preprocessing
[0975] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server uses the Pandas library to read the CSV file as a DataFrame. Next, the server performs preprocessing on the read data. Specifically, it deletes rows containing missing values to improve data quality. The server uses the dropna() method to remove missing values.
[0976] Splitting features and targets
[0977] The server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[0978] Splitting the data into training and test
[0979] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[0980] Model training and prediction
[0981] The server trains a model using the training data. For example, using a linear regression model, the server instantiates the LinearRegression class and uses the fit method to train the model from the training data. The server then uses the trained model to make predictions on the test data. The server uses the predict method of the trained model.
[0982] Evaluation and visualization
[0983] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted and actual values and displays the results on the console. Finally, the server creates a scatter plot to visually display the prediction results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values.
[0984] Combining Emotion Engines
[0985] The server uses an emotion engine to recognize the user's emotions. For example, the server can capture the user's facial expression data through a webcam and analyze this data to recognize the user's emotional state (such as joy, sadness, or surprise). It can also analyze audio data to recognize emotions from the user's voice. The server then adaptively adjusts the presentation method of the data analysis results based on the recognized user emotion. For example, if the user expresses surprise or excitement, the server will present more detailed analysis results. If the user expresses confusion or anxiety, the server will simplify the explanation of the analysis results and provide additional hints or explanations.
[0986] Specific examples
[0987] For example, consider the case where a user provides data to a server to predict the reaction rate of a new chemical substance. The user uploads the data as a CSV file. The server reads the data, preprocesses it, splits it into training data and test data, and trains a model. The server then makes predictions for the new data and presents the results to the user. During this process, the server uses an emotion engine to recognize emotions from the user's facial expressions and voice. For example, if the user shows a surprised expression, the server will provide additional graphs and statistical information with detailed analysis results. On the other hand, if the user shows a confused expression, the server will provide a brief explanation, related materials, and hints.
[0988] Prompt Sentence Examples
[0989] "This model predicts the reaction rates of new chemical substances. Data is uploaded to the server as a CSV file, and the engine analyzes the data and presents the results. The way the analysis results are presented is also adjusted depending on the user's emotions."
[0990] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0991] Step 1: Loading Data
[0992] The server reads research data files in CSV format provided by the user.
[0993] Input: User uploaded CSV file
[0994] Specific operation: The server saves the CSV file to the server storage and reads the contents of the file as a DataFrame using the read_csv() method of the Pandas library.
[0995] Output: The loaded data is returned in DataFrame format.
[0996] Step 2: Preprocessing the data
[0997] The server performs preprocessing on the read data.
[0998] Input: DataFrame format data
[0999] What happens: The server uses the dropna() method to remove rows that contain missing values (NaN) and improve data quality.
[1000] Output: A clean DataFrame with missing values removed
[1001] Step 3: Split features and targets
[1002] The server splits the preprocessed data into features and targets.
[1003] Input: A clean DataFrame
[1004] Specific operation: The server uses the drop() method to remove the target variable column and create a DataFrame of features. At the same time, it extracts the target variable column as a separate Series.
[1005] Output: DataFrame of features and Series of targets
[1006] Step 4: Split into training and test data
[1007] The server splits the features and targets into training and test data.
[1008] Input: DataFrame of features and target Series
[1009] Specific operation: The server uses the train_test_split function of the Sci-kit Learn library to split the features and targets into 80% training data and 20% test data.
[1010] Output: training data (X_train, y_train) and test data (X_test, y_test)
[1011] Step 5: Training the model
[1012] The server uses the training data to train the model.
[1013] Input: training data (X_train, y_train)
[1014] Specific behavior: The server instantiates Sci-kit Learn's LinearRegression class and uses the fit method to learn a model from the training data.
[1015] Output: A trained regression model
[1016] Step 6: Predict
[1017] The server uses the trained model to make predictions on test data.
[1018] Input: A trained regression model and test data (X_test)
[1019] Specific behavior: The server makes a prediction using the model's predict method.
[1020] Output: Array of predicted values
[1021] Step 7: Evaluation
[1022] The server evaluates the accuracy of the prediction results.
[1023] Input: array of actual test data target values (y_test) and predicted values
[1024] Specific operation: The server uses Sci-kit Learn's mean_squared_error function to calculate the mean squared error (MSE).
[1025] Output: Evaluation result (MSE)
[1026] Step 8: Visualize the results
[1027] The server creates a scatter plot to visually display the predicted results and actual values.
[1028] Input: array of actual test data target values (y_test) and predicted values
[1029] Specific operation: The server creates a scatter plot using the Matplotlib library and plots it on a graph.
[1030] Output: A visual graph comparing predicted values to actual values
[1031] Step 9: Emotion Recognition
[1032] The server uses an emotion engine to recognize the user's emotion.
[1033] Input: Raw data from webcam or microphone
[1034] Specific operation: The server uses a facial expression recognition library and a voice analysis library to analyze the user's emotions.
[1035] Output: Perceived emotional state
[1036] Step 10: Adaptive Feedback
[1037] The server adjusts the feedback based on the perceived user emotion.
[1038] Input: Recognized emotional state and analysis results
[1039] Specific behavior: The server takes into account the user's emotional state and adaptively changes the content and presentation of the feedback, for example, providing a detailed analysis if the user expresses surprise, or a concise explanation and additional resources if the user expresses confusion.
[1040] Output: Optimized Feedback
[1041] (Application example 2)
[1042] 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."
[1043] Conventional data analysis systems often provide a single result without considering the user's emotions, making it difficult to improve user understanding and satisfaction. Furthermore, in customer service situations in brick-and-mortar stores, it is difficult for staff to instantly assess a customer's emotions and provide appropriate responses. Furthermore, to provide more effective feedback to improve customer satisfaction, a system that can recognize a customer's emotional state in real time is needed.
[1044] 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 data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for training a model using the training data, means for making predictions on test data using the trained model, means for evaluating the prediction results, means for visualizing the prediction results, means for recognizing a user's emotion using an emotion engine, and means for adaptively adjusting the presentation method of the data analysis results based on the recognized emotion. This makes it possible to present analysis results according to the user's emotion, improving user understanding and satisfaction and enabling the quality of customer service in physical stores.
[1045] "Data" is a collection of information that a system uses for analysis and learning.
[1046] "Preprocessing" refers to the process of cleaning data and converting it into a suitable format for analysis prior to data analysis.
[1047] A "feature" is an explanatory variable of data, and is data that serves as the basis for predicting a target variable.
[1048] A "target" is a dependent variable to be predicted, an indicator within a dataset that a model uses to make predictions.
[1049] "Training data" is the portion of the data used to train a model.
[1050] "Test data" is the portion of the data used to evaluate the trained model.
[1051] A "model" is a mathematical or statistical structure used to make predictions or decisions through learning from data.
[1052] "Learning" is the process of adjusting the parameters of a model so that it can make predictions and decisions using training data.
[1053] "Prediction" means that the trained model estimates the value of the target variable based on the input data.
[1054] "Evaluation" is the process of measuring the accuracy of predictions and assessing the performance of the model.
[1055] "Visualization" refers to the visual representation of analysis and prediction results, and is a means of helping users understand them.
[1056] An "emotion engine" is software or hardware that recognizes and analyzes the emotional state of a user or customer.
[1057] "Adaptive adjustment" refers to the process of changing presentation and feedback based on perceived emotions to enhance user understanding and satisfaction.
[1058] "Image data" is a collection of visual information acquired through a visual device such as a camera.
[1059] A "visual device" is a hardware device for acquiring image data, such as a camera or smart glasses.
[1060] "Customer" refers to a user who visits a physical store and uses services or products.
[1061] "Feedback" refers to information or advice provided to users or customers based on analysis or prediction results.
[1062] This invention is a data analysis and emotion recognition system for improving customer service in brick-and-mortar stores. The system reads data, preprocesses it, splits it into features and targets, splits it into training data and test data, trains a model, makes predictions, and evaluates and visualizes the results. It also uses an emotion engine to recognize the emotional state of users and customers and adaptively adjusts the presentation method of the analysis results.
[1063] Program processing explanation
[1064] Hardware and software used
[1065] Hardware: Smartphones, smart glasses, head-mounted displays
[1066] Software: Python, Pandas, Sci-kit Learn, OpenCV, DeepFace
[1067] The server uses this hardware and software to perform the following data processing and data calculations.
[1068] Data Loading and Preprocessing
[1069] The server reads the research data provided by the user in CSV format using the Pandas library. As a preprocessing step, it removes missing values and improves the data quality. This process uses the Pandas dropna() method.
[1070] Split features and targets and train the model
[1071] The server splits the preprocessed data into features and targets, splits it into training data and test data using the train_test_split function of Sci-Kit Learn, trains a model using the LinearRegression class of Sci-Kit Learn, and uses the trained model to make predictions on the test data.
[1072] Evaluation and visualization
[1073] The server evaluates the accuracy of the prediction results using the mean_squared_error function and visualizes them using the Matplotlib library.Furthermore, it uses an emotion engine to analyze the user's facial expressions and voice to recognize emotions.
[1074] Emotion Recognition and Adaptive Feedback
[1075] The server acquires image data from the camera using OpenCV and DeepFace, and recognizes emotions using an emotion engine. Based on the recognized emotions, it adjusts the way the data analysis results are presented and provides optimal feedback to the user's emotions.
[1076] Specific examples
[1077] For example, consider a scenario in which a customer in a physical store asks a question about a product, and a staff member uses smart glasses to capture the customer's facial expression. The server receives the image data and uses its emotion engine to recognize that the customer is confused. Based on this result, the server suggests a concise and clear explanation for the product to the staff member.
[1078] Prompt Sentence Examples
[1079] Prompt: Advise how to respond when a customer asks about a product in a store and looks confused.
[1080] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1081] Step 1:
[1082] The server reads a CSV data file provided by the user. The input is a CSV file, and the output is data in Pandas DataFrame format. Specifically, the server uses the Pandas library to convert the CSV data into a DataFrame using the read_csv method.
[1083] Step 2:
[1084] The server performs preprocessing on the loaded data. The input is data in DataFrame format, and the output is preprocessed DataFrame format data. Specifically, the server removes missing values using the dropna method to improve the quality of the data.
[1085] Step 3:
[1086] The server splits the preprocessed data into features and targets. The input is the preprocessed data in DataFrame format, and the output is the split DataFrame data into features and targets. Specifically, it removes the target variable from the DataFrame using the drop method, and creates a DataFrame of features.
[1087] Step 4:
[1088] The server splits the features and targets into training data and test data. The input is the DataFrame format data split into features and targets, and the output is the data split into training data and test data. Specifically, the train_test_split function of Sci-kit Learn is used.
[1089] Step 5:
[1090] The server trains the model using the training data. The input is the training data, and the output is the trained model. Specifically, it instantiates the LinearRegression class of Sci-kit Learn and trains the model using the fit method.
[1091] Step 6:
[1092] The server uses the trained model to make predictions on test data. The input is the test data, and the output is the prediction result. Specific operations use the predict method of the trained model.
[1093] Step 7:
[1094] The server evaluates the accuracy of the prediction results. The inputs are the prediction results and the actual values of the test data, and the output is the evaluation metric. Specifically, it calculates the MSE using the mean_squared_error function of Sci-kit Learn.
[1095] Step 8:
[1096] The server visualizes the prediction results. The input is the prediction results and the actual values, and the output is a visual display such as a scatter plot. Specifically, it uses the Matplotlib library to draw the graph.
[1097] Step 9:
[1098] The server uses an emotion engine to recognize the user's emotions. The input is image data and audio data captured by the camera, and the output is the recognized emotion information. Specifically, the analysis is performed using the OpenCV and DeepFace libraries.
[1099] Step 10:
[1100] The server adaptively adjusts the presentation method of the data analysis results based on the recognized emotion. The input is emotion information and the data analysis results, and the output is the adjusted analysis results and feedback. Specifically, the server dynamically changes the feedback content according to the recognized emotion.
[1101] The above are the specific processing steps of the system that realizes the application example.
[1102] 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.
[1103] 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.
[1104] 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.
[1105] [Fourth embodiment]
[1106] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1107] 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.
[1108] 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).
[1109] 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.
[1110] 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.
[1111] 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).
[1112] 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.
[1113] 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.
[1114] 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.
[1115] 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.
[1116] 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.
[1117] 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.
[1118] 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."
[1119] This invention relates to a generative AI system for streamlining the analysis of large amounts of data in scientific research. Specifically, it automates a series of processes from data reading to preprocessing, model learning, prediction, evaluation, and visualization.
[1120] Program processing
[1121] Data loading
[1122] The server reads the CSV-formatted data file provided by the researcher. The data contains multiple features (independent variables) and a target variable (dependent variable). This process allows researchers to start analysis simply by inputting the data into the system.
[1123] Data Preprocessing
[1124] The server performs preprocessing on the loaded data. Specifically, it removes rows containing missing values and improves the quality of the data, enabling highly accurate analysis.
[1125] Splitting features and targets
[1126] Next, the server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. At this stage, the data is formatted for analysis.
[1127] Splitting the data into training and test
[1128] The server splits the features and targets into training and test data, typically 80% as training data and 20% as test data, which prepares the model for efficient training and evaluation.
[1129] Model training
[1130] The server uses the training data to train the model. For example, in the case of a linear regression model, the server finds the best fit regression line based on the training data. The trained model captures patterns in the training data and has the ability to predict new data.
[1131] prediction
[1132] Using the trained model, the server makes predictions on the test data, which is an important step to see how well the model generalizes.
[1133] evaluation
[1134] The server calculates the mean square error (MSE) to evaluate the accuracy of the prediction results. MSE is the root mean square of the error between the predicted value and the actual value, and a smaller value indicates a higher accuracy of the model.
[1135] Visualizing the results
[1136] Finally, the server visually displays the predicted results and actual values, using scatter plots and other methods to intuitively show how well the predicted values match the actual values, allowing researchers to easily evaluate the performance of the model.
[1137] Specific examples
[1138] For example, if a user wants to perform data analysis to predict the diagnosis of a specific disease in the life sciences field, they upload patient data in CSV format to a server. The server automatically reads the data, removes missing values, splits it, and trains a model. The trained model is then used to predict the diagnosis of new patient data and presents the results to the user. This series of processes allows users to obtain highly accurate predictions without much effort.
[1139] This invention allows researchers to improve the efficiency of data analysis at any stage, enabling them to advance their research more quickly. Furthermore, this system is flexible enough to be applied to different research fields, providing a highly versatile data analysis platform.
[1140] The processing flow will be explained below.
[1141] Step 1:
[1142] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server reads the CSV file as a DataFrame using the Pandas library.
[1143] Step 2:
[1144] The server performs preprocessing on the loaded data, which includes removing rows containing missing values. The server uses the dropna() method to remove rows containing missing values (NaN) from the DataFrame.
[1145] Step 3:
[1146] The server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[1147] Step 4:
[1148] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[1149] Step 5:
[1150] The server learns the model using the training data. For example, for a linear regression model, the server instantiates the LinearRegression class and uses the fit method to learn the model from the training data.
[1151] Step 6:
[1152] The server uses the trained model to make predictions on the test data. The server uses the trained model's predict method to make predictions based on the test dataset.
[1153] Step 7:
[1154] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted value and the actual value and displays the result on the console.
[1155] Step 8:
[1156] The server creates a scatter plot to visually display the predicted results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values. This scatter plot allows users to intuitively understand the performance of the model.
[1157] Example 1
[1158] 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."
[1159] Modern scientific research demands efficient methods for analyzing large amounts of data. However, traditional data analysis methods are complex, making it difficult to streamline the entire process, including data loading, preprocessing, model training, prediction, evaluation, and visualization. This forces researchers to spend a lot of time analyzing data, which can slow down the progress of research. Furthermore, inaccurate data preprocessing and model evaluation can lead to a decrease in the reliability of analysis results. To address these challenges, a system for efficient and accurate data analysis is needed.
[1160] 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.
[1161] In this invention, the server includes means for reading data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for training an analytical model using the training data, means for making predictions on test data using the trained analytical model, means for evaluating the prediction results, and means for visualizing the prediction results, thereby making it possible to streamline the entire data analysis process in scientific research and quickly obtain high-quality analytical results.
[1162] "Reading data" means that the server receives tabular data provided by the user and takes it into the server for analysis.
[1163] "Preprocessing the read data" means removing missing information and other cleaning processes to improve the quality of the data taken in by the server.
[1164] "Splitting preprocessed data into features and targets" means that the server splits the preprocessed data into explanatory variables and target variables in order to put it in a format suitable for analysis.
[1165] "Splitting features and targets into training data and test data" means splitting the data into learning data and evaluation data so that the server can evaluate the accuracy of the analysis.
[1166] "Learning an analytical model using training data" means that the server uses the training data to optimize the analytical model and build a model with predictive power.
[1167] "Making predictions on test data using a trained analytical model" means that the server uses a trained analytical model to make predictions on test data.
[1168] "Evaluating the prediction results" means that the server numerically evaluates the accuracy of the prediction results and confirms the performance of the model.
[1169] "Visualizing the prediction results" means that the server visually displays the prediction results so that the user can intuitively understand the analysis results.
[1170] "Tabular data" refers to a data file that is structured in a column-and-row format.
[1171] "Missing information removal" refers to the process of removing missing information in a dataset to improve the quality of the data.
[1172] A "regression analysis model" is an analytical method for capturing the relationships between numerical data, and refers to a mathematical model for predicting a dependent variable from an explanatory variable.
[1173] "Users providing data for analysis" refers to the act of researchers or end users uploading data to be analyzed to the system.
[1174] "The system analyzes analytical data" means that the system performs a series of data processing and analytical procedures to generate analytical results.
[1175] "The system presents the results to the user" means that the system visualizes the results of the analysis and provides them to the user in a format that can be intuitively understood.
[1176] This invention relates to a generative AI system for streamlining the analysis of large amounts of data in scientific research. Specifically, it automates a series of processes from data reading to preprocessing, model learning, prediction, evaluation, and visualization.
[1177] The program for this system is designed to enable researchers to quickly carry out data analysis, and is primarily a system that works in cooperation between a server, terminals, and users.
[1178] First, the user uploads a CSV data file to the server using the terminal, and the server reads this data using the Pandas library, which allows efficient ingestion of tabular data provided by the user.
[1179] The server then preprocesses the loaded data, using the Pandas library to remove rows containing missing values and perform cleaning to improve the quality of the data, thereby improving the accuracy of the analysis.
[1180] Once preprocessing is complete, the server splits the data into features (explanatory variables) and targets (target variables). At this stage, the NumPy library is used. The split data is then formatted for analysis.
[1181] Next, the server splits the features and targets into training and test data using the train_test_split function from the Scikit-learn library, preparing the data for efficient training and evaluation.
[1182] For the training data, the server trains a linear regression model using Scikit-learn's LinearRegression class, allowing the model to learn patterns in the data and have predictive power for new data.
[1183] The trained model is used to make predictions on test data. The server inputs the test data into the model and obtains prediction results, which allow us to check the model's generalization performance.
[1184] The prediction results are evaluated using the mean squared error (MSE). The server calculates this metric using the mean_squared_error function in Scikit-learn to evaluate the accuracy of the model.
[1185] Finally, the server visually displays the predicted results and actual values, using the Matplotlib library to generate scatter plots and other visualizations to help users intuitively understand the results.
[1186] As a specific example, if a user wants to perform data analysis to predict the diagnosis of a particular disease in the field of life science, the user operates as follows.
[1187] First, the user uploads patient data in CSV format to the server. The server automatically reads the data, removes missing values, and splits it into features and targets. Next, the server splits the data into training and test data and trains a linear regression model. Finally, the trained model is used to predict diagnoses for new patient data and the results are presented to the user. This series of processes allows users to obtain highly accurate predictions without much effort.
[1188] An example of a prompt sentence might be:
[1189] Load the following CSV data and perform predictions using a linear regression model. Delete rows containing missing values and split the data into 80% training data and 20% test data. Complete the entire process, from loading the data to visualizing the results.
[1190] CSV data (example):
[1191] age, gender, blood_pressure, cholesterol, target
[1192] 54, male, 130, 220, 1
[1193] 45, female, 115, 210, 0
[1194] ...
[1195] By using the above prompts, users can issue specific instructions to the system, and the server will execute the entire data analysis process according to those instructions, allowing researchers to proceed with data analysis efficiently.
[1196] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1197] Step 1:
[1198] The server reads a CSV-formatted data file uploaded by the user. The input is a CSV file, and the output is a Pandas data frame. Specifically, the server uses the Pandas library to read the data file into memory as a data frame. This operation prepares the tabular data provided by the user for analysis.
[1199] Step 2:
[1200] The server performs preprocessing on the loaded data. Specifically, it checks for missing values in the CSV file and removes rows containing missing values. The input is the loaded data frame, and the output is a clean data frame with missing values removed. The server achieves this by using the dropna function in Pandas, which improves the quality of the data used for analysis.
[1201] Step 3:
[1202] The server splits the preprocessed data into features (explanatory variables) and targets (objective variables). The input is a preprocessed data frame, and the output is two data frames: feature data and target data. Specifically, the server uses Pandas to select specific columns and split the data into feature data and target data. This operation prepares the data in a format suitable for model training.
[1203] Step 4:
[1204] The server splits the feature data and target data into training data and test data. The input is the feature data and target data, and the output is the training dataset and test dataset. Specifically, the server splits the data using Scikit-learn's train_test_split function. This operation prepares the data for efficient model training and evaluation.
[1205] Step 5:
[1206] The server uses the training data to train an analytical model. The input is the training feature data (X_train) and target data (y_train), and the output is the trained model. Specifically, the server trains a linear regression model using Scikit-learn's LinearRegression class. This operation builds a model that captures patterns in the data.
[1207] Step 6:
[1208] The server uses the trained analytical model to make predictions on test data. The input is the test feature data (X_test), and the output is the prediction result. Specifically, the server uses the trained model to calculate the predicted value for the test data. This operation provides the prediction result for evaluating the generalization performance of the model.
[1209] Step 7:
[1210] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The input is the prediction result and the actual target data (y_test), and the output is the MSE evaluation value. Specifically, the server calculates the MSE using the mean_squared_error function of Scikit-learn. This operation numerically evaluates the performance of the model.
[1211] Step 8:
[1212] The server visually displays the predicted results and actual values. The input is the predicted results and actual target data, and the output is a visualized graph such as a scatter plot. Specifically, the server uses the Matplotlib library to generate a scatter plot and draw a graph comparing the predicted values and actual values. This operation allows the user to intuitively understand the predictive accuracy of the model.
[1213] (Application example 1)
[1214] 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."
[1215] In the field of network security, there is a demand for real-time network traffic monitoring and rapid detection of suspicious behavior. However, it is extremely difficult to efficiently analyze large amounts of network data and immediately identify potential threats. Furthermore, in existing systems, processes such as data preprocessing, model training, and evaluation are often performed manually, resulting in a high workload. The present invention aims to solve these problems and provide an efficient data analysis system for strengthening network security.
[1216] 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.
[1217] In this invention, the server includes means for reading data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for learning a model using the training data, means for making predictions on test data using the learned model, means for evaluating the prediction results, means for visualizing the prediction results, means for monitoring network traffic data in real time, means for automatically detecting potential threats, and means for notifying a user of an alert when a threat is detected. This makes it possible to monitor network traffic in real time and automatically and quickly detect potential threats.
[1218] Below are definitions of important words included in the claims created for application examples.
[1219] "Means for reading data" refers to the process of capturing network traffic data in file format onto the server.
[1220] "Means for preprocessing the loaded data" refers to the process of removing missing values and unnecessary information in order to improve the quality of the data.
[1221] "Means for dividing preprocessed data into features and targets" refers to the process of classifying data into explanatory variables (features) and objective variables (targets) required for analysis.
[1222] "Means for splitting features and targets into training data and test data" refers to the process of splitting a dataset into training data used to train a model and test data used to evaluate the performance of the model.
[1223] "Means of learning a model using training data" refers to the process of training a machine learning model using training data to learn patterns and regularities.
[1224] "Means for making predictions on test data using a trained model" refers to the process of making predictions on test data using a trained model and evaluating the performance of the model.
[1225] "Means for evaluating predicted results" refers to the process of comparing predicted results with actual results and numerically evaluating the accuracy and performance of the model.
[1226] "Visualization of predicted results" is the process of creating graphs and charts to visually represent predicted and actual results.
[1227] "Means for monitoring network traffic data in real time" refers to the process of monitoring data communications on a network in real time and continuously.
[1228] "Means for automatically detecting potential threats" is a process that uses machine learning models to automatically identify and detect anomalous patterns and cyber threats.
[1229] "Means for notifying users of alerts when threats are detected" refers to the process of immediately notifying users of detected threat information and prompting them to take appropriate action.
[1230] This invention relates to an efficient data analysis system for strengthening network security. The system of the present invention makes it possible to monitor network traffic data in real time, automatically detect potential threats, and notify users of alerts.
[1231] Hardware and software used
[1232] The server implements the invention using the following hardware and software:
[1233] Hardware: Server machine (including CPU, memory, and storage), network interface
[1234] Software: Python, Pandas, Scikit-learn, Matplotlib
[1235] Natural language explanation of program processing
[1236] First, the server loads the network traffic data in CSV format, converts the loaded data into a data frame using Pandas, and then preprocesses it to remove rows with missing values to improve the data quality.
[1237] Next, the server separates the preprocessed data into features (explanatory variables) and targets (target variables). This prepares the data in a format suitable for analysis. The features and targets are then split into training data and test data. Typically, 80% is set as training data and 20% as test data.
[1238] The server uses the training data to train a machine learning model (e.g., a logistic regression model). The trained model captures patterns in the training data and has the ability to predict new data.
[1239] Using the trained model, the server makes predictions on the test data. This is an important step to see how well the model generalizes. To evaluate the prediction results, the mean squared error (MSE) is calculated. MSE is the root mean square of the error between the predicted value and the actual value, and a smaller value indicates a more accurate model.
[1240] Finally, the server visually displays the predicted results and the actual values, using Matplotlib to create scatter plots and other visualizations that provide an intuitive understanding of how well the predicted values match the actual values.
[1241] In addition, the system monitors network traffic in real time and automatically detects abnormal patterns. If a potential threat is detected, the server will immediately notify the user with an alert, greatly improving network security.
[1242] Specific examples
[1243] For example, a company could deploy the system of the present invention to monitor the security of its internal network. The system constantly monitors network traffic from each device and automatically detects abnormal traffic patterns and potential cyber attacks. Detected threats can be alerted to administrators in real time, enabling rapid response.
[1244] Prompt Sentence Examples
[1245] The following are examples of prompt sentences that may be used in the system of the present invention:
[1246] Use the following data to build a machine learning model to predict potential cyber attacks. The data is a network traffic log, with each line containing an IP address, volume, port number, timestamp, and activity type. Remove rows with missing values and split the data into 80% for training and 20% for testing. After training the model, make predictions on the test data, calculate the mean squared error, and visualize the results.
[1247] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1248] Step 1:
[1249] The server reads the network traffic data provided by the user in CSV format. As input, it receives the specified file path, converts it to a data frame using Pandas, and generates a data frame as output. Specifically, the server executes "pd.read_csv(file_path)" to bring the data into memory.
[1250] Step 2:
[1251] The server preprocesses the loaded data. It receives a data frame as input, removes rows with missing values, and improves the quality of the data. Specifically, it runs "data.dropna()" to generate a clean data frame as output.
[1252] Step 3:
[1253] The server splits the preprocessed data into features and targets. It receives the clean data frame as input, and sets all columns except the specified target column as features, with the target column as the objective variable. Specifically, it executes "X = data.drop(columns=[target_column])" and "y = data[target_column]" to generate a feature data frame and target series as outputs.
[1254] Step 4:
[1255] The server splits the features and targets into training and test data. It receives the feature data frame and target series as input and splits the dataset into training data (80%) and test data (20%) using Scikit-learn's "train_test_split" function. Specifically, it executes "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)" and generates a training dataset and a test dataset as output.
[1256] Step 5:
[1257] The server trains a machine learning model using the training data. It receives the training dataset (X_train, y_train) as input and trains the model using the logistic regression model. Specifically, it initializes "model = LogisticRegression()" and runs "model.fit(X_train, y_train)" to train the model. It generates the trained model as output.
[1258] Step 6:
[1259] The server uses the trained model to make predictions on the test data. It receives the test dataset (X_test) and the trained model as input, and generates predictions using the model's "predict" method. Specifically, it executes "predictions = model.predict(X_test)" and generates the prediction results as output.
[1260] Step 7:
[1261] The server evaluates the prediction results. It receives the actual value (y_test) and the prediction results (predictions) as input and calculates the mean squared error (MSE). Specifically, it executes "mse = mean_squared_error(y_test, predictions)" and generates the MSE value, which is an evaluation metric, as output.
[1262] Step 8:
[1263] The server visualizes the prediction results. It receives the actual values (y_test) and the predictions (predictions) as input and creates a scatter plot using Matplotlib. Specifically, it executes "plt.scatter(y_test, predictions)" and "plt.show()" to generate a visual display of the results as output.
[1264] Step 9:
[1265] The server monitors network traffic data in real time. It receives real-time data from the network interface as input and captures it as features. Specifically, it captures packets from the network interface card (NIC), collects data in real time, and generates real-time data for analysis as output.
[1266] Step 10:
[1267] The server automatically detects potential threats. It receives the trained model and real-time data as input, uses the model to detect anomalous patterns, and executes "real_time_predictions = model.predict(real_time_data)" to generate threat detection results as output.
[1268] Step 11:
[1269] The server notifies the user of an alert if a threat is detected. It receives the threat detection results as input and sends alerts to the user in real time. Specifically, it uses a notification service to send email, SMS, or push notifications to a dedicated app, and generates a warning notification as output.
[1270] 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.
[1271] This invention relates to a generative AI system that combines an emotion engine to improve the accuracy of data analysis and user satisfaction. Specifically, this system analyzes research data provided by users, recognizes the user's emotions using the emotion engine, and provides feedback based on those emotions.
[1272] Program processing
[1273] Data loading
[1274] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server reads the CSV file as a DataFrame using the Pandas library.
[1275] Data Preprocessing
[1276] The server performs preprocessing on the loaded data. Specifically, it removes rows containing missing values to improve data quality. The server uses the dropna() method to remove rows containing missing values (NaN) from the DataFrame.
[1277] Splitting features and targets
[1278] Next, the server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[1279] Splitting the data into training and test
[1280] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[1281] Model training
[1282] The server learns the model using the training data. For example, for a linear regression model, the server instantiates the LinearRegression class and uses the fit method to learn the model from the training data.
[1283] prediction
[1284] The server uses the trained model to make predictions on the test data. The server uses the predict method of the trained model to make predictions based on the test dataset.
[1285] evaluation
[1286] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted value and the actual value and displays the result on the console.
[1287] Visualizing the results
[1288] Finally, the server creates a scatter plot to visually display the predicted results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values. This scatter plot allows users to intuitively understand the performance of the model.
[1289] Combining Emotion Engines
[1290] emotion recognition
[1291] The server uses an emotion engine to recognize the user's emotions. For example, the server can acquire the user's facial expression data through a webcam and analyze this data to recognize the user's emotional state (happiness, sadness, surprise, etc.). It can also analyze voice data to recognize emotions from the user's voice.
[1292] Adaptive Feedback
[1293] The server adaptively adjusts the presentation of data analysis results based on the user's recognized emotions. For example, if the user expresses surprise or excitement, the server presents more detailed analysis results. If the user expresses confusion or anxiety, the server provides a more concise explanation of the analysis results and offers additional hints and explanations.
[1294] Specific examples
[1295] For example, consider a case where a user provides data to a server to predict the reaction rate of a new chemical substance. The user uploads the data as a CSV file. The server reads the data, preprocesses it, splits it into training data and test data, and trains a model. The server then makes predictions on the new data and presents the results to the user.
[1296] During this process, the server uses an emotion engine to recognize emotions from the user's facial expressions and voice. For example, if the user shows a surprised expression, the server will provide additional graphs and statistical information with detailed analysis results. On the other hand, if the user shows a confused expression, the server will provide a brief explanation along with related materials and tips.
[1297] As described above, the present invention not only makes the data analysis process more efficient, but also improves user understanding and satisfaction by providing feedback according to the user's emotions.
[1298] The processing flow will be explained below.
[1299] Step 1:
[1300] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server reads the CSV file as a DataFrame using the Pandas library.
[1301] Step 2:
[1302] The server performs preprocessing on the loaded data. Specifically, it removes rows containing missing values to improve data quality. The server uses the dropna() method to remove rows containing missing values (NaN) from the DataFrame.
[1303] Step 3:
[1304] The server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[1305] Step 4:
[1306] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[1307] Step 5:
[1308] The server learns the model using the training data. For example, for a linear regression model, the server instantiates the LinearRegression class and uses the fit method to learn the model from the training data.
[1309] Step 6:
[1310] The server uses the trained model to make predictions on the test data. The server uses the predict method of the trained model to make predictions based on the test dataset.
[1311] Step 7:
[1312] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted value and the actual value and displays the result on the console.
[1313] Step 8:
[1314] The server creates a scatter plot to visually display the predicted results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values. This scatter plot allows users to intuitively understand the performance of the model.
[1315] Step 9:
[1316] The server uses an emotion engine to recognize the user's emotions. The server acquires the user's facial expression data through a webcam and analyzes this data to recognize the user's emotional state (happiness, sadness, surprise, etc.). It can also analyze voice data to recognize emotions from the user's voice.
[1317] Step 10:
[1318] The server adaptively adjusts the presentation of data analysis results based on the user's recognized emotions. For example, if the user expresses surprise or excitement, the server presents more detailed analysis results. If the user expresses confusion or anxiety, the server provides a more concise explanation of the analysis results and offers additional hints and explanations.
[1319] Example 2
[1320] 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."
[1321] Conventional data analysis systems perform data preprocessing, model training, and evaluation and visualization of prediction results, but do not provide adaptive feedback based on the user's emotions. As a result, users may find it difficult to understand the analysis results or may not be able to quickly obtain the information they need. The present invention aims to solve these problems and improve the accuracy of data analysis and user satisfaction.
[1322] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1323] In this invention, the server includes means for reading data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for training a model using the training data, means for making predictions on test data using the trained model, means for evaluating the prediction results, means for visualizing the prediction results, means for recognizing a user's emotion, and means for adjusting feedback based on the recognized emotion. This makes it possible to adjust the method for presenting the data analysis results in accordance with the user's emotion, thereby improving user understanding and satisfaction.
[1324] The "means of reading data" is a function that uploads a tabular data file provided by the user to the server, saves the data in the server's storage, and extracts the data using the Pandas library.
[1325] "Means for preprocessing the loaded data" refers to the process of removing missing values and cleansing the data loaded by the server to improve the accuracy of the analysis.
[1326] "Means for splitting preprocessed data into features and targets" refers to the operation of extracting specific columns as features and setting another column as a target variable in order to separate the explanatory variables and target variables of the data.
[1327] The "means of dividing features and targets into training data and test data" is a method of dividing analysis data into training data used for model learning and test data used for performance evaluation.
[1328] The "means of learning a model using training data" refers to a process of using training data to build a predictive model such as a regression model and learning data patterns.
[1329] The "means of making predictions on test data using a trained model" is the process of making predictions on test data using a trained model to obtain prediction results.
[1330] The "means for evaluating the prediction results" refers to the operation of comparing the obtained prediction results with actual values and calculating indicators such as mean squared error (MSE) in order to evaluate the predictive performance of the model.
[1331] "Means for visualizing prediction results" refers to a function that allows the server to create graphs and scatter plots using libraries such as Matplotlib to visually compare prediction results with actual values.
[1332] "Means for recognizing the user's emotions" refers to technology that allows the server to analyze the user's facial expressions and voice data and recognize their emotional state.
[1333] The "means for adjusting feedback based on recognized emotions" is a system function that changes the way data analysis results are presented depending on the user's emotions, providing the user with optimal information.
[1334] This invention relates to a generative AI system that combines an emotion engine to improve the accuracy of data analysis and user satisfaction. Specifically, this system analyzes research data provided by users, recognizes the user's emotions using the emotion engine, and provides feedback based on those emotions.
[1335] Data Loading and Preprocessing
[1336] The server reads a research data file in CSV format provided by the user. The data file contains multiple features (independent variables) and a target variable (dependent variable). The server uses the Pandas library to read the CSV file as a DataFrame. Next, the server performs preprocessing on the read data. Specifically, it deletes rows containing missing values to improve data quality. The server uses the dropna() method to remove missing values.
[1337] Splitting features and targets
[1338] The server splits the preprocessed data into features and targets. The features are explanatory variables of the data, and the targets are the objective variables for prediction. The server removes the target variables from the DataFrame using the drop() method and creates a DataFrame of features.
[1339] Splitting the data into training and test
[1340] The server splits the features and targets into training data and test data. Typically, 80% is set as training data and 20% as test data. The server performs this split using the train_test_split function from the Sci-kit Learn library.
[1341] Model training and prediction
[1342] The server trains a model using the training data. For example, using a linear regression model, the server instantiates the LinearRegression class and uses the fit method to train the model from the training data. The server then uses the trained model to make predictions on the test data. The server uses the predict method of the trained model.
[1343] Evaluation and visualization
[1344] The server calculates the mean squared error (MSE) to evaluate the accuracy of the prediction results. The server uses the mean_squared_error function to measure the difference between the predicted and actual values and displays the results on the console. Finally, the server creates a scatter plot to visually display the prediction results and actual values. The server uses the Matplotlib library to draw the scatter plot, which visually shows how well the predicted values match the actual values.
[1345] Combining Emotion Engines
[1346] The server uses an emotion engine to recognize the user's emotions. For example, the server can capture the user's facial expression data through a webcam and analyze this data to recognize the user's emotional state (such as joy, sadness, or surprise). It can also analyze audio data to recognize emotions from the user's voice. The server then adaptively adjusts the presentation method of the data analysis results based on the recognized user emotion. For example, if the user expresses surprise or excitement, the server will present more detailed analysis results. If the user expresses confusion or anxiety, the server will simplify the explanation of the analysis results and provide additional hints or explanations.
[1347] Specific examples
[1348] For example, consider the case where a user provides data to a server to predict the reaction rate of a new chemical substance. The user uploads the data as a CSV file. The server reads the data, preprocesses it, splits it into training data and test data, and trains a model. The server then makes predictions for the new data and presents the results to the user. During this process, the server uses an emotion engine to recognize emotions from the user's facial expressions and voice. For example, if the user shows a surprised expression, the server will provide additional graphs and statistical information with detailed analysis results. On the other hand, if the user shows a confused expression, the server will provide a brief explanation, related materials, and hints.
[1349] Prompt Sentence Examples
[1350] "This model predicts the reaction rates of new chemical substances. Data is uploaded to the server as a CSV file, and the engine analyzes the data and presents the results. The way the analysis results are presented is also adjusted depending on the user's emotions."
[1351] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1352] Step 1: Loading Data
[1353] The server reads research data files in CSV format provided by the user.
[1354] Input: User uploaded CSV file
[1355] Specific operation: The server saves the CSV file to the server storage and reads the contents of the file as a DataFrame using the read_csv() method of the Pandas library.
[1356] Output: The loaded data is returned in DataFrame format.
[1357] Step 2: Preprocessing the data
[1358] The server performs preprocessing on the read data.
[1359] Input: DataFrame format data
[1360] What happens: The server uses the dropna() method to remove rows that contain missing values (NaN) and improve data quality.
[1361] Output: A clean DataFrame with missing values removed
[1362] Step 3: Split features and targets
[1363] The server splits the preprocessed data into features and targets.
[1364] Input: A clean DataFrame
[1365] Specific operation: The server uses the drop() method to remove the target variable column and create a DataFrame of features. At the same time, it extracts the target variable column as a separate Series.
[1366] Output: DataFrame of features and Series of targets
[1367] Step 4: Split into training and test data
[1368] The server splits the features and targets into training and test data.
[1369] Input: DataFrame of features and target Series
[1370] Specific operation: The server uses the train_test_split function of the Sci-kit Learn library to split the features and targets into 80% training data and 20% test data.
[1371] Output: training data (X_train, y_train) and test data (X_test, y_test)
[1372] Step 5: Training the model
[1373] The server uses the training data to train the model.
[1374] Input: training data (X_train, y_train)
[1375] Specific behavior: The server instantiates Sci-kit Learn's LinearRegression class and uses the fit method to learn a model from the training data.
[1376] Output: A trained regression model
[1377] Step 6: Predict
[1378] The server uses the trained model to make predictions on test data.
[1379] Input: A trained regression model and test data (X_test)
[1380] Specific behavior: The server makes a prediction using the model's predict method.
[1381] Output: Array of predicted values
[1382] Step 7: Evaluation
[1383] The server evaluates the accuracy of the prediction results.
[1384] Input: array of actual test data target values (y_test) and predicted values
[1385] Specific operation: The server uses Sci-kit Learn's mean_squared_error function to calculate the mean squared error (MSE).
[1386] Output: Evaluation result (MSE)
[1387] Step 8: Visualize the results
[1388] The server creates a scatter plot to visually display the predicted results and actual values.
[1389] Input: array of actual test data target values (y_test) and predicted values
[1390] Specific operation: The server creates a scatter plot using the Matplotlib library and plots it on a graph.
[1391] Output: A visual graph comparing predicted values to actual values
[1392] Step 9: Emotion Recognition
[1393] The server uses an emotion engine to recognize the user's emotion.
[1394] Input: Raw data from webcam or microphone
[1395] Specific operation: The server uses a facial expression recognition library and a voice analysis library to analyze the user's emotions.
[1396] Output: Perceived emotional state
[1397] Step 10: Adaptive Feedback
[1398] The server adjusts the feedback based on the perceived user emotion.
[1399] Input: Recognized emotional state and analysis results
[1400] Specific behavior: The server takes into account the user's emotional state and adaptively changes the content and presentation of the feedback, for example, providing a detailed analysis if the user expresses surprise, or a concise explanation and additional resources if the user expresses confusion.
[1401] Output: Optimized Feedback
[1402] (Application example 2)
[1403] 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."
[1404] Conventional data analysis systems often provide a single result without considering the user's emotions, making it difficult to improve user understanding and satisfaction. Furthermore, in customer service situations in brick-and-mortar stores, it is difficult for staff to instantly assess a customer's emotions and provide appropriate responses. Furthermore, to provide more effective feedback to improve customer satisfaction, a system that can recognize a customer's emotional state in real time is needed.
[1405] 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 data, means for preprocessing the read data, means for dividing the preprocessed data into features and targets, means for dividing the features and targets into training data and test data, means for training a model using the training data, means for making predictions on test data using the trained model, means for evaluating the prediction results, means for visualizing the prediction results, means for recognizing a user's emotion using an emotion engine, and means for adaptively adjusting the presentation method of the data analysis results based on the recognized emotion. This makes it possible to present analysis results according to the user's emotion, improving user understanding and satisfaction and enabling the quality of customer service in physical stores.
[1406] "Data" is a collection of information that a system uses for analysis and learning.
[1407] "Preprocessing" refers to the process of cleaning data and converting it into a suitable format for analysis prior to data analysis.
[1408] A "feature" is an explanatory variable of data, and is data that serves as the basis for predicting a target variable.
[1409] A "target" is a dependent variable to be predicted, an indicator within a dataset that a model uses to make predictions.
[1410] "Training data" is the portion of the data used to train a model.
[1411] "Test data" is the portion of the data used to evaluate the trained model.
[1412] A "model" is a mathematical or statistical structure used to make predictions or decisions through learning from data.
[1413] "Learning" is the process of adjusting the parameters of a model so that it can make predictions and decisions using training data.
[1414] "Prediction" means that the trained model estimates the value of the target variable based on the input data.
[1415] "Evaluation" is the process of measuring the accuracy of predictions and assessing the performance of the model.
[1416] "Visualization" refers to the visual representation of analysis and prediction results, and is a means of helping users understand them.
[1417] An "emotion engine" is software or hardware that recognizes and analyzes the emotional state of a user or customer.
[1418] "Adaptive adjustment" refers to the process of changing presentation and feedback based on perceived emotions to enhance user understanding and satisfaction.
[1419] "Image data" is a collection of visual information acquired through a visual device such as a camera.
[1420] A "visual device" is a hardware device for acquiring image data, such as a camera or smart glasses.
[1421] "Customer" refers to a user who visits a physical store and uses services or products.
[1422] "Feedback" refers to information or advice provided to users or customers based on analysis or prediction results.
[1423] This invention is a data analysis and emotion recognition system for improving customer service in brick-and-mortar stores. The system reads data, preprocesses it, splits it into features and targets, splits it into training data and test data, trains a model, makes predictions, and evaluates and visualizes the results. It also uses an emotion engine to recognize the emotional state of users and customers and adaptively adjusts the presentation method of the analysis results.
[1424] Program processing explanation
[1425] Hardware and software used
[1426] Hardware: Smartphones, smart glasses, head-mounted displays
[1427] Software: Python, Pandas, Sci-kit Learn, OpenCV, DeepFace
[1428] The server uses this hardware and software to perform the following data processing and data calculations.
[1429] Data Loading and Preprocessing
[1430] The server reads the research data provided by the user in CSV format using the Pandas library. As a preprocessing step, it removes missing values and improves the data quality. This process uses the Pandas dropna() method.
[1431] Split features and targets and train the model
[1432] The server splits the preprocessed data into features and targets, splits it into training data and test data using the train_test_split function of Sci-Kit Learn, trains a model using the LinearRegression class of Sci-Kit Learn, and uses the trained model to make predictions on the test data.
[1433] Evaluation and visualization
[1434] The server evaluates the accuracy of the prediction results using the mean_squared_error function and visualizes them using the Matplotlib library.Furthermore, it uses an emotion engine to analyze the user's facial expressions and voice to recognize emotions.
[1435] Emotion Recognition and Adaptive Feedback
[1436] The server acquires image data from the camera using OpenCV and DeepFace, and recognizes emotions using an emotion engine. Based on the recognized emotions, it adjusts the way the data analysis results are presented and provides optimal feedback to the user's emotions.
[1437] Specific examples
[1438] For example, consider a scenario in which a customer in a physical store asks a question about a product, and a staff member uses smart glasses to capture the customer's facial expression. The server receives the image data and uses its emotion engine to recognize that the customer is confused. Based on this result, the server suggests a concise and clear explanation for the product to the staff member.
[1439] Prompt Sentence Examples
[1440] Prompt: Advise how to respond when a customer asks about a product in a store and looks confused.
[1441] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1442] Step 1:
[1443] The server reads a CSV data file provided by the user. The input is a CSV file, and the output is data in Pandas DataFrame format. Specifically, the server uses the Pandas library to convert the CSV data into a DataFrame using the read_csv method.
[1444] Step 2:
[1445] The server performs preprocessing on the loaded data. The input is data in DataFrame format, and the output is preprocessed DataFrame format data. Specifically, the server removes missing values using the dropna method to improve the quality of the data.
[1446] Step 3:
[1447] The server splits the preprocessed data into features and targets. The input is the preprocessed data in DataFrame format, and the output is the split DataFrame data into features and targets. Specifically, it removes the target variable from the DataFrame using the drop method, and creates a DataFrame of features.
[1448] Step 4:
[1449] The server splits the features and targets into training data and test data. The input is the DataFrame format data split into features and targets, and the output is the data split into training data and test data. Specifically, the train_test_split function of Sci-kit Learn is used.
[1450] Step 5:
[1451] The server trains the model using the training data. The input is the training data, and the output is the trained model. Specifically, it instantiates the LinearRegression class of Sci-kit Learn and trains the model using the fit method.
[1452] Step 6:
[1453] The server uses the trained model to make predictions on test data. The input is the test data, and the output is the prediction result. Specific operations use the predict method of the trained model.
[1454] Step 7:
[1455] The server evaluates the accuracy of the prediction results. The inputs are the prediction results and the actual values of the test data, and the output is the evaluation metric. Specifically, it calculates the MSE using the mean_squared_error function of Sci-kit Learn.
[1456] Step 8:
[1457] The server visualizes the prediction results. The input is the prediction results and the actual values, and the output is a visual display such as a scatter plot. Specifically, it uses the Matplotlib library to draw the graph.
[1458] Step 9:
[1459] The server uses an emotion engine to recognize the user's emotions. The input is image data and audio data captured by the camera, and the output is the recognized emotion information. Specifically, the analysis is performed using the OpenCV and DeepFace libraries.
[1460] Step 10:
[1461] The server adaptively adjusts the presentation method of the data analysis results based on the recognized emotion. The input is emotion information and the data analysis results, and the output is the adjusted analysis results and feedback. Specifically, the server dynamically changes the feedback content according to the recognized emotion.
[1462] The above are the specific processing steps of the system that realizes the application example.
[1463] 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.
[1464] 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.
[1465] 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.
[1466] 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.
[1467] 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.
[1468] 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.
[1469] 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).
[1470] 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.
[1471] 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."
[1472] 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.
[1473] 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).
[1474] 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.
[1475] 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.
[1476] 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.
[1477] 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.
[1478] 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.
[1479] 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.
[1480] 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.
[1481] 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.
[1482] 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.
[1483] 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.
[1484] The following is further disclosed regarding the above embodiment.
[1485] (Claim 1)
[1486] A means of reading the data;
[1487] A means for preprocessing the read data;
[1488] A means for splitting the preprocessed data into features and targets;
[1489] a means for splitting the features and targets into training and test data;
[1490] a means for learning a model using training data;
[1491] A means for making predictions on test data using the trained model;
[1492] a means for evaluating the prediction results;
[1493] A means for visualizing the prediction results;
[1494] A system including:
[1495] (Claim 2)
[1496] a means for removing missing values from the preprocessed data;
[1497] The data read is in CSV format,
[1498] means where the model is a linear regression model;
[1499] 10. The system of claim 1.
[1500] (Claim 3)
[1501] a means by which users provide research data;
[1502] the means by which the system analyzes the research data;
[1503] a means by which the system presents the results to the user;
[1504] 10. The system of claim 1.
[1505] "Example 1"
[1506] (Claim 1)
[1507] A means of reading the data;
[1508] A means for preprocessing the read data;
[1509] A means for splitting the preprocessed data into features and targets;
[1510] a means for splitting the features and targets into training and test data;
[1511] a means for learning an analytical model using the training data;
[1512] A means for making predictions on test data using the learned analytical model;
[1513] a means for evaluating the prediction results;
[1514] A means for visualizing the prediction results;
[1515] A system including:
[1516] (Claim 2)
[1517] A means for reading data in tabular format;
[1518] means for removing missing information from the preprocessed data;
[1519] The analytical model is a regression analysis model;
[1520] 10. The system of claim 1.
[1521] (Claim 3)
[1522] A means by which users provide analytical data;
[1523] a means by which the system analyzes the analytical data;
[1524] a means by which the system presents the results to the user; and
[1525] 10. The system of claim 1.
[1526] "Application Example 1"
[1527] (Claim 1)
[1528] A means of reading the data;
[1529] A means for preprocessing the read data;
[1530] A means for splitting the preprocessed data into features and targets;
[1531] a means for splitting the features and targets into training and test data;
[1532] a means for learning a model using training data;
[1533] A means for making predictions on test data using the trained model;
[1534] a means for evaluating the prediction results;
[1535] A means for visualizing the prediction results;
[1536] a means for monitoring network traffic data in real time;
[1537] Automated means of detecting potential threats;
[1538] A means of alerting users when a threat is detected;
[1539] A system including:
[1540] (Claim 2)
[1541] a means for removing missing values from the preprocessed data;
[1542] The data read is in CSV format,
[1543] means where the model is a linear regression model;
[1544] 10. The system of claim 1, wherein network traffic data is the subject of analysis.
[1545] (Claim 3)
[1546] a means by which users provide research data;
[1547] the means by which the system analyzes the research data;
[1548] a means by which the system presents the results to the user;
[1549] 2. The system according to claim 1, which notifies the user of an alert in real time based on the analysis results.
[1550] "Example 2: Combining Emotion Engines"
[1551] (Claim 1)
[1552] A means of reading the data;
[1553] A means for preprocessing the read data;
[1554] A means for splitting the preprocessed data into features and targets;
[1555] a means for splitting the features and targets into training and test data;
[1556] a means for learning a model using training data;
[1557] A means for making predictions on test data using the trained model;
[1558] a means for evaluating the prediction results;
[1559] A means for visualizing the prediction results;
[1560] a means for recognizing a user's emotion;
[1561] a means for adjusting feedback based on the perceived emotion;
[1562] A system including:
[1563] (Claim 2)
[1564] a means for removing missing values from the preprocessed data;
[1565] The means by which the data is read is in a tabular format;
[1566] 2. The system of claim 1, wherein the model is a regression model.
[1567] (Claim 3)
[1568] a means for users to provide experimental data;
[1569] a means by which the system analyzes the experimental data;
[1570] 10. The system of claim 1, wherein the system presents the results to a user.
[1571] "Application example 2 when combining emotion engines"
[1572] (Claim 1)
[1573] A means of reading the data;
[1574] A means for preprocessing the read data;
[1575] A means for splitting the preprocessed data into features and targets;
[1576] a means for splitting the features and targets into training and test data;
[1577] a means for learning a model using training data;
[1578] A means for making predictions on test data using the trained model;
[1579] a means for evaluating the prediction results;
[1580] A means for visualizing the prediction results;
[1581] means for recognizing a user's emotion using an emotion engine;
[1582] means for adaptively adjusting the presentation of data analysis results based on the recognized emotions;
[1583] A system including:
[1584] (Claim 2)
[1585] a means for removing missing values from the preprocessed data;
[1586] The data read is in CSV format,
[1587] means where the model is a linear regression model;
[1588] a means for the system to acquire and analyze image data, including a visual device;
[1589] 10. The system of claim 1.
[1590] (Claim 3)
[1591] a means by which users provide research data;
[1592] the means by which the system analyzes the research data;
[1593] a means by which the system presents the results to the user;
[1594] A means for the user to propose the best response to the customer based on the presented results;
[1595] A means of recognizing customer emotions through a camera and providing adaptive feedback;
[1596] 10. The system of claim 1. [Explanation of symbols]
[1597] 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 of reading the data; A means for preprocessing the read data; A means for splitting the preprocessed data into features and targets; a means for splitting the features and targets into training and test data; a means for learning a model using training data; A means for making predictions on test data using the trained model; a means for evaluating the prediction results; A means for visualizing the prediction results; A system including:
2. a means for removing missing values from the preprocessed data; The data read is in CSV format, and wherein the model is a linear regression model. The system of claim 1 .
3. a means by which users provide research data; the means by which the system analyzes the research data; and means for the system to present the results to a user. The system of claim 1 .
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A