System
The system efficiently evaluates UI safety and usability using a random forest classifier and emotion engine, addressing dangerous UIs with high accuracy and real-time warnings, enhancing user safety and satisfaction.
Patent Information
- Application Number
- JP2024116494
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-19
- Publication Date
- 2026-01-29
AI Technical Summary
Conventional user interfaces (UIs) can be dangerous or difficult to use, compromising user safety and convenience, leading to reduced efficiency and increased costs, with existing evaluation methods being time-consuming and unreliable.
A system that includes loading learning data, dividing it into training and test data, training a random forest classifier, making predictions, and evaluating accuracy to assess UI safety and usability, using features and labels in JSON format and employing an emotion engine to recognize user emotions for improvement suggestions.
Enables high-accuracy, real-time evaluation of UI safety and usability, detecting dangerous interfaces and providing immediate warnings, while improving user experience by addressing emotional responses.
Smart Images

Figure 2026015020000001_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] It has been reported that conventional user interfaces (UIs) contain dangerous UIs that can cause injury or even life-threatening problems even when used correctly. There are also many UIs that are not dangerous but are difficult to use. These problems can compromise user safety and convenience, leading to reduced efficiency and increased costs. The objective of this invention is to provide a system that can detect such dangerous UIs in advance and take effective countermeasures. [Means for solving the problem]
[0005] The present invention solves the above-mentioned problems by the following means. A system includes a means for loading learning data, a means for dividing the loaded learning data into training data and test data, a means for training a machine learning model using the training data, a means for making predictions on the test data using the trained model, and a means for evaluating the accuracy of the model based on the prediction results, and evaluates the safety and usability of a UI. Furthermore, the learning data includes multiple features and labels, and the machine learning model is trained using a random forest classifier, enabling highly accurate predictions and evaluations. This is expected to provide users with a safe and easy-to-use UI.
[0006] "Training data" refers to the set of features and labels used to train a machine learning model.
[0007] "Means of reading" refers to the process of retrieving data from a specified file path or database and converting it into a format that can be used within the program.
[0008] "Training data" refers to the part of a dataset used to build a machine learning model, the data used to learn the parameters of the model.
[0009] "Test data" refers to a portion of a dataset used to evaluate how accurately a model can predict new data.
[0010] "Method of splitting" refers to the process of splitting learning data into training data and test data.
[0011] A "machine learning model" refers to an algorithm that learns patterns from data and makes predictions and classifications for new data.
[0012] "Training" refers to the process of optimizing the parameters of a machine learning model using training data.
[0013] "Means of making predictions" refers to the process of using a trained model to calculate an output based on new data.
[0014] "Means of evaluation" refers to the process of comparing predicted results with actual results and measuring the performance of the model.
[0015] "Features" refer to the specific attributes or parameters of data points that a machine learning model uses as input.
[0016] A "label" refers to the output or correct answer data corresponding to a feature, and indicates the target to be predicted in machine learning.
[0017] A "random forest classifier" is a type of machine learning algorithm that combines multiple decision trees to perform classification and regression, and typically refers to a model with higher accuracy than individual decision trees. [Brief explanation of the drawings]
[0018] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8]FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0019] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0020] First, the terms used in the following description will be explained.
[0021] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0022] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0023] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0024] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0025] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0026] [First embodiment]
[0027] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0028] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0029] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0030] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0031] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0032] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0033] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0034] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0035] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0036] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0037] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0038] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0039] The present invention relates to a system for evaluating the safety and usability of user interfaces (UIs) and for proactively detecting unsafe UIs. The system has multiple processing means, including reading training data, dividing the data, training a machine learning model, making predictions, and evaluating the data.
[0040] Loading the training data
[0041] The server loads the training data from the specified file path. This data includes the features of each data point and their corresponding labels. The training data is saved in JSON format, which allows you to conveniently retrieve the required data.
[0042] Data partitioning
[0043] The server splits the loaded features and labels into training data and test data, with 80% of the data used as training data and the remaining 20% used as test data, providing a dataset for training and evaluating the model.
[0044] Training the model
[0045] The server uses the training data to train a random forest classifier, a highly accurate algorithm that combines multiple decision trees to make predictions, allowing for accurate evaluation of the safety and usability of UIs.
[0046] Prediction and Evaluation
[0047] The server uses the trained model to make predictions on test data. The accuracy of the model is evaluated by comparing the prediction results with the actual labels. The evaluation results are output as accuracy, and the safety and usability of the UI can be evaluated based on these results.
[0048] Specific examples
[0049] For example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and executes the above steps. The training data includes features for multiple UI elements and a label indicating whether the UI is safe or not. The server uses the features and labels to train a random forest classifier and makes predictions on the test data based on the results. If the prediction accuracy is 95% or higher, the user can use the model to evaluate the UI. This makes it possible to detect dangerous UI in advance and ensure user safety.
[0050] The processing flow will be explained below.
[0051] Step 1:
[0052] The server loads the training data from the specified file path. This data contains features for UI elements and their safety labels. Since it is saved in JSON format, the server loads it using the json.load function and splits the data into features and labels.
[0053] Step 2:
[0054] The server splits the loaded features and labels into training data and test data using the train_test_split function, taking 80% as training data and 20% as test data for model training and evaluation.
[0055] Step 3:
[0056] The server trains a random forest classifier using the training data by first creating an instance of RandomForestClassifier and then calling the fit method to train the model using the features (train_features) and labels (train_labels) from the training data.
[0057] Step 4:
[0058] The server uses the trained random forest classifier to make predictions for the test data features (test_features). Specifically, it uses the predict method to predict the results of the test data.
[0059] Step 5:
[0060] The server compares the prediction results with the labels of the actual test data (test_labels) to evaluate the accuracy of the model. It calculates the accuracy of the model using the accuracy_score function. This evaluation result is output as accuracy and provided to the user.
[0061] Step 6:
[0062] The terminal receives the file path specified by the user and calls the main function with this file path as an argument. The main function executes all the above processing steps sequentially.
[0063] Step 7:
[0064] The terminal displays the final evaluation results to the user, allowing the user to confirm the safety and usability of the UI based on the evaluation results.
[0065] Example 1
[0066] 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."
[0067] There is a need for a system that can evaluate the safety and usability of user interfaces (UIs) in advance and detect dangerous UIs early. Conventional methods require a lot of time and effort to evaluate UI safety, and the evaluation results often lack reliability. In addition, potential risks tend to be overlooked depending on the combination of UI elements.
[0068] 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.
[0069] In this invention, the server includes means for loading learning data from a specified file path, means for dividing the loaded learning data into training data and test data, means for training a random forest classifier using the training data, means for making predictions on test data using the trained model, and means for evaluating the accuracy of the model based on the prediction results. This makes it possible to automatically evaluate the safety and usability of UIs with high accuracy and to detect dangerous UIs early on.
[0070] The "specified file path" is a character string that indicates the location in the system where a specific data file is stored.
[0071] "Training data" is a dataset of feature-label pairs used to train a model.
[0072] A "feature" is a collection of numerical and categorical information that is used as input data for a model to make predictions or classifications.
[0073] A "label" is information indicating the output value or class corresponding to a feature, and is the target data of the model.
[0074] "Training data" is the portion of a dataset used to train a machine learning model.
[0075] "Test data" is a portion of a dataset used to evaluate a trained machine learning model.
[0076] A "random forest classifier" is a machine learning algorithm that has high generalization ability by aggregating multiple decision trees to make predictions.
[0077] "Training" is the process of using training data to optimize the parameters of a machine learning model and improve its performance.
[0078] "Prediction" refers to using a trained machine learning model to estimate output values or classes for new data.
[0079] "Accuracy" is an indicator that shows how closely the prediction results for test data match the actual labels, and is used to evaluate the performance of a model.
[0080] The present invention relates to a system for evaluating the safety and usability of user interfaces (UIs) and for proactively detecting unsafe UIs. The system has multiple processing means, including reading training data, dividing the data, training a machine learning model, making predictions, and evaluating the data.
[0081] Loading the training data
[0082] The server loads the training data from the specified file path. This data includes the features of each data point and their corresponding labels. The training data is saved in JSON format, which allows for efficient retrieval of the required data. The Python pandas library is commonly used to load the data.
[0083] Data partitioning
[0084] The server splits the loaded features and labels into training data and test data. This split uses 80% of the data as training data and the remaining 20% as test data. To split the data, it uses the train_test_split method of scikit-learn.
[0085] Training the model
[0086] The server uses the training data to train a random forest classifier, a highly accurate algorithm that uses multiple decision trees to make predictions, allowing it to accurately assess the safety and usability of UIs.
[0087] Prediction and Evaluation
[0088] The server uses the trained model to make predictions on test data. The accuracy of the model is evaluated by comparing the prediction results with the actual labels. The evaluation results are output as accuracy, and the safety and usability of the UI can be evaluated based on these results.
[0089] Specific examples
[0090] For example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and executes the above steps. The training data includes features for multiple UI elements and a label indicating whether the UI is safe or not. The server uses the features and labels to train a random forest classifier and makes predictions on the test data based on the results. If the prediction accuracy is 95% or higher, the user can use the model to evaluate the UI. This makes it possible to detect dangerous UI in advance and ensure user safety.
[0091] Prompt Sentence Examples
[0092] A concrete example of how to use this system is to use prompts such as:
[0093] plaintext
[0094] The server reads the data in the file path 'path_to_your_data.json', trains a random forest model to evaluate the safety of UI elements, and makes predictions on the test data. If the accuracy of the evaluation results is 95% or higher, the model is deemed to have sufficient accuracy for practical use.
[0095] The above-mentioned method allows users to evaluate the safety of UI with high accuracy and prevent potential dangers before they occur, which is expected to improve the safety and satisfaction of the user's operating environment.
[0096] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0097] Step 1:
[0098] The server reads the training data from the specified file path. This input data is saved in JSON format and contains the features and labels of each data point. The server uses the Python pandas library to conveniently retrieve the training data. Specifically, the server specifies the file path and reads the data using the pandas read_json method. As a result, a training dataset in data frame format is output.
[0099] Step 2:
[0100] The server splits the loaded learning data into training data and test data. This input splits a dataset containing features and labels. The split method uses 80% of the data as training data and the remaining 20% as test data. Specifically, it uses the train_test_split function of scikit-learn to split the data randomly. This outputs pairs of training data and test data.
[0101] Step 3:
[0102] The server uses the training data to train a random forest classifier. It requires a training dataset (feature-label pairs) as input. Specifically, it instantiates a RandomForestClassifier from scikit-learn and trains the model using the fit method. Once training is complete, the trained random forest model is output.
[0103] Step 4:
[0104] The server uses the trained model to make predictions on the test data. The inputs required are the trained random forest model and the features of the test dataset. Specifically, the server uses the predict method to generate predicted labels from the features of the test data. This outputs the predicted labels for the test data.
[0105] Step 5:
[0106] The server evaluates the accuracy of the model by comparing the predicted results with the actual labels. The inputs required are the predicted labels and the actual labels of the test data. Specifically, it uses the accuracy_score function of scikit-learn to calculate the degree of agreement between the predicted results and the actual labels. This outputs an accuracy score indicating the accuracy of the model.
[0107] Through these steps, the server can evaluate the safety and usability of a user interface (UI). Specifically, it trains a random forest classifier using a user-specified dataset and uses the model to evaluate UI elements. This allows it to detect potential dangers in advance and ensure user safety.
[0108] (Application example 1)
[0109] 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."
[0110] Usability and safety are important factors for a wide variety of modern user interfaces (UIs). However, there are limited means to efficiently evaluate these factors during the development phase, which can result in inappropriate UIs being presented to users. There is also a need for a system that can evaluate UIs in real time and immediately warn of dangerous UIs. This will ensure user safety and improve usability.
[0111] 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.
[0112] In this invention, the server includes means for reading learning data, means for dividing the read learning data into training data and test data, means for training a machine learning model using the training data, means for making predictions on test data using the trained model, means for evaluating the accuracy of the model based on the prediction results, means for evaluating the safety and usability of a user interface in real time, and means for displaying a warning alert when a dangerous user interface is detected. This makes it possible to efficiently evaluate user interfaces, detect dangerous interfaces in real time, and issue a warning immediately.
[0113] "Training data" is data containing features and labels used to train a machine learning model.
[0114] "Training data" is the portion of data used to train a machine learning model.
[0115] "Test data" is the portion of data used to evaluate the performance of a trained machine learning model.
[0116] A "machine learning model" is an algorithm that learns from data and makes predictions or classifications.
[0117] A "random forest classifier" is a type of machine learning algorithm that combines multiple decision trees to make predictions.
[0118] A "prediction result" is the result output by a model trained on test data.
[0119] "Accuracy" is an evaluation metric that indicates how closely the predicted results match the actual results.
[0120] "Real-time evaluation" refers to the immediate evaluation of the safety and usability of a user interface.
[0121] A "warning alert" is a notification that notifies the user that a dangerous user interface has been detected.
[0122] A "user interface" refers to the screens and display elements that a user operates.
[0123] The present invention relates to a system for evaluating the safety and usability of a user interface (UI) in real time, detecting a dangerous UI, and issuing a warning. The system includes the following means:
[0124] Loading the training data
[0125] The server loads the training data from the specified file path. This data includes the features of each data point and their corresponding labels. The training data is saved in JSON format, which allows you to conveniently retrieve the required data.
[0126] Splitting training and test data
[0127] The server splits the loaded features and labels into training data and test data, with 80% of the data used as training data and the remaining 20% used as test data, allowing for efficient model training and evaluation.
[0128] Training the model
[0129] The server uses the training data to train a random forest classifier, an algorithm that combines multiple decision trees to make predictions and is expected to have high accuracy. This model allows for accurate evaluation of the safety and usability of UI.
[0130] Prediction and Evaluation
[0131] The server uses the trained model to make predictions on test data. The accuracy of the model is evaluated by comparing the prediction results with the actual labels. The evaluation results are output as accuracy and are used to evaluate the safety and usability of the UI.
[0132] Real-time ratings and warning alerts
[0133] For users using smart glasses or head-mounted displays (HMDs), a function to evaluate the safety and usability of UI in real time will be implemented. If a dangerous UI is detected, a warning alert will be displayed to the user. This warning will not only be a visual notification, but also a notification by sound or vibration.
[0134] Usage example
[0135] When a user using smart glasses is interacting with a new application, the system evaluates the UI displayed in real time and immediately displays an alert if a risky UI is detected, ensuring the user always has a safe and easy-to-use interface.
[0136] Generative AI model prompt example
[0137] Subject: Evaluation of Real-time UI Evaluation Assistant
[0138] Hello,
[0139] We are using a new UI evaluation assistant app, which evaluates the safety and usability of interfaces displayed through smart glasses in real time. It uses a trained model to evaluate UI in real time and displays an alert if unsafe UI is detected.
[0140] App Features:
[0141] Real-time evaluation of user interface safety and usability
[0142] Warning alerts when unsafe UI is detected
[0143] Update training data based on user feedback to improve the model
[0144] We look forward to your feedback.
[0145] thank you.
[0146] The system is implemented using software such as Python scripts, Scikit-learn, Joblib, and JSON format data. The server reads and splits the data, trains and evaluates the model, and the smart glasses or HMD displays the UI evaluation results in real time. This ensures that users always have a safe and easy-to-use interface.
[0147] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0148] Step 1:
[0149] Loading the training data
[0150] The server loads the training data from the specified file path.
[0151] Input: Training data file saved in JSON format
[0152] Processing: Parse the JSON file and separate it into features and labels
[0153] Output: A list of features and labels
[0154] Step 2:
[0155] Splitting training and test data
[0156] The server splits the loaded features and labels into training data and test data.
[0157] Input: A list of features and labels
[0158] Processing: Split the features and labels into 80% training data and 20% test data
[0159] Output: training data (X_train, y_train) and test data (X_test, y_test)
[0160] Step 3:
[0161] Training the model
[0162] The server trains a random forest classifier using the training data.
[0163] Input: training data (X_train, y_train)
[0164] Processing: Initialize the random forest classifier and train the model using the training data.
[0165] Output: A trained random forest classifier model
[0166] Step 4:
[0167] Prediction and Evaluation
[0168] The server uses the trained model to make predictions on test data.
[0169] Input: Test data (X_test), trained model
[0170] Processing: Use the trained model to make predictions on the test data and compare the predictions with the actual labels.
[0171] Output: Prediction results and model accuracy (precision)
[0172] Step 5:
[0173] Real-time evaluation
[0174] The device (smart glasses or head-mounted display) evaluates the user interface in real time using the trained model.
[0175] Input: User interface features, trained model
[0176] Processing: User interface features are fed into the trained model to evaluate safety and usability.
[0177] Output: Evaluation result (safe UI or dangerous UI)
[0178] Step 6:
[0179] Displaying warning alerts
[0180] The device displays a warning alert to the user when a dangerous user interface is detected.
[0181] Input: Real-time evaluation result (dangerous UI)
[0182] Action: If a dangerous UI is detected, a warning message will be displayed on the device display, and in some cases, sound and vibration notifications will also be given.
[0183] Output: Warning alert (visual message, audio notification, vibration notification)
[0184] These steps ensure that users always have a secure and easy-to-use user interface.
[0185] 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.
[0186] The present invention relates to a system for evaluating the safety and usability of user interfaces (UIs) and for proactively detecting dangerous UIs. This system combines multiple processing means, including learning data loading, data division, machine learning model training, prediction, and evaluation, with an emotion engine that recognizes user emotions.
[0187] Loading the training data
[0188] The server loads the training data from the file path specified by the user. This data includes features for UI elements and their safety labels. The training data is saved in JSON format and is loaded using the json.load function, which splits the data into features and labels.
[0189] Data partitioning
[0190] The server splits the loaded features and labels into training data and test data, with 80% of the data used as training data and the remaining 20% used as test data, resulting in a dataset for training and evaluating the model.
[0191] Training the model
[0192] The server trains a random forest classifier using the training data by first creating an instance of RandomForestClassifier and then calling the fit method to train the model using the features (train_features) and labels (train_labels) from the training data.
[0193] Prediction and Evaluation
[0194] The server uses the trained random forest classifier to make predictions for the test data features (test_features). It compares the prediction results with the actual test data labels (test_labels) to evaluate the accuracy of the model. It calculates the accuracy of the model using the accuracy_score function. This evaluation result is output as accuracy and provided to the user.
[0195] Combining Emotion Engines
[0196] The server also uses an emotion engine to analyze user emotions based on prediction results and model evaluation data. The emotion engine analyzes user reactions and behavior patterns to recognize emotions regarding the safety and usability of the UI.
[0197] Improvement suggestions based on user sentiment
[0198] The emotion engine makes suggestions for improving the UI based on the user's emotions. For example, if a user feels anxious or stressed about a particular UI element, it will provide suggestions for improving that element. This allows users to use a safer and easier-to-use UI.
[0199] Specific examples
[0200] For example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and executes the above steps. The training data includes features for multiple UI elements and a label indicating whether the UI is secure or not. The server uses the features and labels to train a random forest classifier and makes predictions on the test data based on the results.
[0201] The emotion engine then analyzes the user's emotions and recognizes their feelings toward UI elements. For example, if a user feels anxious about clicking a particular button, the system will make suggestions to improve the button's design and placement, allowing the user to use the UI with greater confidence.
[0202] The processing flow will be explained below.
[0203] Step 1:
[0204] The server loads the training data from the specified file path. This data contains features for UI elements and their safety labels. First, it opens the file and loads the JSON format data using the json.load function, then splits it into features and labels.
[0205] Step 2:
[0206] The server splits the features and labels into training data and test data using the train_test_split function, taking 80% as training data and 20% as test data. This split is a necessary step for training and evaluating the model.
[0207] Step 3:
[0208] The server trains the random forest classifier using the training data by first creating an instance of RandomForestClassifier and then calling the fit method to train the model using the features (train_features) and labels (train_labels) from the training data.
[0209] Step 4:
[0210] The server uses the trained random forest classifier to make predictions for the test data features (test_features). Specifically, it obtains the prediction results using the predict method.
[0211] Step 5:
[0212] The server compares the prediction results with the actual test data labels (test_labels) to evaluate the accuracy of the model. It calculates the accuracy of the model using the accuracy_score function. The result is displayed as accuracy and provided to the user through the terminal.
[0213] Step 6:
[0214] The server uses an emotion engine to recognize the user's emotions. Specifically, it receives the model evaluation results and user operation data as input, and analyzes the user's emotional state based on these. This analysis identifies the anxiety or stress the user feels in response to a specific UI element.
[0215] Step 7:
[0216] The server then makes suggestions for improving the UI based on the information obtained from the emotion engine. For example, if a user feels uneasy about a particular button, the server generates a suggestion to change the design or placement of that button. This suggestion is provided to the user via their device.
[0217] Step 8:
[0218] Users can check the UI improvement suggestions provided through their devices and modify the UI based on them, thereby enabling users to use a safer and easier-to-use UI.
[0219] Step 9:
[0220] The device collects feedback on improved UI and sends it to the server, which adds this feedback to future learning data for continuous improvement of the system.
[0221] Example 2
[0222] 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."
[0223] Conventional user interface safety and usability evaluation systems have difficulty making improvement suggestions that take user emotions into account. Therefore, it is necessary to identify factors that cause users anxiety or stress and make appropriate improvements. The present invention aims to recognize user emotions and improve the safety and usability of user interfaces.
[0224] 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.
[0225] In this invention, the server includes means for reading learning data, means for dividing the read learning data into training data and test data, means for training a machine learning model using the training data, means for making predictions on test data using the trained model, means for evaluating the accuracy of the model based on the prediction results, emotion recognition means for analyzing user emotions, and means for proposing improvements to the user interface based on the model evaluation results, thereby enabling the evaluation and improvement of the safety and usability of the user interface taking user emotions into consideration.
[0226] "Training data" is a collection of user interface features and their safety information used to train a machine learning model.
[0227] "Training data" is a part of the learning data used to train a machine learning model; it is a dataset that is given to the model to learn from.
[0228] "Test data" is a portion of the training data used to evaluate the performance of a trained machine learning model, and is a dataset for measuring the model's predictive accuracy.
[0229] A "machine learning model" is an algorithm that learns patterns based on given data and makes predictions and classifications for future data.
[0230] A "random forest classifier" is a type of machine learning model that uses a large number of decision trees to learn and make predictions, and is an algorithm characterized by high classification accuracy.
[0231] "Emotion recognition means" refers to technology or a system that analyzes a user's reactions and behavioral patterns and recognizes the user's emotional state toward the user interface.
[0232] "User interface" refers to the screens and input devices that allow a user to interact with a computer system or application.
[0233] A "prediction result" is the output of a prediction made by a trained machine learning model on test data.
[0234] "Accuracy" indicates the percentage of correct predictions made by a machine learning model and is an indicator of its performance.
[0235] "Improvement suggestions" are specific changes or supplemental instructions to provide better usability or safety based on the user's feelings and usage of the user interface.
[0236] The present invention relates to a system for evaluating the safety and usability of a user interface and for detecting dangerous UIs in advance. The system includes the following processing means.
[0237] First, the server loads the training data from the file path specified by the user. This training data includes features related to user interface elements and their safety labels. Training data is usually saved in JSON format, and the server loads the data using the json.load function and splits it into features and labels.
[0238] Next, the server splits the loaded features and labels into training data and test data. Specifically, 80% of the data is used as training data and the remaining 20% is used as test data. This split gives the server a dataset to train and evaluate the model.
[0239] The server then trains the random forest classifier using the training data. First, create an instance of RandomForestClassifier and then call the fit method to train the model using the features and labels from the training data. The random forest classifier is a type of machine learning model that uses a large number of decision trees for learning and prediction, and is an algorithm characterized by high classification accuracy.
[0240] After training is complete, the server uses the trained random forest classifier to make predictions for the features of the test data, compares the prediction results with the labels of the actual test data, and calculates the accuracy of the model using the accuracy_score function. The evaluation results are finally provided to the user.
[0241] Furthermore, the server uses an emotion recognition means for analyzing the user's emotions. The emotion recognition means is a technology or system for analyzing the user's reactions and behavior patterns and recognizing the user's emotional state toward the user interface. The server uses the emotion recognition means to grasp the user's emotions and makes suggestions for improving the user interface based on the understanding.
[0242] For example, if a user feels anxious or stressed about a particular UI element, the emotion recognition means can detect that emotion and the server can provide suggestions for improving the design and placement of that UI element, allowing the user to experience a safer and more user-friendly user interface.
[0243] As a specific example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and performs the above-mentioned process in order. The training data includes features related to UI elements and labels indicating whether the UI is safe or not. The server uses this data to train a random forest classifier and makes predictions on the test data. The server then uses emotion recognition to analyze the user's emotions and recognize their feelings toward the UI elements. For example, if a user feels uneasy when clicking a particular button, the server can suggest ways to improve the design or placement of that button, allowing the user to use the user interface with greater peace of mind.
[0244] As an example of a prompt, a detailed description can be generated by inputting a text prompt such as "Please generate a description for the user interface safety assessment system" into the generative AI model.
[0245] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0246] Step 1:
[0247] The server loads training data from a file path specified by the user. This training data contains features for user interface elements and their safety labels. The input is the file path provided by the user (e.g., / path / to / your / data.json), and the output is features and labels. The server loads the data using the json.load function and splits it into features and labels.
[0248] Specific behavior:
[0249] The user specifies a file path on the interface.
[0250] The server reads the JSON format data from the specified file path.
[0251] The server divides the loaded data into features and labels.
[0252] Step 2:
[0253] The server splits the loaded features and labels into training data and test data. This split splits the input features and labels into training data and test data. Specifically, 80% of the data is used as training data, and the remaining 20% is used as test data. As output, training and test datasets (train_features, test_features, train_labels, test_labels) are obtained.
[0254] Specific behavior:
[0255] The server splits the data using the train_test_split function.
[0256] The split is 80% training data and 20% test data.
[0257] Step 3:
[0258] The server trains a machine learning model using the training data and a random forest classifier. It uses the features (train_features) and labels (train_labels) of the training data as input and obtains a trained random forest model as output. The server first creates an instance of RandomForestClassifier and then calls the fit method to train the model.
[0259] Specific behavior:
[0260] The server creates an instance of RandomForestClassifier.
[0261] The server uses the fit method to train the model on the training data.
[0262] Step 4:
[0263] The server uses the trained random forest classifier to make predictions on the test data features. As input, it uses the test data features (test_features) and gets predictions as output. It compares the predictions with the actual test data labels (test_labels) and evaluates the accuracy of the model using the accuracy_score function. As output, it calculates the accuracy of the model.
[0264] Specific behavior:
[0265] The server uses the predict method to make predictions on the test data.
[0266] The server uses the accuracy_score function to compare the predictions with the actual labels and calculate the accuracy of the model.
[0267] Step 5:
[0268] The server analyzes the user's emotions using an emotion recognition means. The inputs are the model's prediction results and evaluation data, and the output is the user's emotion recognition results. The emotion recognition means analyzes the user's reactions and behavior patterns to recognize the user's emotional state toward the user interface.
[0269] Specific behavior:
[0270] The server uses an emotion recognition means to detect the user's emotions.
[0271] The server analyzes the user's reactions and behavioral patterns.
[0272] Step 6:
[0273] The server makes suggestions for improving the user interface based on the emotion recognition results. The input is the user's emotion recognition results, and the output is specific suggestions for improvement. For example, if a user feels anxious or stressed about a particular UI element, the server will provide suggestions for improving the design and placement of that UI element.
[0274] Specific behavior:
[0275] The server extracts areas for improvement in the user interface based on the emotion recognition results.
[0276] The server provides the user with specific improvement suggestions.
[0277] (Application example 2)
[0278] 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."
[0279] Conventional user interfaces (UIs) for autonomous vehicles often lack sufficient safety and ease of use. In particular, the anxiety and stress felt by passengers and drivers while operating the UI can directly affect driving safety. Furthermore, conventional UI evaluation methods do not take into account the user's emotional state, making it difficult to identify areas for improvement. This poses challenges for improving the safety and user experience of autonomous vehicles.
[0280] 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 learning data, means for dividing the read learning data into training data and test data, means for training a machine learning model using the training data, means for making predictions on test data using the trained model, means for evaluating the accuracy of the model based on the prediction results, means for recognizing the user's emotions, and means for suggesting improvements to the user interface based on the recognized emotions. This makes it possible to evaluate and improve the safety and usability of a UI taking into account the user's emotional state.
[0281] "Training data" refers to data that includes features related to UI elements and labels related to their safety.
[0282] "Training data" is the portion of data used to train a machine learning model.
[0283] "Test data" is the portion of data used to evaluate the predictive performance of a trained machine learning model.
[0284] A "machine learning model" is an algorithm that is trained using training data to make predictions or classifications for a specific task.
[0285] A "random forest classifier" is a machine learning algorithm that achieves high predictive performance by combining and using a large number of decision trees.
[0286] "User emotions" refers to the emotional state, such as anxiety, stress, or relief, that a user experiences when interacting with a UI.
[0287] "Means of recognizing emotions" refers to systems or algorithms that analyze user reactions and behavioral patterns to identify emotions.
[0288] "Improvement Suggestions" are recommendations for changes to UI design or layout based on perceived emotions.
[0289] This invention provides a system for evaluating and improving the safety and usability of user interfaces (UIs) in autonomous vehicles. The system operates as follows.
[0290] First, the server loads the training data specified by the user. This data includes features about UI elements and their corresponding safety labels. The training data is saved in JSON format, and the server loads it using the json.load function. Next, the server splits the loaded data into training data and test data. The split is typically 80% training data and 20% test data.
[0291] The server uses the training data to train a machine learning model based on a random forest classifier. The trained model is then used to make predictions on the test data. The predictions are compared with the labels of the actual test data to evaluate the accuracy of the model. The evaluation results are calculated using the accuracy_score function.
[0292] Next, the server, which incorporates an emotion engine, utilizes a means to recognize the user's emotions in real time. This emotion engine analyzes the user's reactions and behavioral patterns as they interact with the UI, identifying emotions such as anxiety, stress, and relief. Based on the recognized emotions, the system provides suggestions for improving the UI. For example, if the user feels stressed when interacting with a particular button, specific suggestions for changing the design or placement of that button will be made.
[0293] For example, if a user provides a file called "path_to_ui_data.json" on the touchscreen interface inside an autonomous vehicle, the server will read the data and execute the process described above. The emotion engine will monitor the user's mental state during operation and record their emotions toward UI elements. Based on this data, it will generate UI improvement suggestions that are optimal for the user.
[0294] Examples of prompts include:
[0295] "Generate an application to evaluate the safety and usability of touchscreens and voice interfaces in autonomous vehicles and provide improvement suggestions. Use an emotion engine to recognize and analyze user emotions and provide suggestions based on their reactions to specific UI elements."
[0296] This invention makes it possible to make the UI in autonomous vehicles safe and easy to use by taking into account the emotional state of the user, thereby improving the sense of security and safety of passengers and drivers.
[0297] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0298] Step 1:
[0299] The server loads the training data based on the path provided by the user. This training data is saved in JSON format and contains features for UI elements and their safety labels. Specifically, the json.load function is used to load the file and split it into features and labels. The input to this step is the file path for the training data, and the output is an array of features and an array of labels.
[0300] Step 2:
[0301] The server splits the loaded features and labels into training data and test data. This split is 80% of the data as training data and 20% as test data. Specifically, it splits the data randomly using the train_test_split function. The input of this step is an array of features and an array of labels, and the output is training data (features and labels) and test data (features and labels).
[0302] Step 3:
[0303] The server trains a random forest classifier using the training data. Specifically, it creates an instance of RandomForestClassifier and calls the fit method to train the model with the features and labels of the training data. The input of this step is the features and labels of the training data, and the output is the trained model.
[0304] Step 4:
[0305] The server uses the trained model to make predictions on the test data. Specifically, it uses the predict method to make predictions based on the features of the test data. The inputs to this step are the trained model and the features of the test data, and the output is the prediction result.
[0306] Step 5:
[0307] The server compares the prediction results with the labels of the actual test data to evaluate the accuracy of the model. Specifically, it calculates the accuracy of the prediction using the accuracy_score function. The input of this step is the prediction results and the labels of the test data, and the output is the accuracy (precision) of the model.
[0308] Step 6:
[0309] The server uses an emotion engine to recognize the user's emotions based on the user's operation data. Specifically, the emotion engine analyzes the user's operation log and behavioral patterns. The input of this step is the user's operation data, and the output is the identified emotional state.
[0310] Step 7:
[0311] The server then proposes improvements to the UI based on the recognized emotions. Specifically, it generates improvement suggestions, such as UI element design and placement, based on the user's anxieties and stress factors identified by the emotion engine. The input of this step is the recognized emotional state, and the output is specific improvement suggestions.
[0312] Through this series of processes, it is expected that UI elements in self-driving vehicles will be improved to be safer and easier to use, taking into account the user's emotional state.
[0313] 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.
[0314] 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.
[0315] 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.
[0316] [Second embodiment]
[0317] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0318] 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.
[0319] 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).
[0320] 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.
[0321] 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.
[0322] 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).
[0323] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0324] 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.
[0325] 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.
[0326] 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.
[0327] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0328] 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."
[0329] The present invention relates to a system for evaluating the safety and usability of user interfaces (UIs) and for proactively detecting unsafe UIs. The system has multiple processing means, including reading training data, dividing the data, training a machine learning model, making predictions, and evaluating the data.
[0330] Loading the training data
[0331] The server loads the training data from the specified file path. This data includes the features of each data point and their corresponding labels. The training data is saved in JSON format, which allows you to conveniently retrieve the required data.
[0332] Data partitioning
[0333] The server splits the loaded features and labels into training data and test data, with 80% of the data used as training data and the remaining 20% used as test data, providing a dataset for training and evaluating the model.
[0334] Training the model
[0335] The server uses the training data to train a random forest classifier, a highly accurate algorithm that combines multiple decision trees to make predictions, allowing for accurate evaluation of the safety and usability of UIs.
[0336] Prediction and Evaluation
[0337] The server uses the trained model to make predictions on test data. The accuracy of the model is evaluated by comparing the prediction results with the actual labels. The evaluation results are output as accuracy, and the safety and usability of the UI can be evaluated based on these results.
[0338] Specific examples
[0339] For example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and executes the above steps. The training data includes features for multiple UI elements and a label indicating whether the UI is safe or not. The server uses the features and labels to train a random forest classifier and makes predictions on the test data based on the results. If the prediction accuracy is 95% or higher, the user can use the model to evaluate the UI. This makes it possible to detect dangerous UI in advance and ensure user safety.
[0340] The processing flow will be explained below.
[0341] Step 1:
[0342] The server loads the training data from the specified file path. This data contains features for UI elements and their safety labels. Since it is saved in JSON format, the server loads it using the json.load function and splits the data into features and labels.
[0343] Step 2:
[0344] The server splits the loaded features and labels into training data and test data using the train_test_split function, taking 80% as training data and 20% as test data for model training and evaluation.
[0345] Step 3:
[0346] The server trains a random forest classifier using the training data by first creating an instance of RandomForestClassifier and then calling the fit method to train the model using the features (train_features) and labels (train_labels) from the training data.
[0347] Step 4:
[0348] The server uses the trained random forest classifier to make predictions for the test data features (test_features). Specifically, it uses the predict method to predict the results of the test data.
[0349] Step 5:
[0350] The server compares the prediction results with the labels of the actual test data (test_labels) to evaluate the accuracy of the model. It calculates the accuracy of the model using the accuracy_score function. This evaluation result is output as accuracy and provided to the user.
[0351] Step 6:
[0352] The terminal receives the file path specified by the user and calls the main function with this file path as an argument. The main function executes all the above processing steps sequentially.
[0353] Step 7:
[0354] The terminal displays the final evaluation results to the user, allowing the user to confirm the safety and usability of the UI based on the evaluation results.
[0355] Example 1
[0356] 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."
[0357] There is a need for a system that can evaluate the safety and usability of user interfaces (UIs) in advance and detect dangerous UIs early. Conventional methods require a lot of time and effort to evaluate UI safety, and the evaluation results often lack reliability. In addition, potential risks tend to be overlooked depending on the combination of UI elements.
[0358] 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.
[0359] In this invention, the server includes means for loading learning data from a specified file path, means for dividing the loaded learning data into training data and test data, means for training a random forest classifier using the training data, means for making predictions on test data using the trained model, and means for evaluating the accuracy of the model based on the prediction results. This makes it possible to automatically evaluate the safety and usability of UIs with high accuracy and to detect dangerous UIs early on.
[0360] The "specified file path" is a character string that indicates the location in the system where a specific data file is stored.
[0361] "Training data" is a dataset of feature-label pairs used to train a model.
[0362] A "feature" is a collection of numerical and categorical information that is used as input data for a model to make predictions or classifications.
[0363] A "label" is information indicating the output value or class corresponding to a feature, and is the target data of the model.
[0364] "Training data" is the portion of a dataset used to train a machine learning model.
[0365] "Test data" is a portion of a dataset used to evaluate a trained machine learning model.
[0366] A "random forest classifier" is a machine learning algorithm that has high generalization ability by aggregating multiple decision trees to make predictions.
[0367] "Training" is the process of using training data to optimize the parameters of a machine learning model and improve its performance.
[0368] "Prediction" refers to using a trained machine learning model to estimate output values or classes for new data.
[0369] "Accuracy" is an indicator that shows how closely the prediction results for test data match the actual labels, and is used to evaluate the performance of a model.
[0370] The present invention relates to a system for evaluating the safety and usability of user interfaces (UIs) and for proactively detecting unsafe UIs. The system has multiple processing means, including reading training data, dividing the data, training a machine learning model, making predictions, and evaluating the data.
[0371] Loading the training data
[0372] The server loads the training data from the specified file path. This data includes the features of each data point and their corresponding labels. The training data is saved in JSON format, which allows for efficient retrieval of the required data. The Python pandas library is commonly used to load the data.
[0373] Data partitioning
[0374] The server splits the loaded features and labels into training data and test data. This split uses 80% of the data as training data and the remaining 20% as test data. To split the data, it uses the train_test_split method of scikit-learn.
[0375] Training the model
[0376] The server uses the training data to train a random forest classifier, a highly accurate algorithm that uses multiple decision trees to make predictions, allowing it to accurately assess the safety and usability of UIs.
[0377] Prediction and Evaluation
[0378] The server uses the trained model to make predictions on test data. The accuracy of the model is evaluated by comparing the prediction results with the actual labels. The evaluation results are output as accuracy, and the safety and usability of the UI can be evaluated based on these results.
[0379] Specific examples
[0380] For example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and executes the above steps. The training data includes features for multiple UI elements and a label indicating whether the UI is safe or not. The server uses the features and labels to train a random forest classifier and makes predictions on the test data based on the results. If the prediction accuracy is 95% or higher, the user can use the model to evaluate the UI. This makes it possible to detect dangerous UI in advance and ensure user safety.
[0381] Prompt Sentence Examples
[0382] A concrete example of how to use this system is to use prompts such as:
[0383] plaintext
[0384] The server reads the data in the file path 'path_to_your_data.json', trains a random forest model to evaluate the safety of UI elements, and makes predictions on the test data. If the accuracy of the evaluation results is 95% or higher, the model is deemed to have sufficient accuracy for practical use.
[0385] The above-mentioned method allows users to evaluate the safety of UI with high accuracy and prevent potential dangers before they occur, which is expected to improve the safety and satisfaction of the user's operating environment.
[0386] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0387] Step 1:
[0388] The server reads the training data from the specified file path. This input data is saved in JSON format and contains the features and labels of each data point. The server uses the Python pandas library to conveniently retrieve the training data. Specifically, the server specifies the file path and reads the data using the pandas read_json method. As a result, a training dataset in data frame format is output.
[0389] Step 2:
[0390] The server splits the loaded learning data into training data and test data. This input splits a dataset containing features and labels. The split method uses 80% of the data as training data and the remaining 20% as test data. Specifically, it uses the train_test_split function of scikit-learn to split the data randomly. This outputs pairs of training data and test data.
[0391] Step 3:
[0392] The server uses the training data to train a random forest classifier. It requires a training dataset (feature-label pairs) as input. Specifically, it instantiates a RandomForestClassifier from scikit-learn and trains the model using the fit method. Once training is complete, the trained random forest model is output.
[0393] Step 4:
[0394] The server uses the trained model to make predictions on the test data. The inputs required are the trained random forest model and the features of the test dataset. Specifically, the server uses the predict method to generate predicted labels from the features of the test data. This outputs the predicted labels for the test data.
[0395] Step 5:
[0396] The server evaluates the accuracy of the model by comparing the predicted results with the actual labels. The inputs required are the predicted labels and the actual labels of the test data. Specifically, it uses the accuracy_score function of scikit-learn to calculate the degree of agreement between the predicted results and the actual labels. This outputs an accuracy score indicating the accuracy of the model.
[0397] Through these steps, the server can evaluate the safety and usability of a user interface (UI). Specifically, it trains a random forest classifier using a user-specified dataset and uses the model to evaluate UI elements. This allows it to detect potential dangers in advance and ensure user safety.
[0398] (Application example 1)
[0399] 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."
[0400] Usability and safety are important factors for a wide variety of modern user interfaces (UIs). However, there are limited means to efficiently evaluate these factors during the development phase, which can result in inappropriate UIs being presented to users. There is also a need for a system that can evaluate UIs in real time and immediately warn of dangerous UIs. This will ensure user safety and improve usability.
[0401] 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.
[0402] In this invention, the server includes means for reading learning data, means for dividing the read learning data into training data and test data, means for training a machine learning model using the training data, means for making predictions on test data using the trained model, means for evaluating the accuracy of the model based on the prediction results, means for evaluating the safety and usability of a user interface in real time, and means for displaying a warning alert when a dangerous user interface is detected. This makes it possible to efficiently evaluate user interfaces, detect dangerous interfaces in real time, and issue a warning immediately.
[0403] "Training data" is data containing features and labels used to train a machine learning model.
[0404] "Training data" is the portion of data used to train a machine learning model.
[0405] "Test data" is the portion of data used to evaluate the performance of a trained machine learning model.
[0406] A "machine learning model" is an algorithm that learns from data and makes predictions or classifications.
[0407] A "random forest classifier" is a type of machine learning algorithm that combines multiple decision trees to make predictions.
[0408] A "prediction result" is the result output by a model trained on test data.
[0409] "Accuracy" is an evaluation metric that indicates how closely the predicted results match the actual results.
[0410] "Real-time evaluation" refers to the immediate evaluation of the safety and usability of a user interface.
[0411] A "warning alert" is a notification that notifies the user that a dangerous user interface has been detected.
[0412] A "user interface" refers to the screens and display elements that a user operates.
[0413] The present invention relates to a system for evaluating the safety and usability of a user interface (UI) in real time, detecting a dangerous UI, and issuing a warning. The system includes the following means:
[0414] Loading the training data
[0415] The server loads the training data from the specified file path. This data includes the features of each data point and their corresponding labels. The training data is saved in JSON format, which allows you to conveniently retrieve the required data.
[0416] Splitting training and test data
[0417] The server splits the loaded features and labels into training data and test data, with 80% of the data used as training data and the remaining 20% used as test data, allowing for efficient model training and evaluation.
[0418] Training the model
[0419] The server uses the training data to train a random forest classifier, an algorithm that combines multiple decision trees to make predictions and is expected to have high accuracy. This model allows for accurate evaluation of the safety and usability of UI.
[0420] Prediction and Evaluation
[0421] The server uses the trained model to make predictions on test data. The accuracy of the model is evaluated by comparing the prediction results with the actual labels. The evaluation results are output as accuracy and are used to evaluate the safety and usability of the UI.
[0422] Real-time ratings and warning alerts
[0423] For users using smart glasses or head-mounted displays (HMDs), a function to evaluate the safety and usability of UI in real time will be implemented. If a dangerous UI is detected, a warning alert will be displayed to the user. This warning will not only be a visual notification, but also a notification by sound or vibration.
[0424] Usage example
[0425] When a user using smart glasses is interacting with a new application, the system evaluates the UI displayed in real time and immediately displays an alert if a risky UI is detected, ensuring the user always has a safe and easy-to-use interface.
[0426] Generative AI model prompt example
[0427] Subject: Evaluation of Real-time UI Evaluation Assistant
[0428] Hello,
[0429] We are using a new UI evaluation assistant app, which evaluates the safety and usability of interfaces displayed through smart glasses in real time. It uses a trained model to evaluate UI in real time and displays an alert if unsafe UI is detected.
[0430] App Features:
[0431] Real-time evaluation of user interface safety and usability
[0432] Warning alerts when unsafe UI is detected
[0433] Update training data based on user feedback to improve the model
[0434] We look forward to your feedback.
[0435] thank you.
[0436] The system is implemented using software such as Python scripts, Scikit-learn, Joblib, and JSON format data. The server reads and splits the data, trains and evaluates the model, and the smart glasses or HMD displays the UI evaluation results in real time. This ensures that users always have a safe and easy-to-use interface.
[0437] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0438] Step 1:
[0439] Loading the training data
[0440] The server loads the training data from the specified file path.
[0441] Input: Training data file saved in JSON format
[0442] Processing: Parse the JSON file and separate it into features and labels
[0443] Output: A list of features and labels
[0444] Step 2:
[0445] Splitting training and test data
[0446] The server splits the loaded features and labels into training data and test data.
[0447] Input: A list of features and labels
[0448] Processing: Split the features and labels into 80% training data and 20% test data
[0449] Output: training data (X_train, y_train) and test data (X_test, y_test)
[0450] Step 3:
[0451] Training the model
[0452] The server trains a random forest classifier using the training data.
[0453] Input: training data (X_train, y_train)
[0454] Processing: Initialize the random forest classifier and train the model using the training data.
[0455] Output: A trained random forest classifier model
[0456] Step 4:
[0457] Prediction and Evaluation
[0458] The server uses the trained model to make predictions on test data.
[0459] Input: Test data (X_test), trained model
[0460] Processing: Use the trained model to make predictions on the test data and compare the predictions with the actual labels.
[0461] Output: Prediction results and model accuracy (precision)
[0462] Step 5:
[0463] Real-time evaluation
[0464] The device (smart glasses or head-mounted display) evaluates the user interface in real time using the trained model.
[0465] Input: User interface features, trained model
[0466] Processing: User interface features are fed into the trained model to evaluate safety and usability.
[0467] Output: Evaluation result (safe UI or dangerous UI)
[0468] Step 6:
[0469] Displaying warning alerts
[0470] The device displays a warning alert to the user when a dangerous user interface is detected.
[0471] Input: Real-time evaluation result (dangerous UI)
[0472] Action: If a dangerous UI is detected, a warning message will be displayed on the device display, and in some cases, sound and vibration notifications will also be given.
[0473] Output: Warning alert (visual message, audio notification, vibration notification)
[0474] These steps ensure that users always have a secure and easy-to-use user interface.
[0475] 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.
[0476] The present invention relates to a system for evaluating the safety and usability of user interfaces (UIs) and for proactively detecting dangerous UIs. This system combines multiple processing means, including learning data loading, data division, machine learning model training, prediction, and evaluation, with an emotion engine that recognizes user emotions.
[0477] Loading the training data
[0478] The server loads the training data from the file path specified by the user. This data includes features for UI elements and their safety labels. The training data is saved in JSON format and is loaded using the json.load function, which splits the data into features and labels.
[0479] Data partitioning
[0480] The server splits the loaded features and labels into training data and test data, with 80% of the data used as training data and the remaining 20% used as test data, resulting in a dataset for training and evaluating the model.
[0481] Training the model
[0482] The server trains a random forest classifier using the training data by first creating an instance of RandomForestClassifier and then calling the fit method to train the model using the features (train_features) and labels (train_labels) from the training data.
[0483] Prediction and Evaluation
[0484] The server uses the trained random forest classifier to make predictions for the test data features (test_features). It compares the prediction results with the actual test data labels (test_labels) to evaluate the accuracy of the model. It calculates the accuracy of the model using the accuracy_score function. This evaluation result is output as accuracy and provided to the user.
[0485] Combining Emotion Engines
[0486] The server also uses an emotion engine to analyze user emotions based on prediction results and model evaluation data. The emotion engine analyzes user reactions and behavior patterns to recognize emotions regarding the safety and usability of the UI.
[0487] Improvement suggestions based on user sentiment
[0488] The emotion engine makes suggestions for improving the UI based on the user's emotions. For example, if a user feels anxious or stressed about a particular UI element, it will provide suggestions for improving that element. This allows users to use a safer and easier-to-use UI.
[0489] Specific examples
[0490] For example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and executes the above steps. The training data includes features for multiple UI elements and a label indicating whether the UI is secure or not. The server uses the features and labels to train a random forest classifier and makes predictions on the test data based on the results.
[0491] The emotion engine then analyzes the user's emotions and recognizes their feelings toward UI elements. For example, if a user feels anxious about clicking a particular button, the system will make suggestions to improve the button's design and placement, allowing the user to use the UI with greater confidence.
[0492] The processing flow will be explained below.
[0493] Step 1:
[0494] The server loads the training data from the specified file path. This data contains features for UI elements and their safety labels. First, it opens the file and loads the JSON format data using the json.load function, then splits it into features and labels.
[0495] Step 2:
[0496] The server splits the features and labels into training data and test data using the train_test_split function, taking 80% as training data and 20% as test data. This split is a necessary step for training and evaluating the model.
[0497] Step 3:
[0498] The server trains the random forest classifier using the training data by first creating an instance of RandomForestClassifier and then calling the fit method to train the model using the features (train_features) and labels (train_labels) from the training data.
[0499] Step 4:
[0500] The server uses the trained random forest classifier to make predictions for the test data features (test_features). Specifically, it obtains the prediction results using the predict method.
[0501] Step 5:
[0502] The server compares the prediction results with the actual test data labels (test_labels) to evaluate the accuracy of the model. It calculates the accuracy of the model using the accuracy_score function. The result is displayed as accuracy and provided to the user through the terminal.
[0503] Step 6:
[0504] The server uses an emotion engine to recognize the user's emotions. Specifically, it receives the model evaluation results and user operation data as input, and analyzes the user's emotional state based on these. This analysis identifies the anxiety or stress the user feels in response to a specific UI element.
[0505] Step 7:
[0506] The server then makes suggestions for improving the UI based on the information obtained from the emotion engine. For example, if a user feels uneasy about a particular button, the server generates a suggestion to change the design or placement of that button. This suggestion is provided to the user via their device.
[0507] Step 8:
[0508] Users can check the UI improvement suggestions provided through their devices and modify the UI based on them, thereby enabling users to use a safer and easier-to-use UI.
[0509] Step 9:
[0510] The device collects feedback on improved UI and sends it to the server, which adds this feedback to future learning data for continuous improvement of the system.
[0511] Example 2
[0512] 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."
[0513] Conventional user interface safety and usability evaluation systems have difficulty making improvement suggestions that take user emotions into account. Therefore, it is necessary to identify factors that cause users anxiety or stress and make appropriate improvements. The present invention aims to recognize user emotions and improve the safety and usability of user interfaces.
[0514] 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.
[0515] In this invention, the server includes means for reading learning data, means for dividing the read learning data into training data and test data, means for training a machine learning model using the training data, means for making predictions on test data using the trained model, means for evaluating the accuracy of the model based on the prediction results, emotion recognition means for analyzing user emotions, and means for proposing improvements to the user interface based on the model evaluation results, thereby enabling the evaluation and improvement of the safety and usability of the user interface taking user emotions into consideration.
[0516] "Training data" is a collection of user interface features and their safety information used to train a machine learning model.
[0517] "Training data" is a part of the learning data used to train a machine learning model; it is a dataset that is given to the model to learn from.
[0518] "Test data" is a portion of the training data used to evaluate the performance of a trained machine learning model, and is a dataset for measuring the model's predictive accuracy.
[0519] A "machine learning model" is an algorithm that learns patterns based on given data and makes predictions and classifications for future data.
[0520] A "random forest classifier" is a type of machine learning model that uses a large number of decision trees to learn and make predictions, and is an algorithm characterized by high classification accuracy.
[0521] "Emotion recognition means" refers to technology or a system that analyzes a user's reactions and behavioral patterns and recognizes the user's emotional state toward the user interface.
[0522] "User interface" refers to the screens and input devices that allow a user to interact with a computer system or application.
[0523] A "prediction result" is the output of a prediction made by a trained machine learning model on test data.
[0524] "Accuracy" indicates the percentage of correct predictions made by a machine learning model and is an indicator of its performance.
[0525] "Improvement suggestions" are specific changes or supplemental instructions to provide better usability or safety based on the user's feelings and usage of the user interface.
[0526] The present invention relates to a system for evaluating the safety and usability of a user interface and for detecting dangerous UIs in advance. The system includes the following processing means.
[0527] First, the server loads the training data from the file path specified by the user. This training data includes features related to user interface elements and their safety labels. Training data is usually saved in JSON format, and the server loads the data using the json.load function and splits it into features and labels.
[0528] Next, the server splits the loaded features and labels into training data and test data. Specifically, 80% of the data is used as training data and the remaining 20% is used as test data. This split gives the server a dataset to train and evaluate the model.
[0529] The server then trains the random forest classifier using the training data. First, create an instance of RandomForestClassifier and then call the fit method to train the model using the features and labels from the training data. The random forest classifier is a type of machine learning model that uses a large number of decision trees for learning and prediction, and is an algorithm characterized by high classification accuracy.
[0530] After training is complete, the server uses the trained random forest classifier to make predictions for the features of the test data, compares the prediction results with the labels of the actual test data, and calculates the accuracy of the model using the accuracy_score function. The evaluation results are finally provided to the user.
[0531] Furthermore, the server uses an emotion recognition means for analyzing the user's emotions. The emotion recognition means is a technology or system for analyzing the user's reactions and behavior patterns and recognizing the user's emotional state toward the user interface. The server uses the emotion recognition means to grasp the user's emotions and makes suggestions for improving the user interface based on the understanding.
[0532] For example, if a user feels anxious or stressed about a particular UI element, the emotion recognition means can detect that emotion and the server can provide suggestions for improving the design and placement of that UI element, allowing the user to experience a safer and more user-friendly user interface.
[0533] As a specific example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and performs the above-mentioned process in order. The training data includes features related to UI elements and labels indicating whether the UI is safe or not. The server uses this data to train a random forest classifier and makes predictions on the test data. The server then uses emotion recognition to analyze the user's emotions and recognize their feelings toward the UI elements. For example, if a user feels uneasy when clicking a particular button, the server can suggest ways to improve the design or placement of that button, allowing the user to use the user interface with greater peace of mind.
[0534] As an example of a prompt, a detailed description can be generated by inputting a text prompt such as "Please generate a description for the user interface safety assessment system" into the generative AI model.
[0535] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0536] Step 1:
[0537] The server loads training data from a file path specified by the user. This training data contains features for user interface elements and their safety labels. The input is the file path provided by the user (e.g., / path / to / your / data.json), and the output is features and labels. The server loads the data using the json.load function and splits it into features and labels.
[0538] Specific behavior:
[0539] The user specifies a file path on the interface.
[0540] The server reads the JSON format data from the specified file path.
[0541] The server divides the loaded data into features and labels.
[0542] Step 2:
[0543] The server splits the loaded features and labels into training data and test data. This split splits the input features and labels into training data and test data. Specifically, 80% of the data is used as training data, and the remaining 20% is used as test data. As output, training and test datasets (train_features, test_features, train_labels, test_labels) are obtained.
[0544] Specific behavior:
[0545] The server splits the data using the train_test_split function.
[0546] The split is 80% training data and 20% test data.
[0547] Step 3:
[0548] The server trains a machine learning model using the training data and a random forest classifier. It uses the features (train_features) and labels (train_labels) of the training data as input and obtains a trained random forest model as output. The server first creates an instance of RandomForestClassifier and then calls the fit method to train the model.
[0549] Specific behavior:
[0550] The server creates an instance of RandomForestClassifier.
[0551] The server uses the fit method to train the model on the training data.
[0552] Step 4:
[0553] The server uses the trained random forest classifier to make predictions on the test data features. As input, it uses the test data features (test_features) and gets predictions as output. It compares the predictions with the actual test data labels (test_labels) and evaluates the accuracy of the model using the accuracy_score function. As output, it calculates the accuracy of the model.
[0554] Specific behavior:
[0555] The server uses the predict method to make predictions on the test data.
[0556] The server uses the accuracy_score function to compare the predictions with the actual labels and calculate the accuracy of the model.
[0557] Step 5:
[0558] The server analyzes the user's emotions using an emotion recognition means. The inputs are the model's prediction results and evaluation data, and the output is the user's emotion recognition results. The emotion recognition means analyzes the user's reactions and behavior patterns to recognize the user's emotional state toward the user interface.
[0559] Specific behavior:
[0560] The server uses an emotion recognition means to detect the user's emotions.
[0561] The server analyzes the user's reactions and behavioral patterns.
[0562] Step 6:
[0563] The server makes suggestions for improving the user interface based on the emotion recognition results. The input is the user's emotion recognition results, and the output is specific suggestions for improvement. For example, if a user feels anxious or stressed about a particular UI element, the server will provide suggestions for improving the design and placement of that UI element.
[0564] Specific behavior:
[0565] The server extracts areas for improvement in the user interface based on the emotion recognition results.
[0566] The server provides the user with specific improvement suggestions.
[0567] (Application example 2)
[0568] 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."
[0569] Conventional user interfaces (UIs) for autonomous vehicles often lack sufficient safety and ease of use. In particular, the anxiety and stress felt by passengers and drivers while operating the UI can directly affect driving safety. Furthermore, conventional UI evaluation methods do not take into account the user's emotional state, making it difficult to identify areas for improvement. This poses challenges for improving the safety and user experience of autonomous vehicles.
[0570] 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 learning data, means for dividing the read learning data into training data and test data, means for training a machine learning model using the training data, means for making predictions on test data using the trained model, means for evaluating the accuracy of the model based on the prediction results, means for recognizing the user's emotions, and means for suggesting improvements to the user interface based on the recognized emotions. This makes it possible to evaluate and improve the safety and usability of a UI taking into account the user's emotional state.
[0571] "Training data" refers to data that includes features related to UI elements and labels related to their safety.
[0572] "Training data" is the portion of data used to train a machine learning model.
[0573] "Test data" is the portion of data used to evaluate the predictive performance of a trained machine learning model.
[0574] A "machine learning model" is an algorithm that is trained using training data to make predictions or classifications for a specific task.
[0575] A "random forest classifier" is a machine learning algorithm that achieves high predictive performance by combining and using a large number of decision trees.
[0576] "User emotions" refers to the emotional state, such as anxiety, stress, or relief, that a user experiences when interacting with a UI.
[0577] "Means of recognizing emotions" refers to systems or algorithms that analyze user reactions and behavioral patterns to identify emotions.
[0578] "Improvement Suggestions" are recommendations for changes to UI design or layout based on perceived emotions.
[0579] This invention provides a system for evaluating and improving the safety and usability of user interfaces (UIs) in autonomous vehicles. The system operates as follows.
[0580] First, the server loads the training data specified by the user. This data includes features about UI elements and their corresponding safety labels. The training data is saved in JSON format, and the server loads it using the json.load function. Next, the server splits the loaded data into training data and test data. The split is typically 80% training data and 20% test data.
[0581] The server uses the training data to train a machine learning model based on a random forest classifier. The trained model is then used to make predictions on the test data. The predictions are compared with the labels of the actual test data to evaluate the accuracy of the model. The evaluation results are calculated using the accuracy_score function.
[0582] Next, the server, which incorporates an emotion engine, utilizes a means to recognize the user's emotions in real time. This emotion engine analyzes the user's reactions and behavioral patterns as they interact with the UI, identifying emotions such as anxiety, stress, and relief. Based on the recognized emotions, the system provides suggestions for improving the UI. For example, if the user feels stressed when interacting with a particular button, specific suggestions for changing the design or placement of that button will be made.
[0583] For example, if a user provides a file called "path_to_ui_data.json" on the touchscreen interface inside an autonomous vehicle, the server will read the data and execute the process described above. The emotion engine will monitor the user's mental state during operation and record their emotions toward UI elements. Based on this data, it will generate UI improvement suggestions that are optimal for the user.
[0584] Examples of prompts include:
[0585] "Generate an application to evaluate the safety and usability of touchscreens and voice interfaces in autonomous vehicles and provide improvement suggestions. Use an emotion engine to recognize and analyze user emotions and provide suggestions based on their reactions to specific UI elements."
[0586] This invention makes it possible to make the UI in autonomous vehicles safe and easy to use by taking into account the emotional state of the user, thereby improving the sense of security and safety of passengers and drivers.
[0587] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0588] Step 1:
[0589] The server loads the training data based on the path provided by the user. This training data is saved in JSON format and contains features for UI elements and their safety labels. Specifically, the json.load function is used to load the file and split it into features and labels. The input to this step is the file path for the training data, and the output is an array of features and an array of labels.
[0590] Step 2:
[0591] The server splits the loaded features and labels into training data and test data. This split is 80% of the data as training data and 20% as test data. Specifically, it splits the data randomly using the train_test_split function. The input of this step is an array of features and an array of labels, and the output is training data (features and labels) and test data (features and labels).
[0592] Step 3:
[0593] The server trains a random forest classifier using the training data. Specifically, it creates an instance of RandomForestClassifier and calls the fit method to train the model with the features and labels of the training data. The input of this step is the features and labels of the training data, and the output is the trained model.
[0594] Step 4:
[0595] The server uses the trained model to make predictions on the test data. Specifically, it uses the predict method to make predictions based on the features of the test data. The inputs to this step are the trained model and the features of the test data, and the output is the prediction result.
[0596] Step 5:
[0597] The server compares the prediction results with the labels of the actual test data to evaluate the accuracy of the model. Specifically, it calculates the accuracy of the prediction using the accuracy_score function. The input of this step is the prediction results and the labels of the test data, and the output is the accuracy (precision) of the model.
[0598] Step 6:
[0599] The server uses an emotion engine to recognize the user's emotions based on the user's operation data. Specifically, the emotion engine analyzes the user's operation log and behavioral patterns. The input of this step is the user's operation data, and the output is the identified emotional state.
[0600] Step 7:
[0601] The server then proposes improvements to the UI based on the recognized emotions. Specifically, it generates improvement suggestions, such as UI element design and placement, based on the user's anxieties and stress factors identified by the emotion engine. The input of this step is the recognized emotional state, and the output is specific improvement suggestions.
[0602] Through this series of processes, it is expected that UI elements in self-driving vehicles will be improved to be safer and easier to use, taking into account the user's emotional state.
[0603] 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.
[0604] 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.
[0605] 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.
[0606] [Third embodiment]
[0607] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0608] 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.
[0609] 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).
[0610] 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.
[0611] 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.
[0612] 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).
[0613] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0614] 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.
[0615] 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.
[0616] 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.
[0617] 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.
[0618] 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."
[0619] The present invention relates to a system for evaluating the safety and usability of user interfaces (UIs) and for proactively detecting unsafe UIs. The system has multiple processing means, including reading training data, dividing the data, training a machine learning model, making predictions, and evaluating the data.
[0620] Loading the training data
[0621] The server loads the training data from the specified file path. This data includes the features of each data point and their corresponding labels. The training data is saved in JSON format, which allows you to conveniently retrieve the required data.
[0622] Data partitioning
[0623] The server splits the loaded features and labels into training data and test data, with 80% of the data used as training data and the remaining 20% used as test data, providing a dataset for training and evaluating the model.
[0624] Training the model
[0625] The server uses the training data to train a random forest classifier, a highly accurate algorithm that combines multiple decision trees to make predictions, allowing for accurate evaluation of the safety and usability of UIs.
[0626] Prediction and Evaluation
[0627] The server uses the trained model to make predictions on test data. The accuracy of the model is evaluated by comparing the prediction results with the actual labels. The evaluation results are output as accuracy, and the safety and usability of the UI can be evaluated based on these results.
[0628] Specific examples
[0629] For example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and executes the above steps. The training data includes features for multiple UI elements and a label indicating whether the UI is safe or not. The server uses the features and labels to train a random forest classifier and makes predictions on the test data based on the results. If the prediction accuracy is 95% or higher, the user can use the model to evaluate the UI. This makes it possible to detect dangerous UI in advance and ensure user safety.
[0630] The processing flow will be explained below.
[0631] Step 1:
[0632] The server loads the training data from the specified file path. This data contains features for UI elements and their safety labels. Since it is saved in JSON format, the server loads it using the json.load function and splits the data into features and labels.
[0633] Step 2:
[0634] The server splits the loaded features and labels into training data and test data using the train_test_split function, taking 80% as training data and 20% as test data for model training and evaluation.
[0635] Step 3:
[0636] The server trains a random forest classifier using the training data by first creating an instance of RandomForestClassifier and then calling the fit method to train the model using the features (train_features) and labels (train_labels) from the training data.
[0637] Step 4:
[0638] The server uses the trained random forest classifier to make predictions for the test data features (test_features). Specifically, it uses the predict method to predict the results of the test data.
[0639] Step 5:
[0640] The server compares the prediction results with the labels of the actual test data (test_labels) to evaluate the accuracy of the model. It calculates the accuracy of the model using the accuracy_score function. This evaluation result is output as accuracy and provided to the user.
[0641] Step 6:
[0642] The terminal receives the file path specified by the user and calls the main function with this file path as an argument. The main function executes all the above processing steps sequentially.
[0643] Step 7:
[0644] The terminal displays the final evaluation results to the user, allowing the user to confirm the safety and usability of the UI based on the evaluation results.
[0645] Example 1
[0646] 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."
[0647] There is a need for a system that can evaluate the safety and usability of user interfaces (UIs) in advance and detect dangerous UIs early. Conventional methods require a lot of time and effort to evaluate UI safety, and the evaluation results often lack reliability. In addition, potential risks tend to be overlooked depending on the combination of UI elements.
[0648] 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.
[0649] In this invention, the server includes means for loading learning data from a specified file path, means for dividing the loaded learning data into training data and test data, means for training a random forest classifier using the training data, means for making predictions on test data using the trained model, and means for evaluating the accuracy of the model based on the prediction results. This makes it possible to automatically evaluate the safety and usability of UIs with high accuracy and to detect dangerous UIs early on.
[0650] The "specified file path" is a character string that indicates the location in the system where a specific data file is stored.
[0651] "Training data" is a dataset of feature-label pairs used to train a model.
[0652] A "feature" is a collection of numerical and categorical information that is used as input data for a model to make predictions or classifications.
[0653] A "label" is information indicating the output value or class corresponding to a feature, and is the target data of the model.
[0654] "Training data" is the portion of a dataset used to train a machine learning model.
[0655] "Test data" is a portion of a dataset used to evaluate a trained machine learning model.
[0656] A "random forest classifier" is a machine learning algorithm that has high generalization ability by aggregating multiple decision trees to make predictions.
[0657] "Training" is the process of using training data to optimize the parameters of a machine learning model and improve its performance.
[0658] "Prediction" refers to using a trained machine learning model to estimate output values or classes for new data.
[0659] "Accuracy" is an indicator that shows how closely the prediction results for test data match the actual labels, and is used to evaluate the performance of a model.
[0660] The present invention relates to a system for evaluating the safety and usability of user interfaces (UIs) and for proactively detecting unsafe UIs. The system has multiple processing means, including reading training data, dividing the data, training a machine learning model, making predictions, and evaluating the data.
[0661] Loading the training data
[0662] The server loads the training data from the specified file path. This data includes the features of each data point and their corresponding labels. The training data is saved in JSON format, which allows for efficient retrieval of the required data. The Python pandas library is commonly used to load the data.
[0663] Data partitioning
[0664] The server splits the loaded features and labels into training data and test data. This split uses 80% of the data as training data and the remaining 20% as test data. To split the data, it uses the train_test_split method of scikit-learn.
[0665] Training the model
[0666] The server uses the training data to train a random forest classifier, a highly accurate algorithm that uses multiple decision trees to make predictions, allowing it to accurately assess the safety and usability of UIs.
[0667] Prediction and Evaluation
[0668] The server uses the trained model to make predictions on test data. The accuracy of the model is evaluated by comparing the prediction results with the actual labels. The evaluation results are output as accuracy, and the safety and usability of the UI can be evaluated based on these results.
[0669] Specific examples
[0670] For example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and executes the above steps. The training data includes features for multiple UI elements and a label indicating whether the UI is safe or not. The server uses the features and labels to train a random forest classifier and makes predictions on the test data based on the results. If the prediction accuracy is 95% or higher, the user can use the model to evaluate the UI. This makes it possible to detect dangerous UI in advance and ensure user safety.
[0671] Prompt Sentence Examples
[0672] A concrete example of how to use this system is to use prompts such as:
[0673] plaintext
[0674] The server reads the data in the file path 'path_to_your_data.json', trains a random forest model to evaluate the safety of UI elements, and makes predictions on the test data. If the accuracy of the evaluation results is 95% or higher, the model is deemed to have sufficient accuracy for practical use.
[0675] The above-mentioned method allows users to evaluate the safety of UI with high accuracy and prevent potential dangers before they occur, which is expected to improve the safety and satisfaction of the user's operating environment.
[0676] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0677] Step 1:
[0678] The server reads the training data from the specified file path. This input data is saved in JSON format and contains the features and labels of each data point. The server uses the Python pandas library to conveniently retrieve the training data. Specifically, the server specifies the file path and reads the data using the pandas read_json method. As a result, a training dataset in data frame format is output.
[0679] Step 2:
[0680] The server splits the loaded learning data into training data and test data. This input splits a dataset containing features and labels. The split method uses 80% of the data as training data and the remaining 20% as test data. Specifically, it uses the train_test_split function of scikit-learn to split the data randomly. This outputs pairs of training data and test data.
[0681] Step 3:
[0682] The server uses the training data to train a random forest classifier. It requires a training dataset (feature-label pairs) as input. Specifically, it instantiates a RandomForestClassifier from scikit-learn and trains the model using the fit method. Once training is complete, the trained random forest model is output.
[0683] Step 4:
[0684] The server uses the trained model to make predictions on the test data. The inputs required are the trained random forest model and the features of the test dataset. Specifically, the server uses the predict method to generate predicted labels from the features of the test data. This outputs the predicted labels for the test data.
[0685] Step 5:
[0686] The server evaluates the accuracy of the model by comparing the predicted results with the actual labels. The inputs required are the predicted labels and the actual labels of the test data. Specifically, it uses the accuracy_score function of scikit-learn to calculate the degree of agreement between the predicted results and the actual labels. This outputs an accuracy score indicating the accuracy of the model.
[0687] Through these steps, the server can evaluate the safety and usability of a user interface (UI). Specifically, it trains a random forest classifier using a user-specified dataset and uses the model to evaluate UI elements. This allows it to detect potential dangers in advance and ensure user safety.
[0688] (Application example 1)
[0689] 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."
[0690] Usability and safety are important factors for a wide variety of modern user interfaces (UIs). However, there are limited means to efficiently evaluate these factors during the development phase, which can result in inappropriate UIs being presented to users. There is also a need for a system that can evaluate UIs in real time and immediately warn of dangerous UIs. This will ensure user safety and improve usability.
[0691] 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.
[0692] In this invention, the server includes means for reading learning data, means for dividing the read learning data into training data and test data, means for training a machine learning model using the training data, means for making predictions on test data using the trained model, means for evaluating the accuracy of the model based on the prediction results, means for evaluating the safety and usability of a user interface in real time, and means for displaying a warning alert when a dangerous user interface is detected. This makes it possible to efficiently evaluate user interfaces, detect dangerous interfaces in real time, and issue a warning immediately.
[0693] "Training data" is data containing features and labels used to train a machine learning model.
[0694] "Training data" is the portion of data used to train a machine learning model.
[0695] "Test data" is the portion of data used to evaluate the performance of a trained machine learning model.
[0696] A "machine learning model" is an algorithm that learns from data and makes predictions or classifications.
[0697] A "random forest classifier" is a type of machine learning algorithm that combines multiple decision trees to make predictions.
[0698] A "prediction result" is the result output by a model trained on test data.
[0699] "Accuracy" is an evaluation metric that indicates how closely the predicted results match the actual results.
[0700] "Real-time evaluation" refers to the immediate evaluation of the safety and usability of a user interface.
[0701] A "warning alert" is a notification that notifies the user that a dangerous user interface has been detected.
[0702] A "user interface" refers to the screens and display elements that a user operates.
[0703] The present invention relates to a system for evaluating the safety and usability of a user interface (UI) in real time, detecting a dangerous UI, and issuing a warning. The system includes the following means:
[0704] Loading the training data
[0705] The server loads the training data from the specified file path. This data includes the features of each data point and their corresponding labels. The training data is saved in JSON format, which allows you to conveniently retrieve the required data.
[0706] Splitting training and test data
[0707] The server splits the loaded features and labels into training data and test data, with 80% of the data used as training data and the remaining 20% used as test data, allowing for efficient model training and evaluation.
[0708] Training the model
[0709] The server uses the training data to train a random forest classifier, an algorithm that combines multiple decision trees to make predictions and is expected to have high accuracy. This model allows for accurate evaluation of the safety and usability of UI.
[0710] Prediction and Evaluation
[0711] The server uses the trained model to make predictions on test data. The accuracy of the model is evaluated by comparing the prediction results with the actual labels. The evaluation results are output as accuracy and are used to evaluate the safety and usability of the UI.
[0712] Real-time ratings and warning alerts
[0713] For users using smart glasses or head-mounted displays (HMDs), a function to evaluate the safety and usability of UI in real time will be implemented. If a dangerous UI is detected, a warning alert will be displayed to the user. This warning will not only be a visual notification, but also a notification by sound or vibration.
[0714] Usage example
[0715] When a user using smart glasses is interacting with a new application, the system evaluates the UI displayed in real time and immediately displays an alert if a risky UI is detected, ensuring the user always has a safe and easy-to-use interface.
[0716] Generative AI model prompt example
[0717] Subject: Evaluation of Real-time UI Evaluation Assistant
[0718] Hello,
[0719] We are using a new UI evaluation assistant app, which evaluates the safety and usability of interfaces displayed through smart glasses in real time. It uses a trained model to evaluate UI in real time and displays an alert if unsafe UI is detected.
[0720] App Features:
[0721] Real-time evaluation of user interface safety and usability
[0722] Warning alerts when unsafe UI is detected
[0723] Update training data based on user feedback to improve the model
[0724] We look forward to your feedback.
[0725] thank you.
[0726] The system is implemented using software such as Python scripts, Scikit-learn, Joblib, and JSON format data. The server reads and splits the data, trains and evaluates the model, and the smart glasses or HMD displays the UI evaluation results in real time. This ensures that users always have a safe and easy-to-use interface.
[0727] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0728] Step 1:
[0729] Loading the training data
[0730] The server loads the training data from the specified file path.
[0731] Input: Training data file saved in JSON format
[0732] Processing: Parse the JSON file and separate it into features and labels
[0733] Output: A list of features and labels
[0734] Step 2:
[0735] Splitting training and test data
[0736] The server splits the loaded features and labels into training data and test data.
[0737] Input: A list of features and labels
[0738] Processing: Split the features and labels into 80% training data and 20% test data
[0739] Output: training data (X_train, y_train) and test data (X_test, y_test)
[0740] Step 3:
[0741] Training the model
[0742] The server trains a random forest classifier using the training data.
[0743] Input: training data (X_train, y_train)
[0744] Processing: Initialize the random forest classifier and train the model using the training data.
[0745] Output: A trained random forest classifier model
[0746] Step 4:
[0747] Prediction and Evaluation
[0748] The server uses the trained model to make predictions on test data.
[0749] Input: Test data (X_test), trained model
[0750] Processing: Use the trained model to make predictions on the test data and compare the predictions with the actual labels.
[0751] Output: Prediction results and model accuracy (precision)
[0752] Step 5:
[0753] Real-time evaluation
[0754] The device (smart glasses or head-mounted display) evaluates the user interface in real time using the trained model.
[0755] Input: User interface features, trained model
[0756] Processing: User interface features are fed into the trained model to evaluate safety and usability.
[0757] Output: Evaluation result (safe UI or dangerous UI)
[0758] Step 6:
[0759] Displaying warning alerts
[0760] The device displays a warning alert to the user when a dangerous user interface is detected.
[0761] Input: Real-time evaluation result (dangerous UI)
[0762] Action: If a dangerous UI is detected, a warning message will be displayed on the device display, and in some cases, sound and vibration notifications will also be given.
[0763] Output: Warning alert (visual message, audio notification, vibration notification)
[0764] These steps ensure that users always have a secure and easy-to-use user interface.
[0765] 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.
[0766] The present invention relates to a system for evaluating the safety and usability of user interfaces (UIs) and for proactively detecting dangerous UIs. This system combines multiple processing means, including learning data loading, data division, machine learning model training, prediction, and evaluation, with an emotion engine that recognizes user emotions.
[0767] Loading the training data
[0768] The server loads the training data from the file path specified by the user. This data includes features for UI elements and their safety labels. The training data is saved in JSON format and is loaded using the json.load function, which splits the data into features and labels.
[0769] Data partitioning
[0770] The server splits the loaded features and labels into training data and test data, with 80% of the data used as training data and the remaining 20% used as test data, resulting in a dataset for training and evaluating the model.
[0771] Training the model
[0772] The server trains a random forest classifier using the training data by first creating an instance of RandomForestClassifier and then calling the fit method to train the model using the features (train_features) and labels (train_labels) from the training data.
[0773] Prediction and Evaluation
[0774] The server uses the trained random forest classifier to make predictions for the test data features (test_features). It compares the prediction results with the actual test data labels (test_labels) to evaluate the accuracy of the model. It calculates the accuracy of the model using the accuracy_score function. This evaluation result is output as accuracy and provided to the user.
[0775] Combining Emotion Engines
[0776] The server also uses an emotion engine to analyze user emotions based on prediction results and model evaluation data. The emotion engine analyzes user reactions and behavior patterns to recognize emotions regarding the safety and usability of the UI.
[0777] Improvement suggestions based on user sentiment
[0778] The emotion engine makes suggestions for improving the UI based on the user's emotions. For example, if a user feels anxious or stressed about a particular UI element, it will provide suggestions for improving that element. This allows users to use a safer and easier-to-use UI.
[0779] Specific examples
[0780] For example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and executes the above steps. The training data includes features for multiple UI elements and a label indicating whether the UI is secure or not. The server uses the features and labels to train a random forest classifier and makes predictions on the test data based on the results.
[0781] The emotion engine then analyzes the user's emotions and recognizes their feelings toward UI elements. For example, if a user feels anxious about clicking a particular button, the system will make suggestions to improve the button's design and placement, allowing the user to use the UI with greater confidence.
[0782] The processing flow will be explained below.
[0783] Step 1:
[0784] The server loads the training data from the specified file path. This data contains features for UI elements and their safety labels. First, it opens the file and loads the JSON format data using the json.load function, then splits it into features and labels.
[0785] Step 2:
[0786] The server splits the features and labels into training data and test data using the train_test_split function, taking 80% as training data and 20% as test data. This split is a necessary step for training and evaluating the model.
[0787] Step 3:
[0788] The server trains the random forest classifier using the training data by first creating an instance of RandomForestClassifier and then calling the fit method to train the model using the features (train_features) and labels (train_labels) from the training data.
[0789] Step 4:
[0790] The server uses the trained random forest classifier to make predictions for the test data features (test_features). Specifically, it obtains the prediction results using the predict method.
[0791] Step 5:
[0792] The server compares the prediction results with the actual test data labels (test_labels) to evaluate the accuracy of the model. It calculates the accuracy of the model using the accuracy_score function. The result is displayed as accuracy and provided to the user through the terminal.
[0793] Step 6:
[0794] The server uses an emotion engine to recognize the user's emotions. Specifically, it receives the model evaluation results and user operation data as input, and analyzes the user's emotional state based on these. This analysis identifies the anxiety or stress the user feels in response to a specific UI element.
[0795] Step 7:
[0796] The server then makes suggestions for improving the UI based on the information obtained from the emotion engine. For example, if a user feels uneasy about a particular button, the server generates a suggestion to change the design or placement of that button. This suggestion is provided to the user via their device.
[0797] Step 8:
[0798] Users can check the UI improvement suggestions provided through their devices and modify the UI based on them, thereby enabling users to use a safer and easier-to-use UI.
[0799] Step 9:
[0800] The device collects feedback on improved UI and sends it to the server, which adds this feedback to future learning data for continuous improvement of the system.
[0801] Example 2
[0802] 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."
[0803] Conventional user interface safety and usability evaluation systems have difficulty making improvement suggestions that take user emotions into account. Therefore, it is necessary to identify factors that cause users anxiety or stress and make appropriate improvements. The present invention aims to recognize user emotions and improve the safety and usability of user interfaces.
[0804] 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.
[0805] In this invention, the server includes means for reading learning data, means for dividing the read learning data into training data and test data, means for training a machine learning model using the training data, means for making predictions on test data using the trained model, means for evaluating the accuracy of the model based on the prediction results, emotion recognition means for analyzing user emotions, and means for proposing improvements to the user interface based on the model evaluation results, thereby enabling the evaluation and improvement of the safety and usability of the user interface taking user emotions into consideration.
[0806] "Training data" is a collection of user interface features and their safety information used to train a machine learning model.
[0807] "Training data" is a part of the learning data used to train a machine learning model; it is a dataset that is given to the model to learn from.
[0808] "Test data" is a portion of the training data used to evaluate the performance of a trained machine learning model, and is a dataset for measuring the model's predictive accuracy.
[0809] A "machine learning model" is an algorithm that learns patterns based on given data and makes predictions and classifications for future data.
[0810] A "random forest classifier" is a type of machine learning model that uses a large number of decision trees to learn and make predictions, and is an algorithm characterized by high classification accuracy.
[0811] "Emotion recognition means" refers to technology or a system that analyzes a user's reactions and behavioral patterns and recognizes the user's emotional state toward the user interface.
[0812] "User interface" refers to the screens and input devices that allow a user to interact with a computer system or application.
[0813] A "prediction result" is the output of a prediction made by a trained machine learning model on test data.
[0814] "Accuracy" indicates the percentage of correct predictions made by a machine learning model and is an indicator of its performance.
[0815] "Improvement suggestions" are specific changes or supplemental instructions to provide better usability or safety based on the user's feelings and usage of the user interface.
[0816] The present invention relates to a system for evaluating the safety and usability of a user interface and for detecting dangerous UIs in advance. The system includes the following processing means.
[0817] First, the server loads the training data from the file path specified by the user. This training data includes features related to user interface elements and their safety labels. Training data is usually saved in JSON format, and the server loads the data using the json.load function and splits it into features and labels.
[0818] Next, the server splits the loaded features and labels into training data and test data. Specifically, 80% of the data is used as training data and the remaining 20% is used as test data. This split gives the server a dataset to train and evaluate the model.
[0819] The server then trains the random forest classifier using the training data. First, create an instance of RandomForestClassifier and then call the fit method to train the model using the features and labels from the training data. The random forest classifier is a type of machine learning model that uses a large number of decision trees for learning and prediction, and is an algorithm characterized by high classification accuracy.
[0820] After training is complete, the server uses the trained random forest classifier to make predictions for the features of the test data, compares the prediction results with the labels of the actual test data, and calculates the accuracy of the model using the accuracy_score function. The evaluation results are finally provided to the user.
[0821] Furthermore, the server uses an emotion recognition means for analyzing the user's emotions. The emotion recognition means is a technology or system for analyzing the user's reactions and behavior patterns and recognizing the user's emotional state toward the user interface. The server uses the emotion recognition means to grasp the user's emotions and makes suggestions for improving the user interface based on the understanding.
[0822] For example, if a user feels anxious or stressed about a particular UI element, the emotion recognition means can detect that emotion and the server can provide suggestions for improving the design and placement of that UI element, allowing the user to experience a safer and more user-friendly user interface.
[0823] As a specific example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and performs the above-mentioned process in order. The training data includes features related to UI elements and labels indicating whether the UI is safe or not. The server uses this data to train a random forest classifier and makes predictions on the test data. The server then uses emotion recognition to analyze the user's emotions and recognize their feelings toward the UI elements. For example, if a user feels uneasy when clicking a particular button, the server can suggest ways to improve the design or placement of that button, allowing the user to use the user interface with greater peace of mind.
[0824] As an example of a prompt, a detailed description can be generated by inputting a text prompt such as "Please generate a description for the user interface safety assessment system" into the generative AI model.
[0825] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0826] Step 1:
[0827] The server loads training data from a file path specified by the user. This training data contains features for user interface elements and their safety labels. The input is the file path provided by the user (e.g., / path / to / your / data.json), and the output is features and labels. The server loads the data using the json.load function and splits it into features and labels.
[0828] Specific behavior:
[0829] The user specifies a file path on the interface.
[0830] The server reads the JSON format data from the specified file path.
[0831] The server divides the loaded data into features and labels.
[0832] Step 2:
[0833] The server splits the loaded features and labels into training data and test data. This split splits the input features and labels into training data and test data. Specifically, 80% of the data is used as training data, and the remaining 20% is used as test data. As output, training and test datasets (train_features, test_features, train_labels, test_labels) are obtained.
[0834] Specific behavior:
[0835] The server splits the data using the train_test_split function.
[0836] The split is 80% training data and 20% test data.
[0837] Step 3:
[0838] The server trains a machine learning model using the training data and a random forest classifier. It uses the features (train_features) and labels (train_labels) of the training data as input and obtains a trained random forest model as output. The server first creates an instance of RandomForestClassifier and then calls the fit method to train the model.
[0839] Specific behavior:
[0840] The server creates an instance of RandomForestClassifier.
[0841] The server uses the fit method to train the model on the training data.
[0842] Step 4:
[0843] The server uses the trained random forest classifier to make predictions on the test data features. As input, it uses the test data features (test_features) and gets predictions as output. It compares the predictions with the actual test data labels (test_labels) and evaluates the accuracy of the model using the accuracy_score function. As output, it calculates the accuracy of the model.
[0844] Specific behavior:
[0845] The server uses the predict method to make predictions on the test data.
[0846] The server uses the accuracy_score function to compare the predictions with the actual labels and calculate the accuracy of the model.
[0847] Step 5:
[0848] The server analyzes the user's emotions using an emotion recognition means. The inputs are the model's prediction results and evaluation data, and the output is the user's emotion recognition results. The emotion recognition means analyzes the user's reactions and behavior patterns to recognize the user's emotional state toward the user interface.
[0849] Specific behavior:
[0850] The server uses an emotion recognition means to detect the user's emotions.
[0851] The server analyzes the user's reactions and behavioral patterns.
[0852] Step 6:
[0853] The server makes suggestions for improving the user interface based on the emotion recognition results. The input is the user's emotion recognition results, and the output is specific suggestions for improvement. For example, if a user feels anxious or stressed about a particular UI element, the server will provide suggestions for improving the design and placement of that UI element.
[0854] Specific behavior:
[0855] The server extracts areas for improvement in the user interface based on the emotion recognition results.
[0856] The server provides the user with specific improvement suggestions.
[0857] (Application example 2)
[0858] 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."
[0859] Conventional user interfaces (UIs) for autonomous vehicles often lack sufficient safety and ease of use. In particular, the anxiety and stress felt by passengers and drivers while operating the UI can directly affect driving safety. Furthermore, conventional UI evaluation methods do not take into account the user's emotional state, making it difficult to identify areas for improvement. This poses challenges for improving the safety and user experience of autonomous vehicles.
[0860] 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 learning data, means for dividing the read learning data into training data and test data, means for training a machine learning model using the training data, means for making predictions on test data using the trained model, means for evaluating the accuracy of the model based on the prediction results, means for recognizing the user's emotions, and means for suggesting improvements to the user interface based on the recognized emotions. This makes it possible to evaluate and improve the safety and usability of a UI taking into account the user's emotional state.
[0861] "Training data" refers to data that includes features related to UI elements and labels related to their safety.
[0862] "Training data" is the portion of data used to train a machine learning model.
[0863] "Test data" is the portion of data used to evaluate the predictive performance of a trained machine learning model.
[0864] A "machine learning model" is an algorithm that is trained using training data to make predictions or classifications for a specific task.
[0865] A "random forest classifier" is a machine learning algorithm that achieves high predictive performance by combining and using a large number of decision trees.
[0866] "User emotions" refers to the emotional state, such as anxiety, stress, or relief, that a user experiences when interacting with a UI.
[0867] "Means of recognizing emotions" refers to systems or algorithms that analyze user reactions and behavioral patterns to identify emotions.
[0868] "Improvement Suggestions" are recommendations for changes to UI design or layout based on perceived emotions.
[0869] This invention provides a system for evaluating and improving the safety and usability of user interfaces (UIs) in autonomous vehicles. The system operates as follows.
[0870] First, the server loads the training data specified by the user. This data includes features about UI elements and their corresponding safety labels. The training data is saved in JSON format, and the server loads it using the json.load function. Next, the server splits the loaded data into training data and test data. The split is typically 80% training data and 20% test data.
[0871] The server uses the training data to train a machine learning model based on a random forest classifier. The trained model is then used to make predictions on the test data. The predictions are compared with the labels of the actual test data to evaluate the accuracy of the model. The evaluation results are calculated using the accuracy_score function.
[0872] Next, the server, which incorporates an emotion engine, utilizes a means to recognize the user's emotions in real time. This emotion engine analyzes the user's reactions and behavioral patterns as they interact with the UI, identifying emotions such as anxiety, stress, and relief. Based on the recognized emotions, the system provides suggestions for improving the UI. For example, if the user feels stressed when interacting with a particular button, specific suggestions for changing the design or placement of that button will be made.
[0873] For example, if a user provides a file called "path_to_ui_data.json" on the touchscreen interface inside an autonomous vehicle, the server will read the data and execute the process described above. The emotion engine will monitor the user's mental state during operation and record their emotions toward UI elements. Based on this data, it will generate UI improvement suggestions that are optimal for the user.
[0874] Examples of prompts include:
[0875] "Generate an application to evaluate the safety and usability of touchscreens and voice interfaces in autonomous vehicles and provide improvement suggestions. Use an emotion engine to recognize and analyze user emotions and provide suggestions based on their reactions to specific UI elements."
[0876] This invention makes it possible to make the UI in autonomous vehicles safe and easy to use by taking into account the emotional state of the user, thereby improving the sense of security and safety of passengers and drivers.
[0877] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0878] Step 1:
[0879] The server loads the training data based on the path provided by the user. This training data is saved in JSON format and contains features for UI elements and their safety labels. Specifically, the json.load function is used to load the file and split it into features and labels. The input to this step is the file path for the training data, and the output is an array of features and an array of labels.
[0880] Step 2:
[0881] The server splits the loaded features and labels into training data and test data. This split is 80% of the data as training data and 20% as test data. Specifically, it splits the data randomly using the train_test_split function. The input of this step is an array of features and an array of labels, and the output is training data (features and labels) and test data (features and labels).
[0882] Step 3:
[0883] The server trains a random forest classifier using the training data. Specifically, it creates an instance of RandomForestClassifier and calls the fit method to train the model with the features and labels of the training data. The input of this step is the features and labels of the training data, and the output is the trained model.
[0884] Step 4:
[0885] The server uses the trained model to make predictions on the test data. Specifically, it uses the predict method to make predictions based on the features of the test data. The inputs to this step are the trained model and the features of the test data, and the output is the prediction result.
[0886] Step 5:
[0887] The server compares the prediction results with the labels of the actual test data to evaluate the accuracy of the model. Specifically, it calculates the accuracy of the prediction using the accuracy_score function. The input of this step is the prediction results and the labels of the test data, and the output is the accuracy (precision) of the model.
[0888] Step 6:
[0889] The server uses an emotion engine to recognize the user's emotions based on the user's operation data. Specifically, the emotion engine analyzes the user's operation log and behavioral patterns. The input of this step is the user's operation data, and the output is the identified emotional state.
[0890] Step 7:
[0891] The server then proposes improvements to the UI based on the recognized emotions. Specifically, it generates improvement suggestions, such as UI element design and placement, based on the user's anxieties and stress factors identified by the emotion engine. The input of this step is the recognized emotional state, and the output is specific improvement suggestions.
[0892] Through this series of processes, it is expected that UI elements in self-driving vehicles will be improved to be safer and easier to use, taking into account the user's emotional state.
[0893] 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.
[0894] 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.
[0895] 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.
[0896] [Fourth embodiment]
[0897] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[0898] 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.
[0899] 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).
[0900] 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.
[0901] 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.
[0902] 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).
[0903] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0904] 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.
[0905] 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.
[0906] 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.
[0907] 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.
[0908] 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.
[0909] 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."
[0910] The present invention relates to a system for evaluating the safety and usability of user interfaces (UIs) and for proactively detecting unsafe UIs. The system has multiple processing means, including reading training data, dividing the data, training a machine learning model, making predictions, and evaluating the data.
[0911] Loading the training data
[0912] The server loads the training data from the specified file path. This data includes the features of each data point and their corresponding labels. The training data is saved in JSON format, which allows you to conveniently retrieve the required data.
[0913] Data partitioning
[0914] The server splits the loaded features and labels into training data and test data, with 80% of the data used as training data and the remaining 20% used as test data, providing a dataset for training and evaluating the model.
[0915] Training the model
[0916] The server uses the training data to train a random forest classifier, a highly accurate algorithm that combines multiple decision trees to make predictions, allowing for accurate evaluation of the safety and usability of UIs.
[0917] Prediction and Evaluation
[0918] The server uses the trained model to make predictions on test data. The accuracy of the model is evaluated by comparing the prediction results with the actual labels. The evaluation results are output as accuracy, and the safety and usability of the UI can be evaluated based on these results.
[0919] Specific examples
[0920] For example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and executes the above steps. The training data includes features for multiple UI elements and a label indicating whether the UI is safe or not. The server uses the features and labels to train a random forest classifier and makes predictions on the test data based on the results. If the prediction accuracy is 95% or higher, the user can use the model to evaluate the UI. This makes it possible to detect dangerous UI in advance and ensure user safety.
[0921] The processing flow will be explained below.
[0922] Step 1:
[0923] The server loads the training data from the specified file path. This data contains features for UI elements and their safety labels. Since it is saved in JSON format, the server loads it using the json.load function and splits the data into features and labels.
[0924] Step 2:
[0925] The server splits the loaded features and labels into training data and test data using the train_test_split function, taking 80% as training data and 20% as test data for model training and evaluation.
[0926] Step 3:
[0927] The server trains a random forest classifier using the training data by first creating an instance of RandomForestClassifier and then calling the fit method to train the model using the features (train_features) and labels (train_labels) from the training data.
[0928] Step 4:
[0929] The server uses the trained random forest classifier to make predictions for the test data features (test_features). Specifically, it uses the predict method to predict the results of the test data.
[0930] Step 5:
[0931] The server compares the prediction results with the labels of the actual test data (test_labels) to evaluate the accuracy of the model. It calculates the accuracy of the model using the accuracy_score function. This evaluation result is output as accuracy and provided to the user.
[0932] Step 6:
[0933] The terminal receives the file path specified by the user and calls the main function with this file path as an argument. The main function executes all the above processing steps sequentially.
[0934] Step 7:
[0935] The terminal displays the final evaluation results to the user, allowing the user to confirm the safety and usability of the UI based on the evaluation results.
[0936] Example 1
[0937] 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."
[0938] There is a need for a system that can evaluate the safety and usability of user interfaces (UIs) in advance and detect dangerous UIs early. Conventional methods require a lot of time and effort to evaluate UI safety, and the evaluation results often lack reliability. In addition, potential risks tend to be overlooked depending on the combination of UI elements.
[0939] 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.
[0940] In this invention, the server includes means for loading learning data from a specified file path, means for dividing the loaded learning data into training data and test data, means for training a random forest classifier using the training data, means for making predictions on test data using the trained model, and means for evaluating the accuracy of the model based on the prediction results. This makes it possible to automatically evaluate the safety and usability of UIs with high accuracy and to detect dangerous UIs early on.
[0941] The "specified file path" is a character string that indicates the location in the system where a specific data file is stored.
[0942] "Training data" is a dataset of feature-label pairs used to train a model.
[0943] A "feature" is a collection of numerical and categorical information that is used as input data for a model to make predictions or classifications.
[0944] A "label" is information indicating the output value or class corresponding to a feature, and is the target data of the model.
[0945] "Training data" is the portion of a dataset used to train a machine learning model.
[0946] "Test data" is a portion of a dataset used to evaluate a trained machine learning model.
[0947] A "random forest classifier" is a machine learning algorithm that has high generalization ability by aggregating multiple decision trees to make predictions.
[0948] "Training" is the process of using training data to optimize the parameters of a machine learning model and improve its performance.
[0949] "Prediction" refers to using a trained machine learning model to estimate output values or classes for new data.
[0950] "Accuracy" is an indicator that shows how closely the prediction results for test data match the actual labels, and is used to evaluate the performance of a model.
[0951] The present invention relates to a system for evaluating the safety and usability of user interfaces (UIs) and for proactively detecting unsafe UIs. The system has multiple processing means, including reading training data, dividing the data, training a machine learning model, making predictions, and evaluating the data.
[0952] Loading the training data
[0953] The server loads the training data from the specified file path. This data includes the features of each data point and their corresponding labels. The training data is saved in JSON format, which allows for efficient retrieval of the required data. The Python pandas library is commonly used to load the data.
[0954] Data partitioning
[0955] The server splits the loaded features and labels into training data and test data. This split uses 80% of the data as training data and the remaining 20% as test data. To split the data, it uses the train_test_split method of scikit-learn.
[0956] Training the model
[0957] The server uses the training data to train a random forest classifier, a highly accurate algorithm that uses multiple decision trees to make predictions, allowing it to accurately assess the safety and usability of UIs.
[0958] Prediction and Evaluation
[0959] The server uses the trained model to make predictions on test data. The accuracy of the model is evaluated by comparing the prediction results with the actual labels. The evaluation results are output as accuracy, and the safety and usability of the UI can be evaluated based on these results.
[0960] Specific examples
[0961] For example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and executes the above steps. The training data includes features for multiple UI elements and a label indicating whether the UI is safe or not. The server uses the features and labels to train a random forest classifier and makes predictions on the test data based on the results. If the prediction accuracy is 95% or higher, the user can use the model to evaluate the UI. This makes it possible to detect dangerous UI in advance and ensure user safety.
[0962] Prompt Sentence Examples
[0963] A concrete example of how to use this system is to use prompts such as:
[0964] plaintext
[0965] The server reads the data in the file path 'path_to_your_data.json', trains a random forest model to evaluate the safety of UI elements, and makes predictions on the test data. If the accuracy of the evaluation results is 95% or higher, the model is deemed to have sufficient accuracy for practical use.
[0966] The above-mentioned method allows users to evaluate the safety of UI with high accuracy and prevent potential dangers before they occur, which is expected to improve the safety and satisfaction of the user's operating environment.
[0967] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0968] Step 1:
[0969] The server reads the training data from the specified file path. This input data is saved in JSON format and contains the features and labels of each data point. The server uses the Python pandas library to conveniently retrieve the training data. Specifically, the server specifies the file path and reads the data using the pandas read_json method. As a result, a training dataset in data frame format is output.
[0970] Step 2:
[0971] The server splits the loaded learning data into training data and test data. This input splits a dataset containing features and labels. The split method uses 80% of the data as training data and the remaining 20% as test data. Specifically, it uses the train_test_split function of scikit-learn to split the data randomly. This outputs pairs of training data and test data.
[0972] Step 3:
[0973] The server uses the training data to train a random forest classifier. It requires a training dataset (feature-label pairs) as input. Specifically, it instantiates a RandomForestClassifier from scikit-learn and trains the model using the fit method. Once training is complete, the trained random forest model is output.
[0974] Step 4:
[0975] The server uses the trained model to make predictions on the test data. The inputs required are the trained random forest model and the features of the test dataset. Specifically, the server uses the predict method to generate predicted labels from the features of the test data. This outputs the predicted labels for the test data.
[0976] Step 5:
[0977] The server evaluates the accuracy of the model by comparing the predicted results with the actual labels. The inputs required are the predicted labels and the actual labels of the test data. Specifically, it uses the accuracy_score function of scikit-learn to calculate the degree of agreement between the predicted results and the actual labels. This outputs an accuracy score indicating the accuracy of the model.
[0978] Through these steps, the server can evaluate the safety and usability of a user interface (UI). Specifically, it trains a random forest classifier using a user-specified dataset and uses the model to evaluate UI elements. This allows it to detect potential dangers in advance and ensure user safety.
[0979] (Application example 1)
[0980] 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."
[0981] Usability and safety are important factors for a wide variety of modern user interfaces (UIs). However, there are limited means to efficiently evaluate these factors during the development phase, which can result in inappropriate UIs being presented to users. There is also a need for a system that can evaluate UIs in real time and immediately warn of dangerous UIs. This will ensure user safety and improve usability.
[0982] 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.
[0983] In this invention, the server includes means for reading learning data, means for dividing the read learning data into training data and test data, means for training a machine learning model using the training data, means for making predictions on test data using the trained model, means for evaluating the accuracy of the model based on the prediction results, means for evaluating the safety and usability of a user interface in real time, and means for displaying a warning alert when a dangerous user interface is detected. This makes it possible to efficiently evaluate user interfaces, detect dangerous interfaces in real time, and issue a warning immediately.
[0984] "Training data" is data containing features and labels used to train a machine learning model.
[0985] "Training data" is the portion of data used to train a machine learning model.
[0986] "Test data" is the portion of data used to evaluate the performance of a trained machine learning model.
[0987] A "machine learning model" is an algorithm that learns from data and makes predictions or classifications.
[0988] A "random forest classifier" is a type of machine learning algorithm that combines multiple decision trees to make predictions.
[0989] A "prediction result" is the result output by a model trained on test data.
[0990] "Accuracy" is an evaluation metric that indicates how closely the predicted results match the actual results.
[0991] "Real-time evaluation" refers to the immediate evaluation of the safety and usability of a user interface.
[0992] A "warning alert" is a notification that notifies the user that a dangerous user interface has been detected.
[0993] A "user interface" refers to the screens and display elements that a user operates.
[0994] The present invention relates to a system for evaluating the safety and usability of a user interface (UI) in real time, detecting a dangerous UI, and issuing a warning. The system includes the following means:
[0995] Loading the training data
[0996] The server loads the training data from the specified file path. This data includes the features of each data point and their corresponding labels. The training data is saved in JSON format, which allows you to conveniently retrieve the required data.
[0997] Splitting training and test data
[0998] The server splits the loaded features and labels into training data and test data, with 80% of the data used as training data and the remaining 20% used as test data, allowing for efficient model training and evaluation.
[0999] Training the model
[1000] The server uses the training data to train a random forest classifier, an algorithm that combines multiple decision trees to make predictions and is expected to have high accuracy. This model allows for accurate evaluation of the safety and usability of UI.
[1001] Prediction and Evaluation
[1002] The server uses the trained model to make predictions on test data. The accuracy of the model is evaluated by comparing the prediction results with the actual labels. The evaluation results are output as accuracy and are used to evaluate the safety and usability of the UI.
[1003] Real-time ratings and warning alerts
[1004] For users using smart glasses or head-mounted displays (HMDs), a function to evaluate the safety and usability of UI in real time will be implemented. If a dangerous UI is detected, a warning alert will be displayed to the user. This warning will not only be a visual notification, but also a notification by sound or vibration.
[1005] Usage example
[1006] When a user using smart glasses is interacting with a new application, the system evaluates the UI displayed in real time and immediately displays an alert if a risky UI is detected, ensuring the user always has a safe and easy-to-use interface.
[1007] Generative AI model prompt example
[1008] Subject: Evaluation of Real-time UI Evaluation Assistant
[1009] Hello,
[1010] We are using a new UI evaluation assistant app, which evaluates the safety and usability of interfaces displayed through smart glasses in real time. It uses a trained model to evaluate UI in real time and displays an alert if unsafe UI is detected.
[1011] App Features:
[1012] Real-time evaluation of user interface safety and usability
[1013] Warning alerts when unsafe UI is detected
[1014] Update training data based on user feedback to improve the model
[1015] We look forward to your feedback.
[1016] thank you.
[1017] The system is implemented using software such as Python scripts, Scikit-learn, Joblib, and JSON format data. The server reads and splits the data, trains and evaluates the model, and the smart glasses or HMD displays the UI evaluation results in real time. This ensures that users always have a safe and easy-to-use interface.
[1018] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1019] Step 1:
[1020] Loading the training data
[1021] The server loads the training data from the specified file path.
[1022] Input: Training data file saved in JSON format
[1023] Processing: Parse the JSON file and separate it into features and labels
[1024] Output: A list of features and labels
[1025] Step 2:
[1026] Splitting training and test data
[1027] The server splits the loaded features and labels into training data and test data.
[1028] Input: A list of features and labels
[1029] Processing: Split the features and labels into 80% training data and 20% test data
[1030] Output: training data (X_train, y_train) and test data (X_test, y_test)
[1031] Step 3:
[1032] Training the model
[1033] The server trains a random forest classifier using the training data.
[1034] Input: training data (X_train, y_train)
[1035] Processing: Initialize the random forest classifier and train the model using the training data.
[1036] Output: A trained random forest classifier model
[1037] Step 4:
[1038] Prediction and Evaluation
[1039] The server uses the trained model to make predictions on test data.
[1040] Input: Test data (X_test), trained model
[1041] Processing: Use the trained model to make predictions on the test data and compare the predictions with the actual labels.
[1042] Output: Prediction results and model accuracy (precision)
[1043] Step 5:
[1044] Real-time evaluation
[1045] The device (smart glasses or head-mounted display) evaluates the user interface in real time using the trained model.
[1046] Input: User interface features, trained model
[1047] Processing: User interface features are fed into the trained model to evaluate safety and usability.
[1048] Output: Evaluation result (safe UI or dangerous UI)
[1049] Step 6:
[1050] Displaying warning alerts
[1051] The device displays a warning alert to the user when a dangerous user interface is detected.
[1052] Input: Real-time evaluation result (dangerous UI)
[1053] Action: If a dangerous UI is detected, a warning message will be displayed on the device display, and in some cases, sound and vibration notifications will also be given.
[1054] Output: Warning alert (visual message, audio notification, vibration notification)
[1055] These steps ensure that users always have a secure and easy-to-use user interface.
[1056] 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.
[1057] The present invention relates to a system for evaluating the safety and usability of user interfaces (UIs) and for proactively detecting dangerous UIs. This system combines multiple processing means, including learning data loading, data division, machine learning model training, prediction, and evaluation, with an emotion engine that recognizes user emotions.
[1058] Loading the training data
[1059] The server loads the training data from the file path specified by the user. This data includes features for UI elements and their safety labels. The training data is saved in JSON format and is loaded using the json.load function, which splits the data into features and labels.
[1060] Data partitioning
[1061] The server splits the loaded features and labels into training data and test data, with 80% of the data used as training data and the remaining 20% used as test data, resulting in a dataset for training and evaluating the model.
[1062] Training the model
[1063] The server trains a random forest classifier using the training data by first creating an instance of RandomForestClassifier and then calling the fit method to train the model using the features (train_features) and labels (train_labels) from the training data.
[1064] Prediction and Evaluation
[1065] The server uses the trained random forest classifier to make predictions for the test data features (test_features). It compares the prediction results with the actual test data labels (test_labels) to evaluate the accuracy of the model. It calculates the accuracy of the model using the accuracy_score function. This evaluation result is output as accuracy and provided to the user.
[1066] Combining Emotion Engines
[1067] The server also uses an emotion engine to analyze user emotions based on prediction results and model evaluation data. The emotion engine analyzes user reactions and behavior patterns to recognize emotions regarding the safety and usability of the UI.
[1068] Improvement suggestions based on user sentiment
[1069] The emotion engine makes suggestions for improving the UI based on the user's emotions. For example, if a user feels anxious or stressed about a particular UI element, it will provide suggestions for improving that element. This allows users to use a safer and easier-to-use UI.
[1070] Specific examples
[1071] For example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and executes the above steps. The training data includes features for multiple UI elements and a label indicating whether the UI is secure or not. The server uses the features and labels to train a random forest classifier and makes predictions on the test data based on the results.
[1072] The emotion engine then analyzes the user's emotions and recognizes their feelings toward UI elements. For example, if a user feels anxious about clicking a particular button, the system will make suggestions to improve the button's design and placement, allowing the user to use the UI with greater confidence.
[1073] The processing flow will be explained below.
[1074] Step 1:
[1075] The server loads the training data from the specified file path. This data contains features for UI elements and their safety labels. First, it opens the file and loads the JSON format data using the json.load function, then splits it into features and labels.
[1076] Step 2:
[1077] The server splits the features and labels into training data and test data using the train_test_split function, taking 80% as training data and 20% as test data. This split is a necessary step for training and evaluating the model.
[1078] Step 3:
[1079] The server trains the random forest classifier using the training data by first creating an instance of RandomForestClassifier and then calling the fit method to train the model using the features (train_features) and labels (train_labels) from the training data.
[1080] Step 4:
[1081] The server uses the trained random forest classifier to make predictions for the test data features (test_features). Specifically, it obtains the prediction results using the predict method.
[1082] Step 5:
[1083] The server compares the prediction results with the actual test data labels (test_labels) to evaluate the accuracy of the model. It calculates the accuracy of the model using the accuracy_score function. The result is displayed as accuracy and provided to the user through the terminal.
[1084] Step 6:
[1085] The server uses an emotion engine to recognize the user's emotions. Specifically, it receives the model evaluation results and user operation data as input, and analyzes the user's emotional state based on these. This analysis identifies the anxiety or stress the user feels in response to a specific UI element.
[1086] Step 7:
[1087] The server then makes suggestions for improving the UI based on the information obtained from the emotion engine. For example, if a user feels uneasy about a particular button, the server generates a suggestion to change the design or placement of that button. This suggestion is provided to the user via their device.
[1088] Step 8:
[1089] Users can check the UI improvement suggestions provided through their devices and modify the UI based on them, thereby enabling users to use a safer and easier-to-use UI.
[1090] Step 9:
[1091] The device collects feedback on improved UI and sends it to the server, which adds this feedback to future learning data for continuous improvement of the system.
[1092] Example 2
[1093] 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."
[1094] Conventional user interface safety and usability evaluation systems have difficulty making improvement suggestions that take user emotions into account. Therefore, it is necessary to identify factors that cause users anxiety or stress and make appropriate improvements. The present invention aims to recognize user emotions and improve the safety and usability of user interfaces.
[1095] 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.
[1096] In this invention, the server includes means for reading learning data, means for dividing the read learning data into training data and test data, means for training a machine learning model using the training data, means for making predictions on test data using the trained model, means for evaluating the accuracy of the model based on the prediction results, emotion recognition means for analyzing user emotions, and means for proposing improvements to the user interface based on the model evaluation results, thereby enabling the evaluation and improvement of the safety and usability of the user interface taking user emotions into consideration.
[1097] "Training data" is a collection of user interface features and their safety information used to train a machine learning model.
[1098] "Training data" is a part of the learning data used to train a machine learning model; it is a dataset that is given to the model to learn from.
[1099] "Test data" is a portion of the training data used to evaluate the performance of a trained machine learning model, and is a dataset for measuring the model's predictive accuracy.
[1100] A "machine learning model" is an algorithm that learns patterns based on given data and makes predictions and classifications for future data.
[1101] A "random forest classifier" is a type of machine learning model that uses a large number of decision trees to learn and make predictions, and is an algorithm characterized by high classification accuracy.
[1102] "Emotion recognition means" refers to technology or a system that analyzes a user's reactions and behavioral patterns and recognizes the user's emotional state toward the user interface.
[1103] "User interface" refers to the screens and input devices that allow a user to interact with a computer system or application.
[1104] A "prediction result" is the output of a prediction made by a trained machine learning model on test data.
[1105] "Accuracy" indicates the percentage of correct predictions made by a machine learning model and is an indicator of its performance.
[1106] "Improvement suggestions" are specific changes or supplemental instructions to provide better usability or safety based on the user's feelings and usage of the user interface.
[1107] The present invention relates to a system for evaluating the safety and usability of a user interface and for detecting dangerous UIs in advance. The system includes the following processing means.
[1108] First, the server loads the training data from the file path specified by the user. This training data includes features related to user interface elements and their safety labels. Training data is usually saved in JSON format, and the server loads the data using the json.load function and splits it into features and labels.
[1109] Next, the server splits the loaded features and labels into training data and test data. Specifically, 80% of the data is used as training data and the remaining 20% is used as test data. This split gives the server a dataset to train and evaluate the model.
[1110] The server then trains the random forest classifier using the training data. First, create an instance of RandomForestClassifier and then call the fit method to train the model using the features and labels from the training data. The random forest classifier is a type of machine learning model that uses a large number of decision trees for learning and prediction, and is an algorithm characterized by high classification accuracy.
[1111] After training is complete, the server uses the trained random forest classifier to make predictions for the features of the test data, compares the prediction results with the labels of the actual test data, and calculates the accuracy of the model using the accuracy_score function. The evaluation results are finally provided to the user.
[1112] Furthermore, the server uses an emotion recognition means for analyzing the user's emotions. The emotion recognition means is a technology or system for analyzing the user's reactions and behavior patterns and recognizing the user's emotional state toward the user interface. The server uses the emotion recognition means to grasp the user's emotions and makes suggestions for improving the user interface based on the understanding.
[1113] For example, if a user feels anxious or stressed about a particular UI element, the emotion recognition means can detect that emotion and the server can provide suggestions for improving the design and placement of that UI element, allowing the user to experience a safer and more user-friendly user interface.
[1114] As a specific example, if a user provides a file called "path_to_your_data.json" on the interface, the server reads the data and performs the above-mentioned process in order. The training data includes features related to UI elements and labels indicating whether the UI is safe or not. The server uses this data to train a random forest classifier and makes predictions on the test data. The server then uses emotion recognition to analyze the user's emotions and recognize their feelings toward the UI elements. For example, if a user feels uneasy when clicking a particular button, the server can suggest ways to improve the design or placement of that button, allowing the user to use the user interface with greater peace of mind.
[1115] As an example of a prompt, a detailed description can be generated by inputting a text prompt such as "Please generate a description for the user interface safety assessment system" into the generative AI model.
[1116] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1117] Step 1:
[1118] The server loads training data from a file path specified by the user. This training data contains features for user interface elements and their safety labels. The input is the file path provided by the user (e.g., / path / to / your / data.json), and the output is features and labels. The server loads the data using the json.load function and splits it into features and labels.
[1119] Specific behavior:
[1120] The user specifies a file path on the interface.
[1121] The server reads the JSON format data from the specified file path.
[1122] The server divides the loaded data into features and labels.
[1123] Step 2:
[1124] The server splits the loaded features and labels into training data and test data. This split splits the input features and labels into training data and test data. Specifically, 80% of the data is used as training data, and the remaining 20% is used as test data. As output, training and test datasets (train_features, test_features, train_labels, test_labels) are obtained.
[1125] Specific behavior:
[1126] The server splits the data using the train_test_split function.
[1127] The split is 80% training data and 20% test data.
[1128] Step 3:
[1129] The server trains a machine learning model using the training data and a random forest classifier. It uses the features (train_features) and labels (train_labels) of the training data as input and obtains a trained random forest model as output. The server first creates an instance of RandomForestClassifier and then calls the fit method to train the model.
[1130] Specific behavior:
[1131] The server creates an instance of RandomForestClassifier.
[1132] The server uses the fit method to train the model on the training data.
[1133] Step 4:
[1134] The server uses the trained random forest classifier to make predictions on the test data features. As input, it uses the test data features (test_features) and gets predictions as output. It compares the predictions with the actual test data labels (test_labels) and evaluates the accuracy of the model using the accuracy_score function. As output, it calculates the accuracy of the model.
[1135] Specific behavior:
[1136] The server uses the predict method to make predictions on the test data.
[1137] The server uses the accuracy_score function to compare the predictions with the actual labels and calculate the accuracy of the model.
[1138] Step 5:
[1139] The server analyzes the user's emotions using an emotion recognition means. The inputs are the model's prediction results and evaluation data, and the output is the user's emotion recognition results. The emotion recognition means analyzes the user's reactions and behavior patterns to recognize the user's emotional state toward the user interface.
[1140] Specific behavior:
[1141] The server uses an emotion recognition means to detect the user's emotions.
[1142] The server analyzes the user's reactions and behavioral patterns.
[1143] Step 6:
[1144] The server makes suggestions for improving the user interface based on the emotion recognition results. The input is the user's emotion recognition results, and the output is specific suggestions for improvement. For example, if a user feels anxious or stressed about a particular UI element, the server will provide suggestions for improving the design and placement of that UI element.
[1145] Specific behavior:
[1146] The server extracts areas for improvement in the user interface based on the emotion recognition results.
[1147] The server provides the user with specific improvement suggestions.
[1148] (Application example 2)
[1149] 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."
[1150] Conventional user interfaces (UIs) for autonomous vehicles often lack sufficient safety and ease of use. In particular, the anxiety and stress felt by passengers and drivers while operating the UI can directly affect driving safety. Furthermore, conventional UI evaluation methods do not take into account the user's emotional state, making it difficult to identify areas for improvement. This poses challenges for improving the safety and user experience of autonomous vehicles.
[1151] 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 learning data, means for dividing the read learning data into training data and test data, means for training a machine learning model using the training data, means for making predictions on test data using the trained model, means for evaluating the accuracy of the model based on the prediction results, means for recognizing the user's emotions, and means for suggesting improvements to the user interface based on the recognized emotions. This makes it possible to evaluate and improve the safety and usability of a UI taking into account the user's emotional state.
[1152] "Training data" refers to data that includes features related to UI elements and labels related to their safety.
[1153] "Training data" is the portion of data used to train a machine learning model.
[1154] "Test data" is the portion of data used to evaluate the predictive performance of a trained machine learning model.
[1155] A "machine learning model" is an algorithm that is trained using training data to make predictions or classifications for a specific task.
[1156] A "random forest classifier" is a machine learning algorithm that achieves high predictive performance by combining and using a large number of decision trees.
[1157] "User emotions" refers to the emotional state, such as anxiety, stress, or relief, that a user experiences when interacting with a UI.
[1158] "Means of recognizing emotions" refers to systems or algorithms that analyze user reactions and behavioral patterns to identify emotions.
[1159] "Improvement Suggestions" are recommendations for changes to UI design or layout based on perceived emotions.
[1160] This invention provides a system for evaluating and improving the safety and usability of user interfaces (UIs) in autonomous vehicles. The system operates as follows.
[1161] First, the server loads the training data specified by the user. This data includes features about UI elements and their corresponding safety labels. The training data is saved in JSON format, and the server loads it using the json.load function. Next, the server splits the loaded data into training data and test data. The split is typically 80% training data and 20% test data.
[1162] The server uses the training data to train a machine learning model based on a random forest classifier. The trained model is then used to make predictions on the test data. The predictions are compared with the labels of the actual test data to evaluate the accuracy of the model. The evaluation results are calculated using the accuracy_score function.
[1163] Next, the server, which incorporates an emotion engine, utilizes a means to recognize the user's emotions in real time. This emotion engine analyzes the user's reactions and behavioral patterns as they interact with the UI, identifying emotions such as anxiety, stress, and relief. Based on the recognized emotions, the system provides suggestions for improving the UI. For example, if the user feels stressed when interacting with a particular button, specific suggestions for changing the design or placement of that button will be made.
[1164] For example, if a user provides a file called "path_to_ui_data.json" on the touchscreen interface inside an autonomous vehicle, the server will read the data and execute the process described above. The emotion engine will monitor the user's mental state during operation and record their emotions toward UI elements. Based on this data, it will generate UI improvement suggestions that are optimal for the user.
[1165] Examples of prompts include:
[1166] "Generate an application to evaluate the safety and usability of touchscreens and voice interfaces in autonomous vehicles and provide improvement suggestions. Use an emotion engine to recognize and analyze user emotions and provide suggestions based on their reactions to specific UI elements."
[1167] This invention makes it possible to make the UI in autonomous vehicles safe and easy to use by taking into account the emotional state of the user, thereby improving the sense of security and safety of passengers and drivers.
[1168] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1169] Step 1:
[1170] The server loads the training data based on the path provided by the user. This training data is saved in JSON format and contains features for UI elements and their safety labels. Specifically, the json.load function is used to load the file and split it into features and labels. The input to this step is the file path for the training data, and the output is an array of features and an array of labels.
[1171] Step 2:
[1172] The server splits the loaded features and labels into training data and test data. This split is 80% of the data as training data and 20% as test data. Specifically, it splits the data randomly using the train_test_split function. The input of this step is an array of features and an array of labels, and the output is training data (features and labels) and test data (features and labels).
[1173] Step 3:
[1174] The server trains a random forest classifier using the training data. Specifically, it creates an instance of RandomForestClassifier and calls the fit method to train the model with the features and labels of the training data. The input of this step is the features and labels of the training data, and the output is the trained model.
[1175] Step 4:
[1176] The server uses the trained model to make predictions on the test data. Specifically, it uses the predict method to make predictions based on the features of the test data. The inputs to this step are the trained model and the features of the test data, and the output is the prediction result.
[1177] Step 5:
[1178] The server compares the prediction results with the labels of the actual test data to evaluate the accuracy of the model. Specifically, it calculates the accuracy of the prediction using the accuracy_score function. The input of this step is the prediction results and the labels of the test data, and the output is the accuracy (precision) of the model.
[1179] Step 6:
[1180] The server uses an emotion engine to recognize the user's emotions based on the user's operation data. Specifically, the emotion engine analyzes the user's operation log and behavioral patterns. The input of this step is the user's operation data, and the output is the identified emotional state.
[1181] Step 7:
[1182] The server then proposes improvements to the UI based on the recognized emotions. Specifically, it generates improvement suggestions, such as UI element design and placement, based on the user's anxieties and stress factors identified by the emotion engine. The input of this step is the recognized emotional state, and the output is specific improvement suggestions.
[1183] Through this series of processes, it is expected that UI elements in self-driving vehicles will be improved to be safer and easier to use, taking into account the user's emotional state.
[1184] 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.
[1185] 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.
[1186] 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.
[1187] 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.
[1188] 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.
[1189] 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.
[1190] 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).
[1191] 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.
[1192] 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."
[1193] 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.
[1194] 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).
[1195] 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.
[1196] 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.
[1197] 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.
[1198] 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.
[1199] 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.
[1200] 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.
[1201] 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.
[1202] 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.
[1203] 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.
[1204] 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.
[1205] The following is further disclosed regarding the above embodiment.
[1206] (Claim 1)
[1207] A means for loading training data;
[1208] A means for splitting the loaded learning data into training data and test data;
[1209] a means for training a machine learning model using the training data;
[1210] a means for using the trained model to make predictions on test data;
[1211] A means of evaluating the accuracy of the model based on the prediction results;
[1212] A system including:
[1213] (Claim 2)
[1214] 2. The system of claim 1, wherein the training data includes a plurality of features and labels.
[1215] (Claim 3)
[1216] 10. The system of claim 1, wherein the machine learning model is trained using a random forest classifier.
[1217] "Example 1"
[1218] (Claim 1)
[1219] A means of loading training data from a specified file path;
[1220] A means for splitting the loaded learning data into training data and test data;
[1221] a means for training a random forest classifier using the training data;
[1222] a means for using the trained model to make predictions on test data;
[1223] A means of evaluating the accuracy of the model based on the prediction results;
[1224] A system including:
[1225] (Claim 2)
[1226] 2. The system of claim 1, wherein the training data includes a plurality of features and labels.
[1227] (Claim 3)
[1228] 10. The system of claim 1, wherein the accuracy of the model is evaluated as precision.
[1229] "Application Example 1"
[1230] (Claim 1)
[1231] A means for loading training data;
[1232] A means for splitting the loaded learning data into training data and test data;
[1233] a means for training a machine learning model using the training data;
[1234] a means for using the trained model to make predictions on test data;
[1235] A means of evaluating the accuracy of the model based on the prediction results;
[1236] A means of assessing the safety and usability of user interfaces in real time;
[1237] a means for displaying a warning alert when a dangerous user interface is detected;
[1238] A system including:
[1239] (Claim 2)
[1240] 2. The system of claim 1, wherein the training data includes a plurality of features and labels.
[1241] (Claim 3)
[1242] 10. The system of claim 1, wherein the machine learning model is trained using a random forest classifier.
[1243] "Example 2: Combining Emotion Engines"
[1244] (Claim 1)
[1245] A means for loading training data;
[1246] A means for splitting the loaded learning data into training data and test data;
[1247] a means for training a machine learning model using the training data;
[1248] a means for using the trained model to make predictions on test data;
[1249] A means of evaluating the accuracy of the model based on the prediction results;
[1250] emotion recognition means for analyzing the emotions of a user;
[1251] A means for proposing improvements to the user interface based on the evaluation results of the model;
[1252] A system including:
[1253] (Claim 2)
[1254] 2. The system of claim 1, wherein the training data includes a plurality of features and labels.
[1255] (Claim 3)
[1256] 10. The system of claim 1, wherein the machine learning model is trained using a random forest classifier.
[1257] "Application example 2 when combining emotion engines"
[1258] (Claim 1)
[1259] A means for loading training data;
[1260] A means for splitting the loaded learning data into training data and test data;
[1261] a means for training a machine learning model using the training data;
[1262] a means for using the trained model to make predictions on test data;
[1263] A means of evaluating the accuracy of the model based on the prediction results;
[1264] a means of recognizing a user's emotions;
[1265] a means for suggesting improvements to the user interface based on the recognized emotions;
[1266] A system including:
[1267] (Claim 2)
[1268] 2. The system of claim 1, wherein the training data includes a plurality of features and labels.
[1269] (Claim 3)
[1270] 10. The system of claim 1, wherein the machine learning model is trained using a random forest classifier. [Explanation of symbols]
[1271] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for loading training data; A means for splitting the loaded learning data into training data and test data; a means for training a machine learning model using the training data; a means for using the trained model to make predictions on test data; A means of evaluating the accuracy of the model based on the prediction results; A system including:
2. The system of claim 1 , wherein the training data includes a plurality of features and labels.
3. The system of claim 1 , wherein the machine learning model is trained using a random forest classifier.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A