system
The system addresses the lack of effective feedback in educational support by analyzing user answers to generate tailored questions, improving learning efficiency by targeting weaknesses and adjusting difficulty based on emotional feedback.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2026-03-10
AI Technical Summary
Conventional educational support systems fail to provide appropriate feedback or additional questions based on user answers, hindering efficient learning by not addressing specific weaknesses effectively.
A system that includes means for receiving user answers, analyzing them to detect specific error patterns, and generating tailored new questions to address these errors, utilizing a server and terminal interaction with optional emotion recognition for personalized learning support.
Enables efficient learning by continuously targeting and improving user weaknesses through personalized question generation, enhancing learning effectiveness by addressing specific errors and adjusting difficulty based on emotional feedback.
Smart Images

Figure 2026041354000001_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] Conventional educational support systems have difficulty providing appropriate feedback or additional questions based on the results of questions answered by users, which prevents users from efficiently overcoming their weaknesses and reduces the effectiveness of their learning. [Means for solving the problem]
[0005] In order to solve the above problems, the present invention provides the following means: a system including means for receiving user answers and means for analyzing the received answers and detecting specific error patterns; and means for generating new questions based on the detected errors and presenting the generated new questions to the user. This system allows the user to continuously solve practice questions tailored to their weak points, thereby efficiently progressing with their studies.
[0006] The "means for receiving the user's answer" is a device or software that has the function of acquiring the answer information entered by the user and transmitting it to the system.
[0007] The "means for analyzing received answers and detecting specific error patterns" refers to a device or software that executes an algorithm or process that analyzes the content of the user's answers and identifies predefined error patterns.
[0008] The "means for generating new problems based on identified errors" refers to a device or software capable of generating appropriate repair problems in response to detected errors.
[0009] The "means for presenting the generated new problem to the user" is a device or software for displaying the generated new practice problem to the user. [Brief explanation of the drawings]
[0010] [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
[0011] 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.
[0012] First, the terms used in the following description will be explained.
[0013] 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).
[0014] 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.
[0015] 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.
[0016] 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.
[0017] 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."
[0018] [First embodiment]
[0019] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0020] 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.
[0021] 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).
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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."
[0031] In one embodiment of the present invention, a system for analyzing user answers and generating new questions will be described. This system is configured through interaction between a server, a terminal, and a user.
[0032] System Overview
[0033] The user inputs answers via the terminal, which are then sent to the server, which analyzes the answers and detects specific error patterns. Based on the detected errors, the server generates new exercises and presents them to the user again via the terminal.
[0034] Server processing explanation
[0035] The server first receives the answer submitted by the user and then uses a class called WeaknessAnalyzer to analyze the answer, which defines regular expressions to detect specific error patterns.
[0036] If an error is detected as a result of the analysis, the server generates a new problem based on the corresponding error pattern. For example, if an arithmetic error is detected, a new arithmetic problem is generated. The generated problem is presented to the user via the terminal.
[0037] Terminal processing explanation
[0038] The terminal has the function of receiving input from the user and sending it to the server, and also has the function of displaying new problems returned by the server. The user can re-solve these new problems to ensure that they improve their weak points.
[0039] User Roles
[0040] Users use their devices to input their answers to questions. These answers are sent to the server, which analyzes them and presents new questions, progressing the user's learning. By repeating this cycle, users can efficiently overcome their weaknesses.
[0041] Specific examples
[0042] Specifically, let us consider the case where user "Alice" inputs the incorrect answer "5 + 3 = 10". The user's answer is sent from the device to the server. The server analyzes the received answer and determines that an arithmetic error has been detected. Based on this result, the server generates a new arithmetic problem "5 + 3 = ?" and returns it to the device. The device displays the new problem to the user, who can then solve it again. In this way, the user can improve their learning effect.
[0043] This system, configured in this way, analyzes the user's answers to identify weak points, and generates and presents new questions that address those weak points, thereby achieving efficient learning for the user.
[0044] The processing flow will be explained below.
[0045] Step 1:
[0046] The terminal receives the user's answer. The user enters the answer on the terminal. For example, user "Alice" enters the answer to the math problem "5 + 3 = 10."
[0047] Step 2:
[0048] The terminal sends the answer entered by the user to the server. The terminal confirms the input and sends the data to the server.
[0049] Step 3:
[0050] The server receives the user's answer. The server receives the answer data sent from the terminal.
[0051] Step 4:
[0052] The server analyzes the received answer. The server uses the WeaknessAnalyzer class to analyze the answer and detect specific error patterns. For example, if the answer "5 + 3 = 10" contains an incorrect arithmetic calculation, it will be detected as an "arithmetic" error pattern.
[0053] Step 5:
[0054] The server generates new problems based on the identified errors. The server generates new problems that correspond to the detected error patterns. For example, for an "arithmetic" error, it generates a new math problem: "5 + 3 = ?"
[0055] Step 6:
[0056] The server generates new questions and sends them to the terminal, which then sends the new questions back to the terminal so that the user can answer them again.
[0057] Step 7:
[0058] The terminal displays the new question to the user. The terminal displays the new question received from the server on the screen and prompts the user to answer it again.
[0059] Step 8:
[0060] The user again inputs answers to new questions. The user answers the new questions that are presented to them, and by repeating this cycle, the user can progress through their studies efficiently.
[0061] Example 1
[0062] 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."
[0063] In conventional learning systems, feedback on user answers is not provided immediately and systematically, leading to repeated mistakes. Furthermore, the lack of an effective method for generating new questions makes it difficult for users to progress efficiently. Furthermore, the process of generating new questions that reflect past error patterns is complex, making it difficult to address specific weaknesses of users.
[0064] 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.
[0065] In this invention, the server includes means for receiving user answers, means for analyzing the received answers and detecting specific error patterns, means for generating new questions based on the identified errors, means for creating new questions using a generative AI model, means for inputting prompt sentences to the generative AI model, and means for receiving responses from the generative AI model, thereby enabling the server to provide immediate and appropriate feedback to each user's answer and establish an effective learning process.
[0066] A "user" is someone who uses the system to input answers to questions and progress through their studies.
[0067] A "server" is a computer system that receives answers sent by users, analyzes them, and generates new questions to provide to users.
[0068] A "prompt" is text input to a generative AI model that contains instructions for generating a new problem.
[0069] A "generative AI model" is an artificial intelligence that generates new questions based on input prompts using natural language processing technology.
[0070] An "answer" is text data of the answer that the user enters to the question.
[0071] "Analysis" refers to the process by which the server examines the answer and detects specific error patterns.
[0072] An "error pattern" indicates the type and characteristics of a particular error contained in a response, and serves as a criterion for the server to detect it.
[0073] A "new problem" is a new task or question to be answered that is generated based on the user's answers.
[0074] "Presenting" refers to displaying the generated new question to the user.
[0075] In one embodiment of the present invention, a system for analyzing user answers and generating new questions is configured through interaction between a server, a terminal, and a user.
[0076] Server processing format
[0077] The server receives the answers submitted by the user. The received answers are first analyzed using the "WeaknessAnalyzer" class, which defines regular expressions for detecting specific error patterns. If an error is detected as a result of the analysis, the server generates a new question based on the corresponding error pattern.
[0078] For example, if an arithmetic error is detected, a new arithmetic problem can be generated. This can be done using a generative AI model. A generative AI model receives a prompt sentence as input, receives a response based on the prompt, and generates a new problem. An example of a prompt sentence is as follows:
[0079] "If the given answer "5 + 3 = 10" is incorrect, please suggest a new problem to generate."
[0080] The generated new problem is then presented to the user via a terminal. To execute this series of processes, the server uses the following software and libraries: a server OS (e.g., Ubuntu Server), a web server (e.g., Apache (registered trademark)), a programming language (e.g., Python), a regular expression library (e.g., re), and a generation library (e.g., random).
[0081] Terminal processing format
[0082] The terminal has the function of receiving input from the user and sending it to the server. It also has the function of displaying new problems returned by the server. By solving these new problems again, the user can reliably overcome their weaknesses. The terminal can be, for example, a PC, tablet, or smartphone, and processing is performed via a web browser (e.g., GOOGLE CHROME (registered trademark)).
[0083] User Roles
[0084] Users use their devices to input their answers to questions. These answers are sent to the server, which analyzes them and presents new questions, progressing the user's learning. By repeating this cycle, users can efficiently overcome their weaknesses.
[0085] Specific examples
[0086] Specifically, let us consider the case where user "Alice" inputs the incorrect answer "5 + 3 = 10". The user's answer is sent from the device to the server. The server analyzes the received answer and determines that an arithmetic error has been detected. Based on this result, the server generates a new arithmetic problem "5 + 3 = ?" and returns it to the device. The device displays the new problem to the user, who can then solve it again. In this way, the user can improve their learning effect.
[0087] This system, configured in this way, analyzes the user's answers to identify weak points, and generates and presents new questions that address those weak points, thereby achieving efficient learning for the user.
[0088] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0089] Step 1:
[0090] A user uses a terminal to input the answer to the question and clicks the submit button. Specifically, the user enters "5 + 3 = 10" in the answer field and clicks the submit button. The input is the "answer text" and the output is the "submission request."
[0091] Step 2:
[0092] The terminal receives the answer entered by the user and sends it to the server as an HTTP POST request. Specifically, the terminal sends the answer text in the request body as follows: The input is the "user's answer text" and the output is the "request sent to the server."
[0093] Step 3:
[0094] The server processes the received request and extracts the answer text. Specifically, the server extracts the answer from the request body and stores it in a variable. The input is the "request data from the terminal" and the output is the "answer text."
[0095] Step 4:
[0096] The server analyzes the answer text using the WeaknessAnalyzer class to detect specific error patterns. Specifically, the server passes the answer text to the WeaknessAnalyzer and detects error patterns using regular expressions. The input is the "answer text" and the output is the "error type (e.g., math_error)".
[0097] Step 5:
[0098] The server generates new questions based on the detected error type. Specifically, the server determines the error type and creates a new question text. In some cases, it generates questions using a generative AI model. The input is the "error type" and the output is the "new question text."
[0099] Step 6:
[0100] When the server uses a generative AI model to create a new problem, it inputs a prompt to the model and receives a response. Specifically, the server generates a prompt, sends it to the model, and receives the result. The input is the "prompt," and the output is the "generated new problem." An example of a prompt is, "If the given answer '5 + 3 = 10' is incorrect, please suggest a new problem to generate."
[0101] Step 7:
[0102] The server returns the generated new question text to the terminal. Specifically, it sends the new question text to the terminal as an HTTP response. The input is the "new question text" and the output is the "response sent to the terminal."
[0103] Step 8:
[0104] The terminal displays the new question text received from the server. Specifically, the terminal displays the new question text in a UI element and allows the user to enter the answer again. The input is the "new question text" and the output is the "new question displayed to the user."
[0105] Step 9:
[0106] The user enters the answer to the new question and starts the cycle again. Specifically, the user enters the answer to the new question that is displayed and clicks the submit button again. The input is the "answer to the new question" and the output is the "start of the next cycle."
[0107] (Application example 1)
[0108] 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."
[0109] Improving driving skills is essential for safe driving, but there are limited means to identify individual driver weaknesses and provide tailored training. Conventional driving training programs are generalized and do not address the specific issues of individual drivers. As a result, drivers miss opportunities to efficiently improve their weaknesses. To solve this problem, a system is needed that analyzes driver driving data, detects specific error patterns, and automatically generates and provides training programs tailored to individual weaknesses.
[0110] 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.
[0111] In this invention, the server includes means for receiving user input data, means for analyzing the received input data and detecting specific error patterns, means for generating a new training program based on the identified errors, and means for presenting the generated new training program to the user. This makes it possible to identify weaknesses based on individual driving data of a driver and provide an optimal training program to compensate for those weaknesses.
[0112] "User input data" refers to driving-related information generated when a driver operates a vehicle.
[0113] The "analysis means" is a mechanism for identifying error patterns contained in received input data.
[0114] A "specific error pattern" is a set of repeated mistakes or inappropriate behaviors that a driver makes while driving.
[0115] A "new training program" is a driving practice plan generated based on the identified errors, aimed at improving the driver's skills.
[0116] A "pattern matching algorithm" is a method used to analyze driving data and is an algorithm for detecting specific error patterns.
[0117] A "specific driving training program" is a specific driving practice program that is provided to improve a driver's driving skills based on the errors detected.
[0118] The present invention relates to a training system for improving a driver's driving skills. Specific embodiments of the system will be described below.
[0119] System Overview
[0120] The system consists of a user (driver), a device (such as a smartphone), and a server. The user uses the device to input driving data generated while driving. This data is sent in real time to the server, which analyzes the data and detects specific error patterns. The server then generates a new training program based on the identified errors and presents it to the user via the device.
[0121] Hardware
[0122] Smartphone: Used as a device for drivers to input driving data and receive training programs.
[0123] Server: A central processing unit that performs data analysis and training program generation.
[0124] software
[0125] Python: Used to implement the analysis algorithms, including the WeaknessAnalyzer and TrainingGenerator classes.
[0126] Data processing and calculation
[0127] The server analyzes the driving data received from the user using the WeaknessAnalyzer class. This class has a pattern matching algorithm using regular expressions to detect specific error patterns in the driving data. Based on the analysis results, the TrainingGenerator class generates a new training program. This training program includes specific driving practice content to improve the identified errors (e.g., lane departure and sudden braking).
[0128] Processing flow
[0129] 1. The user enters driving data from their smartphone.
[0130] 2. The device sends the input data to the server.
[0131] 3. The server analyzes the driving data using WeaknessAnalyzer.
[0132] 4. If a specific error pattern is detected, the server generates a new training program using the TrainingGenerator.
[0133] 5. The generated training program is sent to the terminal and presented to the user.
[0134] Specific examples
[0135] For example, suppose a user inputs the driving data "Lane deviation detected at 5 pm." and "Hard brake detected at 5:10 pm." This data is sent to the server and analyzed by WeaknessAnalyzer. As a result of the analysis, errors such as lane deviation and sudden braking are detected. Based on this information, TrainingGenerator generates a new training program including "Lane keeping practice" and "Smooth braking practice." The generated training program is presented to the user via the terminal.
[0136] Prompt Sentence Examples
[0137] Below is an example of a prompt for entering driver driving data.
[0138] Enter the driver's driving data, such as "Lane deviation detected at 5pm," "Hard braking detected at 5:10pm," etc. Generate a driving training program based on this data.
[0139] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0140] Step 1:
[0141] The user inputs driving data from their smartphone. For example, the user inputs "Lane deviation detected at 5 pm" and "Hard brake detected at 5:10 pm," and this data is sent to the device. The input data includes specific events that occurred while driving.
[0142] Step 2:
[0143] The terminal sends the input data to the server. The terminal performs network communication to transfer the driving data entered by the user to the server in real time. The input data is sent to the server in its original format.
[0144] Step 3:
[0145] The server analyzes the driving data using WeaknessAnalyzer. The server passes the received driving data to WeaknessAnalyzer and applies a pattern matching algorithm using regular expressions to detect specific error patterns. The input data is the driving data, and the output data is a list of detected error patterns.
[0146] Step 4:
[0147] When a specific error pattern is detected, the server uses TrainingGenerator to generate a new training program. Based on the list of error patterns detected by WeaknessAnalyzer, the server uses TrainingGenerator to generate driving practice content corresponding to each error. The list of error patterns is obtained as input data, and the training program is obtained as output data.
[0148] Step 5:
[0149] The generated training program is sent to the terminal and presented to the user. The server sends the generated training program to the terminal, and the terminal displays the received training program to the user. The new training program is obtained as input data, and the training content presented to the user is obtained as output data.
[0150] 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.
[0151] In one embodiment of the present invention, we will explain a system that analyzes user answers and generates new questions by combining an emotion engine that recognizes the user's emotions. This system is composed of three parties: a server, a terminal, and a user, and interacts with each other.
[0152] System Overview
[0153] The user inputs answers via the device, which are then sent to the server. The server analyzes the answers and detects specific error patterns. Based on the detected errors, the server generates new practice questions and presents them to the user again via the device. The system also includes an emotion engine that recognizes the user's emotions by analyzing the user's facial expressions, voice, or text data.
[0154] Server processing explanation
[0155] The server first receives the answer submitted by the user and then analyzes the answer using a class called WeaknessAnalyzer, which defines regular expressions to detect specific error patterns.
[0156] If an error is detected as a result of the analysis, the server generates a new problem based on the corresponding error pattern. For example, if an arithmetic error is detected, a new arithmetic problem is generated. The generated problem is presented to the user via the terminal.
[0157] Furthermore, the server analyzes the user's emotions using an emotion engine, which recognizes emotions by analyzing the user's facial expressions, voice, or text data, and adjusts the method and difficulty of new questions based on the recognized emotions.
[0158] Terminal processing explanation
[0159] The device has the function of receiving input from the user and sending it to the server. It also has the function of displaying new problems returned by the server. Furthermore, the device is also responsible for obtaining input data for the emotion engine and sending it to the server. By solving this new problem again, the user can be sure to overcome their weaknesses.
[0160] User Roles
[0161] The user uses a device to input answers to questions. These answers are sent to the server, which analyzes them and presents new questions. The device also collects the user's emotional data and sends it to the server. By repeating this cycle, the user can progress through their studies efficiently.
[0162] Specific examples
[0163] Specifically, consider the case where user "Alice" enters the incorrect answer "5 + 3 = 10." The user's answer is sent from the device to the server. The server analyzes the received answer and determines that an arithmetic error has been detected. Based on this result, the server generates a new arithmetic problem "5 + 3 = ?" and returns it to the device. The device displays the new problem to the user, and the emotion engine analyzes the user's emotion. For example, if the user has a confused expression, this data is sent to the server, and the server appropriately adjusts the difficulty of the new problem based on the recognized emotion.
[0164] This system analyzes the user's answers to identify weaknesses and generates and presents new questions that address those weaknesses, thereby achieving efficient learning. It also recognizes the user's emotions and adjusts the way questions are presented based on those emotions, providing an optimal learning environment for each individual user.
[0165] The processing flow will be explained below.
[0166] Step 1:
[0167] The terminal receives the user's answer. The user enters the answer to an arithmetic problem on the terminal. For example, user "Alice" enters the answer "5 + 3 = 10".
[0168] Step 2:
[0169] The terminal sends the answer entered by the user to the server. The terminal confirms the input and sends the data to the server.
[0170] Step 3:
[0171] The server receives the user's answer. The server receives the answer data sent from the terminal.
[0172] Step 4:
[0173] To analyze the answer received by the server, we call the WeaknessAnalyzer class, which contains algorithms for detecting predefined error patterns (such as grammatical errors and arithmetic errors).
[0174] Step 5:
[0175] The server uses WeaknessAnalyzer to analyze the answers and detect certain error patterns. For example, if an arithmetic error is detected in the answer "5 + 3 = 10", the server will detect the error pattern as "arithmetic".
[0176] Step 6:
[0177] The server generates new problems based on the identified errors. The server generates new problems that correspond to the error patterns detected. For example, the server generates a new math problem "5 + 3 = ?" for an "arithmetic" error.
[0178] Step 7:
[0179] The server sends the newly generated problem to the terminal, which then presents the problem to the user.
[0180] Step 8:
[0181] The terminal displays the new question to the user. The terminal displays the new question received from the server on the screen and prompts the user to answer it again.
[0182] Step 9:
[0183] The device acquires the user's emotional data (e.g., facial expressions, voice, and text data) and sends it to the server. The emotional data is collected to understand the user's reactions.
[0184] Step 10:
[0185] The server analyzes the user's emotion data using an emotion engine, which recognizes the user's emotion from the received data and determines whether it is positive or negative.
[0186] Step 11:
[0187] The server adjusts the presentation and difficulty of new questions based on the perceived emotion, for example, lowering the difficulty of a question or adding more detailed hints if the user is stumped.
[0188] Step 12:
[0189] The device presents the user with a new, adjusted question again, taking into consideration the user's emotions, and the user continues answering the question.
[0190] Step 13:
[0191] The user again inputs answers to new questions. The user answers the new questions that are presented to them, and by repeating this cycle, the user can progress through their studies efficiently.
[0192] Example 2
[0193] 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."
[0194] While conventional learning systems focus on analyzing users' answers, they lack feedback that takes into account the user's emotional state and adjustment of problem difficulty. As a result, users may feel stressed about learning, which can reduce their learning effectiveness. These issues need to be resolved.
[0195] 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.
[0196] In this invention, the server includes means for receiving user answers, means for analyzing the received answers and detecting specific error patterns, means for generating new questions based on the identified errors, means for presenting the generated new questions to the user, means for recognizing the user's emotions, and means for adjusting the difficulty of the new questions based on the recognized emotions. This makes it possible to identify the user's weaknesses and provide appropriate questions, as well as to provide learning support that takes into account the user's emotional state.
[0197] The "means for receiving user's answers" is a function for transmitting answer data entered by the user using the study terminal to the server.
[0198] The "means for analyzing the received answers and detecting specific error patterns" refers to an algorithm or program that the server uses to analyze the user's answer data and identify pre-defined error patterns.
[0199] The "means for generating new problems based on identified errors" is an algorithm or program for creating new practice problems appropriate to the detected error patterns.
[0200] The "means for presenting the generated new questions to the user" is a function for transmitting the new questions generated by the server to the study terminal and displaying them to the user.
[0201] The "means for recognizing user emotions" is a technology that uses an emotion engine to analyze the user's facial expressions, voice, or text data to identify the user's psychological state.
[0202] The "means for adjusting the difficulty of new questions based on the perceived emotions" is an algorithm or program that dynamically changes the difficulty of the generated practice questions and the way they are presented depending on the user's emotional state.
[0203] This paper describes a system that analyzes user answers, generates new questions based on error patterns, and adjusts learning content by recognizing the user's emotions. This system is composed of three parties: a server, a terminal, and a user, and interacts with each other.
[0204] Overall structure
[0205] Server Features
[0206] The server has the following features:
[0207] 1. Function to receive user responses
[0208] 2. The ability to analyze received answers and detect specific error patterns
[0209] 3. Ability to generate new questions based on identified errors
[0210] 4. A function to present the generated new problem to the user
[0211] 5. Ability to recognize user emotions
[0212] 6. The ability to adjust the difficulty of new questions based on perceived emotions
[0213] The hardware and software used will be an AWS (registered trademark) EC2 instance as the server hardware, and Python and TENSORFLOW (registered trademark), etc. as the software environment.
[0214] Device Features
[0215] The terminal has the following features:
[0216] 1. The ability to receive input from the user and send it to the server
[0217] 2. Ability to view new issues returned by the server
[0218] 3. A function to obtain input data for the emotion engine and send it to the server
[0219] Specific examples of terminals include tablets and personal computers.
[0220] User Roles
[0221] Users answer questions using a learning device. The answers are sent from the device to a server, where they are analyzed and new questions are presented. User emotion data is also collected and used to adjust the difficulty of the questions.
[0222] Component Examples
[0223] Answer analysis (WeaknessAnalyzer class)
[0224] The server receives the answers submitted by the user and analyzes them using the WeaknessAnalyzer class, which defines regular expressions to detect specific error patterns.
[0225] text
[0226] Analyze the user's answer "5 + 3 = 10", detect error patterns, and generate new questions.
[0227] Creating a new problem
[0228] The server generates new problems based on the error pattern, for example, if an arithmetic error is detected, a new arithmetic problem is generated.
[0229] text
[0230] If an arithmetic error is detected: generate a new arithmetic problem "5 + 3 = ?"
[0231] Emotion recognition
[0232] The server uses an emotion engine to analyze the user's emotions, recognizing emotions by analyzing the user's facial expressions, voice, or text data, and adjusting the difficulty of new questions based on the recognized emotions.
[0233] text
[0234] Analyze the user's facial expression data to recognize their emotional state, and if they are confused, take action accordingly and generate new questions.
[0235] Specific examples
[0236] If user "Alice" enters an incorrect answer, such as "5 + 3 = 10," this answer is sent from the device to the server. The server analyzes the received answer and detects any arithmetic errors. Based on this result, the server generates a new arithmetic problem, "5 + 3 = ?", and sends it to the device. The device displays the new problem to the user, and the emotion engine analyzes the user's emotions. For example, if the user has a confused expression, this is sent to the server, and the server adjusts the difficulty of the new problem.
[0237] This system analyzes the user's answers to identify weaknesses and generates and presents new questions that address those weaknesses, thereby achieving efficient learning. It also recognizes the user's emotions and adjusts the way questions are presented based on those emotions, providing an optimal learning environment for each individual user.
[0238] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0239] Step 1:
[0240] The user inputs answers to questions displayed on the learning device. The device acquires the user's input and creates a data packet to send it to the server. Specifically, the user inputs "5 + 3 = 10," and the device generates a data packet to send this answer to the server.
[0241] Input: User's answer data
[0242] Output: Data packets sent to the server
[0243] Step 2:
[0244] The terminal sends the user's input data to the server as an HTTP request. This request is made using the POST method. Specifically, the terminal sends the user's answer data, "5 + 3 = 10," to the server.
[0245] Input: User's answer data
[0246] Output: HTTP request sent to the server
[0247] Step 3:
[0248] The server analyzes the HTTP request received from the device and receives the user's answer data. The server then uses the WeaknessAnalyzer class to analyze the answer and detect specific error patterns. This process uses regular expressions to detect arithmetic errors. Specifically, the server analyzes the answer "5 + 3 = 10" with WeaknessAnalyzer and identifies the error.
[0249] Input: User's answer data included in the HTTP request
[0250] Output: Error pattern detection results
[0251] Step 4:
[0252] The server generates new problems based on the detected error pattern. For example, if an arithmetic error is detected, it generates a new arithmetic problem: "5 + 3 = ?". Specifically, the server executes a new problem generation algorithm to create new problem data.
[0253] Input: Error pattern detection results
[0254] Output: New problem data
[0255] Step 5:
[0256] The server sends the generated new problem to the terminal. The terminal displays the new problem received from the server to the user. Specifically, the server sends the new problem "5 + 3 = ?" to the terminal as an HTTP response, and the terminal displays it to the user.
[0257] Input: New problem data
[0258] Output: HTTP response sent to the device, presenting the new problem to the user
[0259] Step 6:
[0260] The device collects the user's emotional data and sends it to the server. The emotion engine is used to analyze the user's facial and voice data and identify their emotional state. Specifically, the device collects the user's facial and voice data using a camera and microphone, and sends the results of the analysis by the emotion engine to the server.
[0261] Input: User's facial expressions and voice data
[0262] Output: Sentiment analysis data sent to the server
[0263] Step 7:
[0264] The server analyzes the received emotion data to determine the user's emotional state. Based on the recognized emotion, it adjusts the difficulty of new questions. For example, if the user is confused, it adjusts the questions to be easier. Specifically, the server processes the emotion analysis data and adjusts the question generation algorithm to create new question data.
[0265] Input: Sentiment analysis data
[0266] Output: New problem data with adjusted difficulty
[0267] Step 8:
[0268] The server then sends the new, adjusted questions back to the device, which then presents them to the user. By repeating this cycle, the user can effectively progress through their studies. Specifically, the server sends the adjusted questions to the device as an HTTP response, and the device displays the questions to the user.
[0269] Input: New problem data with adjusted difficulty
[0270] Output: HTTP response sent to the device, showing the problem to the user after reconciliation
[0271] (Application example 2)
[0272] 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."
[0273] Conventional electronic payment services simply record payment history and amount information without considering the user's emotions when making a payment. As a result, they were unable to provide appropriate feedback or advice on how to improve next time in response to negative emotions such as confusion or regret felt by users when making a payment. This made it difficult for users to reduce stress and regret caused by payments.
[0274] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving the user's payment information, means for recognizing the user's emotions and collecting that data, and means for analyzing the collected emotion data and generating advice that will be useful for the next payment. This makes it possible to provide advice that takes into account the emotions the user feels when making a payment.
[0275] The "means for receiving a user's answer" is an interface through which the system receives information entered by the user and transmits it to the server.
[0276] The "means for analyzing received answers and detecting specific error patterns" refers to an algorithm by which the system analyzes the user's answers and determines whether they match predefined error patterns.
[0277] "Means for generating new problems based on identified errors" refers to the process of creating new problems based on the detected errors so that the user can try again.
[0278] The "means for presenting the generated new problem to the user" is a function for the server to display the newly created problem on the user's terminal.
[0279] "Means for recognizing user emotions and collecting data" refers to a function that analyzes the user's facial expressions, voice, and text data to identify their emotions and store that information.
[0280] "Means for analyzing collected emotional data and adjusting the new questions and the way they are presented" refers to the process of analyzing emotional data and changing the difficulty and presentation of new questions based on that data.
[0281] A "pattern matching algorithm for detecting grammatical errors" is a specific pattern recognition technique used to find grammatical errors in a user's response.
[0282] A "pattern matching algorithm for detecting mathematical errors" is a specific pattern recognition technique used to find numerical and calculation errors in user responses.
[0283] One embodiment of the present invention relates to an electronic payment support system that receives a user's payment information, analyzes the information and the user's emotional data, and provides advice on the next payment. This system is mainly composed of interactions between a server, a terminal, and a user.
[0284] System Configuration
[0285] The system is implemented using the following hardware and software.
[0286] Hardware: Smartphones, smart glasses
[0287] Software: Emotion recognition engine (e.g., Google® Cloud AI's Natural Language API), local database for analyzing payment data (e.g., SQLite)
[0288] Terminal handling
[0289] The terminal receives the user's payment information and transmits it to the server. The terminal also collects emotional data such as the user's facial expressions and voice, and transmits this data to the server. This allows the terminal to collect data to analyze the user's emotions when making a payment.
[0290] Server Processing
[0291] The server first receives the payment information and emotion data sent by the user. It then analyzes this information. The payment information is stored in a local database (SQLite), and the emotion data is analyzed using an emotion recognition engine (e.g., Google Cloud AI's Natural Language API). This analysis identifies the emotion the user felt when making a payment, and stores that data.
[0292] Advice Generation
[0293] Next, based on the analyzed payment information and emotion data, the server generates useful advice for the next payment. The "PaymentAdvisor" class contains an algorithm that provides feedback to the user based on the payment details and emotion data. This advice provides insights into new payment behaviors and helps users reduce stress when making payments.
[0294] Specific examples
[0295] For example, when a user pays for a meal at a restaurant (5,000 yen), the smart glasses analyze the user's facial expression and recognize the emotion of confusion. Based on this information, the server can generate advice for the next time the user pays, such as, "It seems like you spent a little on the expensive side. Next time, try finding a restaurant that fits your budget."
[0296] Prompt Sentence Examples
[0297] "Payment history: Restaurant 5,000 yen (confused). Please generate advice for next payment."
[0298] In this way, it is possible to enrich the user's payment experience and provide appropriate emotional feedback.
[0299] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0300] Step 1:
[0301] When a user makes a payment, the terminal (smartphone or smart glasses) receives payment information as input. This information includes the store where the payment is made, the amount, and the time of payment. The terminal then sends this payment information to the server. The terminal also collects facial expression and voice data from the user at the time of payment and sends this data to the server.
[0302] Step 2:
[0303] The server receives payment information and emotion data sent from the device. The payment information is stored in a local database (SQLite). The emotion data is sent to an emotion recognition engine (Google Cloud AI's Natural Language API) for analysis. As a result of the analysis, the emotion data is converted into a textual emotion label (e.g., joy, confusion, etc.).
[0304] Step 3:
[0305] The server integrates the analyzed emotion labels with the payment information. This integrated data is processed by the "PaymentAdvisor" class. The "PaymentAdvisor" class generates useful advice for the next payment based on the payment information and emotion data. Specifically, it analyzes which payment methods are least stressful for the user based on past payment patterns and emotion data, and provides new insights.
[0306] Step 4:
[0307] The generated advice is sent from the server to the device (smartphone or smart glasses), which then displays the advice to the user, giving the user new insights into their payment behavior and enabling them to make their next payment more efficient and stress-free.
[0308] As a specific example of operation, consider the case where a user pays 5,000 yen at a restaurant. In this case, the device sends payment information (restaurant, 5,000 yen, time of payment) and emotion data (confused expression) to the server. The server receives this and generates an emotion label (confused) using an emotion recognition engine. Based on this, advice such as "Next time, try finding a restaurant that fits your budget" is generated and displayed on the device.
[0309] This allows users to receive feedback that takes into account their emotions at the time of payment and use it as a reference for their next payment behavior.
[0310] 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.
[0311] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0312] 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.
[0313] [Second embodiment]
[0314] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0315] 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.
[0316] 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).
[0317] 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.
[0318] 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.
[0319] 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).
[0320] 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.
[0321] 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.
[0322] 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.
[0323] 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.
[0324] 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.
[0325] 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."
[0326] In one embodiment of the present invention, a system for analyzing user answers and generating new questions will be described. This system is configured through interaction between a server, a terminal, and a user.
[0327] System Overview
[0328] The user inputs answers via the terminal, which are then sent to the server, which analyzes the answers and detects specific error patterns. Based on the detected errors, the server generates new exercises and presents them to the user again via the terminal.
[0329] Server processing explanation
[0330] The server first receives the answer submitted by the user and then uses a class called WeaknessAnalyzer to analyze the answer, which defines regular expressions to detect specific error patterns.
[0331] If an error is detected as a result of the analysis, the server generates a new problem based on the corresponding error pattern. For example, if an arithmetic error is detected, a new arithmetic problem is generated. The generated problem is presented to the user via the terminal.
[0332] Terminal processing explanation
[0333] The terminal has the function of receiving input from the user and sending it to the server, and also has the function of displaying new problems returned by the server. The user can re-solve these new problems to ensure that they improve their weak points.
[0334] User Roles
[0335] Users use their devices to input their answers to questions. These answers are sent to the server, which analyzes them and presents new questions, progressing the user's learning. By repeating this cycle, users can efficiently overcome their weaknesses.
[0336] Specific examples
[0337] Specifically, let us consider the case where user "Alice" inputs the incorrect answer "5 + 3 = 10". The user's answer is sent from the device to the server. The server analyzes the received answer and determines that an arithmetic error has been detected. Based on this result, the server generates a new arithmetic problem "5 + 3 = ?" and returns it to the device. The device displays the new problem to the user, who can then solve it again. In this way, the user can improve their learning effect.
[0338] This system, configured in this way, analyzes the user's answers to identify weak points, and generates and presents new questions that address those weak points, thereby achieving efficient learning for the user.
[0339] The processing flow will be explained below.
[0340] Step 1:
[0341] The terminal receives the user's answer. The user enters the answer on the terminal. For example, user "Alice" enters the answer to the math problem "5 + 3 = 10."
[0342] Step 2:
[0343] The terminal sends the answer entered by the user to the server. The terminal confirms the input and sends the data to the server.
[0344] Step 3:
[0345] The server receives the user's answer. The server receives the answer data sent from the terminal.
[0346] Step 4:
[0347] The server analyzes the received answer. The server uses the WeaknessAnalyzer class to analyze the answer and detect specific error patterns. For example, if the answer "5 + 3 = 10" contains an incorrect arithmetic calculation, it will be detected as an "arithmetic" error pattern.
[0348] Step 5:
[0349] The server generates new problems based on the identified errors. The server generates new problems that correspond to the detected error patterns. For example, for an "arithmetic" error, it generates a new math problem: "5 + 3 = ?"
[0350] Step 6:
[0351] The server generates new questions and sends them to the terminal, which then sends the new questions back to the terminal so that the user can answer them again.
[0352] Step 7:
[0353] The terminal displays the new question to the user. The terminal displays the new question received from the server on the screen and prompts the user to answer it again.
[0354] Step 8:
[0355] The user again inputs answers to new questions. The user answers the new questions that are presented to them, and by repeating this cycle, the user can progress through their studies efficiently.
[0356] Example 1
[0357] 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."
[0358] In conventional learning systems, feedback on user answers is not provided immediately and systematically, leading to repeated mistakes. Furthermore, the lack of an effective method for generating new questions makes it difficult for users to progress efficiently. Furthermore, the process of generating new questions that reflect past error patterns is complex, making it difficult to address specific weaknesses of users.
[0359] 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.
[0360] In this invention, the server includes means for receiving user answers, means for analyzing the received answers and detecting specific error patterns, means for generating new questions based on the identified errors, means for creating new questions using a generative AI model, means for inputting prompt sentences to the generative AI model, and means for receiving responses from the generative AI model, thereby enabling the server to provide immediate and appropriate feedback to each user's answer and establish an effective learning process.
[0361] A "user" is someone who uses the system to input answers to questions and progress through their studies.
[0362] A "server" is a computer system that receives answers sent by users, analyzes them, and generates new questions to provide to users.
[0363] A "prompt" is text input to a generative AI model that contains instructions for generating a new problem.
[0364] A "generative AI model" is an artificial intelligence that generates new questions based on input prompts using natural language processing technology.
[0365] An "answer" is text data of the answer that the user enters to the question.
[0366] "Analysis" refers to the process by which the server examines the answer and detects specific error patterns.
[0367] An "error pattern" indicates the type and characteristics of a particular error contained in a response, and serves as a criterion for the server to detect it.
[0368] A "new problem" is a new task or question to be answered that is generated based on the user's answers.
[0369] "Presenting" refers to displaying the generated new question to the user.
[0370] In one embodiment of the present invention, a system for analyzing user answers and generating new questions is configured through interaction between a server, a terminal, and a user.
[0371] Server processing format
[0372] The server receives the answers submitted by the user. The received answers are first analyzed using the "WeaknessAnalyzer" class, which defines regular expressions for detecting specific error patterns. If an error is detected as a result of the analysis, the server generates a new question based on the corresponding error pattern.
[0373] For example, if an arithmetic error is detected, a new arithmetic problem can be generated. This can be done using a generative AI model. A generative AI model receives a prompt sentence as input, receives a response based on the prompt, and generates a new problem. An example of a prompt sentence is as follows:
[0374] "If the given answer "5 + 3 = 10" is incorrect, please suggest a new problem to generate."
[0375] The generated new problem is then presented to the user via a terminal. To execute this series of processes, the server uses the following software and libraries: a server OS (e.g., Ubuntu Server), a web server (e.g., Apache), a programming language (e.g., Python), a regular expression library (e.g., re), and a generation library (e.g., random).
[0376] Terminal processing format
[0377] The device has the function of receiving input from the user and sending it to the server. It also has the function of displaying new problems returned by the server. By solving these new problems again, the user can reliably overcome their weaknesses. The device can be, for example, a PC, tablet, or smartphone, and processing is carried out via a web browser (e.g., Google Chrome).
[0378] User Roles
[0379] Users use their devices to input their answers to questions. These answers are sent to the server, which analyzes them and presents new questions, progressing the user's learning. By repeating this cycle, users can efficiently overcome their weaknesses.
[0380] Specific examples
[0381] Specifically, let us consider the case where user "Alice" inputs the incorrect answer "5 + 3 = 10". The user's answer is sent from the device to the server. The server analyzes the received answer and determines that an arithmetic error has been detected. Based on this result, the server generates a new arithmetic problem "5 + 3 = ?" and returns it to the device. The device displays the new problem to the user, who can then solve it again. In this way, the user can improve their learning effect.
[0382] This system, configured in this way, analyzes the user's answers to identify weak points, and generates and presents new questions that address those weak points, thereby achieving efficient learning for the user.
[0383] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0384] Step 1:
[0385] A user uses a terminal to input the answer to the question and clicks the submit button. Specifically, the user enters "5 + 3 = 10" in the answer field and clicks the submit button. The input is the "answer text" and the output is the "submission request."
[0386] Step 2:
[0387] The terminal receives the answer entered by the user and sends it to the server as an HTTP POST request. Specifically, the terminal sends the answer text in the request body as follows: The input is the "user's answer text" and the output is the "request sent to the server."
[0388] Step 3:
[0389] The server processes the received request and extracts the answer text. Specifically, the server extracts the answer from the request body and stores it in a variable. The input is the "request data from the terminal" and the output is the "answer text."
[0390] Step 4:
[0391] The server analyzes the answer text using the WeaknessAnalyzer class to detect specific error patterns. Specifically, the server passes the answer text to the WeaknessAnalyzer and detects error patterns using regular expressions. The input is the "answer text" and the output is the "error type (e.g., math_error)".
[0392] Step 5:
[0393] The server generates new questions based on the detected error type. Specifically, the server determines the error type and creates a new question text. In some cases, it generates questions using a generative AI model. The input is the "error type" and the output is the "new question text."
[0394] Step 6:
[0395] When the server uses a generative AI model to create a new problem, it inputs a prompt to the model and receives a response. Specifically, the server generates a prompt, sends it to the model, and receives the result. The input is the "prompt," and the output is the "generated new problem." An example of a prompt is, "If the given answer '5 + 3 = 10' is incorrect, please suggest a new problem to generate."
[0396] Step 7:
[0397] The server returns the generated new question text to the terminal. Specifically, it sends the new question text to the terminal as an HTTP response. The input is the "new question text" and the output is the "response sent to the terminal."
[0398] Step 8:
[0399] The terminal displays the new question text received from the server. Specifically, the terminal displays the new question text in a UI element and allows the user to enter the answer again. The input is the "new question text" and the output is the "new question displayed to the user."
[0400] Step 9:
[0401] The user enters the answer to the new question and starts the cycle again. Specifically, the user enters the answer to the new question that is displayed and clicks the submit button again. The input is the "answer to the new question" and the output is the "start of the next cycle."
[0402] (Application example 1)
[0403] 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."
[0404] Improving driving skills is essential for safe driving, but there are limited means to identify individual driver weaknesses and provide tailored training. Conventional driving training programs are generalized and do not address the specific issues of individual drivers. As a result, drivers miss opportunities to efficiently improve their weaknesses. To solve this problem, a system is needed that analyzes driver driving data, detects specific error patterns, and automatically generates and provides training programs tailored to individual weaknesses.
[0405] 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.
[0406] In this invention, the server includes means for receiving user input data, means for analyzing the received input data and detecting specific error patterns, means for generating a new training program based on the identified errors, and means for presenting the generated new training program to the user. This makes it possible to identify weaknesses based on individual driving data of a driver and provide an optimal training program to compensate for those weaknesses.
[0407] "User input data" refers to driving-related information generated when a driver operates a vehicle.
[0408] The "analysis means" is a mechanism for identifying error patterns contained in received input data.
[0409] A "specific error pattern" is a set of repeated mistakes or inappropriate behaviors that a driver makes while driving.
[0410] A "new training program" is a driving practice plan generated based on the identified errors, aimed at improving the driver's skills.
[0411] A "pattern matching algorithm" is a method used to analyze driving data and is an algorithm for detecting specific error patterns.
[0412] A "specific driving training program" is a specific driving practice program that is provided to improve a driver's driving skills based on the errors detected.
[0413] The present invention relates to a training system for improving a driver's driving skills. Specific embodiments of the system will be described below.
[0414] System Overview
[0415] The system consists of a user (driver), a device (such as a smartphone), and a server. The user uses the device to input driving data generated while driving. This data is sent in real time to the server, which analyzes the data and detects specific error patterns. The server then generates a new training program based on the identified errors and presents it to the user via the device.
[0416] Hardware
[0417] Smartphone: Used as a device for drivers to input driving data and receive training programs.
[0418] Server: A central processing unit that performs data analysis and training program generation.
[0419] software
[0420] Python: Used to implement the analysis algorithms, including the WeaknessAnalyzer and TrainingGenerator classes.
[0421] Data processing and calculation
[0422] The server analyzes the driving data received from the user using the WeaknessAnalyzer class. This class has a pattern matching algorithm using regular expressions to detect specific error patterns in the driving data. Based on the analysis results, the TrainingGenerator class generates a new training program. This training program includes specific driving practice content to improve the identified errors (e.g., lane departure and sudden braking).
[0423] Processing flow
[0424] 1. The user enters driving data from their smartphone.
[0425] 2. The device sends the input data to the server.
[0426] 3. The server analyzes the driving data using WeaknessAnalyzer.
[0427] 4. If a specific error pattern is detected, the server generates a new training program using the TrainingGenerator.
[0428] 5. The generated training program is sent to the terminal and presented to the user.
[0429] Specific examples
[0430] For example, suppose a user inputs the driving data "Lane deviation detected at 5 pm." and "Hard brake detected at 5:10 pm." This data is sent to the server and analyzed by WeaknessAnalyzer. As a result of the analysis, errors such as lane deviation and sudden braking are detected. Based on this information, TrainingGenerator generates a new training program including "Lane keeping practice" and "Smooth braking practice." The generated training program is presented to the user via the terminal.
[0431] Prompt Sentence Examples
[0432] Below is an example of a prompt for entering driver driving data.
[0433] Enter the driver's driving data, such as "Lane deviation detected at 5pm," "Hard braking detected at 5:10pm," etc. Generate a driving training program based on this data.
[0434] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0435] Step 1:
[0436] The user inputs driving data from their smartphone. For example, the user inputs "Lane deviation detected at 5 pm" and "Hard brake detected at 5:10 pm," and this data is sent to the device. The input data includes specific events that occurred while driving.
[0437] Step 2:
[0438] The terminal sends the input data to the server. The terminal performs network communication to transfer the driving data entered by the user to the server in real time. The input data is sent to the server in its original format.
[0439] Step 3:
[0440] The server analyzes the driving data using WeaknessAnalyzer. The server passes the received driving data to WeaknessAnalyzer and applies a pattern matching algorithm using regular expressions to detect specific error patterns. The input data is the driving data, and the output data is a list of detected error patterns.
[0441] Step 4:
[0442] When a specific error pattern is detected, the server uses TrainingGenerator to generate a new training program. Based on the list of error patterns detected by WeaknessAnalyzer, the server uses TrainingGenerator to generate driving practice content corresponding to each error. The list of error patterns is obtained as input data, and the training program is obtained as output data.
[0443] Step 5:
[0444] The generated training program is sent to the terminal and presented to the user. The server sends the generated training program to the terminal, and the terminal displays the received training program to the user. The new training program is obtained as input data, and the training content presented to the user is obtained as output data.
[0445] 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.
[0446] In one embodiment of the present invention, we will explain a system that analyzes user answers and generates new questions by combining an emotion engine that recognizes the user's emotions. This system is composed of three parties: a server, a terminal, and a user, and interacts with each other.
[0447] System Overview
[0448] The user inputs answers via the device, which are then sent to the server. The server analyzes the answers and detects specific error patterns. Based on the detected errors, the server generates new practice questions and presents them to the user again via the device. The system also includes an emotion engine that recognizes the user's emotions by analyzing the user's facial expressions, voice, or text data.
[0449] Server processing explanation
[0450] The server first receives the answer submitted by the user and then analyzes the answer using a class called WeaknessAnalyzer, which defines regular expressions to detect specific error patterns.
[0451] If an error is detected as a result of the analysis, the server generates a new problem based on the corresponding error pattern. For example, if an arithmetic error is detected, a new arithmetic problem is generated. The generated problem is presented to the user via the terminal.
[0452] Furthermore, the server analyzes the user's emotions using an emotion engine, which recognizes emotions by analyzing the user's facial expressions, voice, or text data, and adjusts the method and difficulty of new questions based on the recognized emotions.
[0453] Terminal processing explanation
[0454] The device has the function of receiving input from the user and sending it to the server. It also has the function of displaying new problems returned by the server. Furthermore, the device is also responsible for obtaining input data for the emotion engine and sending it to the server. By solving this new problem again, the user can be sure to overcome their weaknesses.
[0455] User Roles
[0456] The user uses a device to input answers to questions. These answers are sent to the server, which analyzes them and presents new questions. The device also collects the user's emotional data and sends it to the server. By repeating this cycle, the user can progress through their studies efficiently.
[0457] Specific examples
[0458] Specifically, consider the case where user "Alice" enters the incorrect answer "5 + 3 = 10." The user's answer is sent from the device to the server. The server analyzes the received answer and determines that an arithmetic error has been detected. Based on this result, the server generates a new arithmetic problem "5 + 3 = ?" and returns it to the device. The device displays the new problem to the user, and the emotion engine analyzes the user's emotion. For example, if the user has a confused expression, this data is sent to the server, and the server appropriately adjusts the difficulty of the new problem based on the recognized emotion.
[0459] This system analyzes the user's answers to identify weaknesses and generates and presents new questions that address those weaknesses, thereby achieving efficient learning. It also recognizes the user's emotions and adjusts the way questions are presented based on those emotions, providing an optimal learning environment for each individual user.
[0460] The processing flow will be explained below.
[0461] Step 1:
[0462] The terminal receives the user's answer. The user enters the answer to an arithmetic problem on the terminal. For example, user "Alice" enters the answer "5 + 3 = 10".
[0463] Step 2:
[0464] The terminal sends the answer entered by the user to the server. The terminal confirms the input and sends the data to the server.
[0465] Step 3:
[0466] The server receives the user's answer. The server receives the answer data sent from the terminal.
[0467] Step 4:
[0468] To analyze the answer received by the server, we call the WeaknessAnalyzer class, which contains algorithms for detecting predefined error patterns (such as grammatical errors and arithmetic errors).
[0469] Step 5:
[0470] The server uses WeaknessAnalyzer to analyze the answers and detect certain error patterns. For example, if an arithmetic error is detected in the answer "5 + 3 = 10", the server will detect the error pattern as "arithmetic".
[0471] Step 6:
[0472] The server generates new problems based on the identified errors. The server generates new problems that correspond to the error patterns detected. For example, the server generates a new math problem "5 + 3 = ?" for an "arithmetic" error.
[0473] Step 7:
[0474] The server sends the newly generated problem to the terminal, which then presents the problem to the user.
[0475] Step 8:
[0476] The terminal displays the new question to the user. The terminal displays the new question received from the server on the screen and prompts the user to answer it again.
[0477] Step 9:
[0478] The device acquires the user's emotional data (e.g., facial expressions, voice, and text data) and sends it to the server. The emotional data is collected to understand the user's reactions.
[0479] Step 10:
[0480] The server analyzes the user's emotion data using an emotion engine, which recognizes the user's emotion from the received data and determines whether it is positive or negative.
[0481] Step 11:
[0482] The server adjusts the presentation and difficulty of new questions based on the perceived emotion, for example, lowering the difficulty of a question or adding more detailed hints if the user is stumped.
[0483] Step 12:
[0484] The device presents the user with a new, adjusted question again, taking into consideration the user's emotions, and the user continues answering the question.
[0485] Step 13:
[0486] The user again inputs answers to new questions. The user answers the new questions that are presented to them, and by repeating this cycle, the user can progress through their studies efficiently.
[0487] Example 2
[0488] 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."
[0489] While conventional learning systems focus on analyzing users' answers, they lack feedback that takes into account the user's emotional state and adjustment of problem difficulty. As a result, users may feel stressed about learning, which can reduce their learning effectiveness. These issues need to be resolved.
[0490] 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.
[0491] In this invention, the server includes means for receiving user answers, means for analyzing the received answers and detecting specific error patterns, means for generating new questions based on the identified errors, means for presenting the generated new questions to the user, means for recognizing the user's emotions, and means for adjusting the difficulty of the new questions based on the recognized emotions. This makes it possible to identify the user's weaknesses and provide appropriate questions, as well as to provide learning support that takes into account the user's emotional state.
[0492] The "means for receiving user's answers" is a function for transmitting answer data entered by the user using the study terminal to the server.
[0493] The "means for analyzing the received answers and detecting specific error patterns" refers to an algorithm or program that the server uses to analyze the user's answer data and identify pre-defined error patterns.
[0494] The "means for generating new problems based on identified errors" is an algorithm or program for creating new practice problems appropriate to the detected error patterns.
[0495] The "means for presenting the generated new questions to the user" is a function for transmitting the new questions generated by the server to the study terminal and displaying them to the user.
[0496] The "means for recognizing user emotions" is a technology that uses an emotion engine to analyze the user's facial expressions, voice, or text data to identify the user's psychological state.
[0497] The "means for adjusting the difficulty of new questions based on the perceived emotions" is an algorithm or program that dynamically changes the difficulty of the generated practice questions and the way they are presented depending on the user's emotional state.
[0498] This paper describes a system that analyzes user answers, generates new questions based on error patterns, and adjusts learning content by recognizing the user's emotions. This system is composed of three parties: a server, a terminal, and a user, and interacts with each other.
[0499] Overall structure
[0500] Server Features
[0501] The server has the following features:
[0502] 1. Function to receive user responses
[0503] 2. The ability to analyze received answers and detect specific error patterns
[0504] 3. Ability to generate new questions based on identified errors
[0505] 4. A function to present the generated new problem to the user
[0506] 5. Ability to recognize user emotions
[0507] 6. The ability to adjust the difficulty of new questions based on perceived emotions
[0508] The hardware and software used will be AWS EC2 instances as server hardware, and Python and TensorFlow as the software environment.
[0509] Device Features
[0510] The terminal has the following features:
[0511] 1. The ability to receive input from the user and send it to the server
[0512] 2. Ability to view new issues returned by the server
[0513] 3. A function to obtain input data for the emotion engine and send it to the server
[0514] Specific examples of terminals include tablets and personal computers.
[0515] User Roles
[0516] Users answer questions using a learning device. The answers are sent from the device to a server, where they are analyzed and new questions are presented. User emotion data is also collected and used to adjust the difficulty of the questions.
[0517] Component Examples
[0518] Answer analysis (WeaknessAnalyzer class)
[0519] The server receives the answers submitted by the user and analyzes them using the WeaknessAnalyzer class, which defines regular expressions to detect specific error patterns.
[0520] text
[0521] Analyze the user's answer "5 + 3 = 10", detect error patterns, and generate new questions.
[0522] Creating a new problem
[0523] The server generates new problems based on the error pattern, for example, if an arithmetic error is detected, a new arithmetic problem is generated.
[0524] text
[0525] If an arithmetic error is detected: generate a new arithmetic problem "5 + 3 = ?"
[0526] Emotion recognition
[0527] The server uses an emotion engine to analyze the user's emotions, recognizing emotions by analyzing the user's facial expressions, voice, or text data, and adjusting the difficulty of new questions based on the recognized emotions.
[0528] text
[0529] Analyze the user's facial expression data to recognize their emotional state, and if they are confused, take action accordingly and generate new questions.
[0530] Specific examples
[0531] If user "Alice" enters an incorrect answer, such as "5 + 3 = 10," this answer is sent from the device to the server. The server analyzes the received answer and detects any arithmetic errors. Based on this result, the server generates a new arithmetic problem, "5 + 3 = ?", and sends it to the device. The device displays the new problem to the user, and the emotion engine analyzes the user's emotions. For example, if the user has a confused expression, this is sent to the server, and the server adjusts the difficulty of the new problem.
[0532] This system analyzes the user's answers to identify weaknesses and generates and presents new questions that address those weaknesses, thereby achieving efficient learning. It also recognizes the user's emotions and adjusts the way questions are presented based on those emotions, providing an optimal learning environment for each individual user.
[0533] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0534] Step 1:
[0535] The user inputs answers to questions displayed on the learning device. The device acquires the user's input and creates a data packet to send it to the server. Specifically, the user inputs "5 + 3 = 10," and the device generates a data packet to send this answer to the server.
[0536] Input: User's answer data
[0537] Output: Data packets sent to the server
[0538] Step 2:
[0539] The terminal sends the user's input data to the server as an HTTP request. This request is made using the POST method. Specifically, the terminal sends the user's answer data, "5 + 3 = 10," to the server.
[0540] Input: User's answer data
[0541] Output: HTTP request sent to the server
[0542] Step 3:
[0543] The server analyzes the HTTP request received from the device and receives the user's answer data. The server then uses the WeaknessAnalyzer class to analyze the answer and detect specific error patterns. This process uses regular expressions to detect arithmetic errors. Specifically, the server analyzes the answer "5 + 3 = 10" with WeaknessAnalyzer and identifies the error.
[0544] Input: User's answer data included in the HTTP request
[0545] Output: Error pattern detection results
[0546] Step 4:
[0547] The server generates new problems based on the detected error pattern. For example, if an arithmetic error is detected, it generates a new arithmetic problem: "5 + 3 = ?". Specifically, the server executes a new problem generation algorithm to create new problem data.
[0548] Input: Error pattern detection results
[0549] Output: New problem data
[0550] Step 5:
[0551] The server sends the generated new problem to the terminal. The terminal displays the new problem received from the server to the user. Specifically, the server sends the new problem "5 + 3 = ?" to the terminal as an HTTP response, and the terminal displays it to the user.
[0552] Input: New problem data
[0553] Output: HTTP response sent to the device, presenting the new problem to the user
[0554] Step 6:
[0555] The device collects the user's emotional data and sends it to the server. The emotion engine is used to analyze the user's facial and voice data and identify their emotional state. Specifically, the device collects the user's facial and voice data using a camera and microphone, and sends the results of the analysis by the emotion engine to the server.
[0556] Input: User's facial expressions and voice data
[0557] Output: Sentiment analysis data sent to the server
[0558] Step 7:
[0559] The server analyzes the received emotion data to determine the user's emotional state. Based on the recognized emotion, it adjusts the difficulty of new questions. For example, if the user is confused, it adjusts the questions to be easier. Specifically, the server processes the emotion analysis data and adjusts the question generation algorithm to create new question data.
[0560] Input: Sentiment analysis data
[0561] Output: New problem data with adjusted difficulty
[0562] Step 8:
[0563] The server then sends the new, adjusted questions back to the device, which then presents them to the user. By repeating this cycle, the user can effectively progress through their studies. Specifically, the server sends the adjusted questions to the device as an HTTP response, and the device displays the questions to the user.
[0564] Input: New problem data with adjusted difficulty
[0565] Output: HTTP response sent to the device, showing the problem to the user after reconciliation
[0566] (Application example 2)
[0567] 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."
[0568] Conventional electronic payment services simply record payment history and amount information without considering the user's emotions when making a payment. As a result, they were unable to provide appropriate feedback or advice on how to improve next time in response to negative emotions such as confusion or regret felt by users when making a payment. This made it difficult for users to reduce stress and regret caused by payments.
[0569] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving the user's payment information, means for recognizing the user's emotions and collecting that data, and means for analyzing the collected emotion data and generating advice that will be useful for the next payment. This makes it possible to provide advice that takes into account the emotions the user feels when making a payment.
[0570] The "means for receiving a user's answer" is an interface through which the system receives information entered by the user and transmits it to the server.
[0571] The "means for analyzing received answers and detecting specific error patterns" refers to an algorithm by which the system analyzes the user's answers and determines whether they match predefined error patterns.
[0572] "Means for generating new problems based on identified errors" refers to the process of creating new problems based on the detected errors so that the user can try again.
[0573] The "means for presenting the generated new problem to the user" is a function for the server to display the newly created problem on the user's terminal.
[0574] "Means for recognizing user emotions and collecting data" refers to a function that analyzes the user's facial expressions, voice, and text data to identify their emotions and store that information.
[0575] "Means for analyzing collected emotional data and adjusting the new questions and the way they are presented" refers to the process of analyzing emotional data and changing the difficulty and presentation of new questions based on that data.
[0576] A "pattern matching algorithm for detecting grammatical errors" is a specific pattern recognition technique used to find grammatical errors in a user's response.
[0577] A "pattern matching algorithm for detecting mathematical errors" is a specific pattern recognition technique used to find numerical and calculation errors in user responses.
[0578] One embodiment of the present invention relates to an electronic payment support system that receives a user's payment information, analyzes the information and the user's emotional data, and provides advice on the next payment. This system is mainly composed of interactions between a server, a terminal, and a user.
[0579] System Configuration
[0580] The system is implemented using the following hardware and software.
[0581] Hardware: Smartphones, smart glasses
[0582] Software: Emotion recognition engine (e.g., Google Cloud AI's Natural Language API), local database for analyzing payment data (e.g., SQLite)
[0583] Terminal handling
[0584] The terminal receives the user's payment information and transmits it to the server. The terminal also collects emotional data such as the user's facial expressions and voice, and transmits this data to the server. This allows the terminal to collect data to analyze the user's emotions when making a payment.
[0585] Server Processing
[0586] The server first receives the payment information and emotion data sent by the user. It then analyzes this information. The payment information is stored in a local database (SQLite), and the emotion data is analyzed using an emotion recognition engine (e.g., Google Cloud AI's Natural Language API). This analysis identifies the emotion the user felt when making a payment, and stores that data.
[0587] Advice Generation
[0588] Next, based on the analyzed payment information and emotion data, the server generates useful advice for the next payment. The "PaymentAdvisor" class contains an algorithm that provides feedback to the user based on the payment details and emotion data. This advice provides insights into new payment behaviors and helps users reduce stress when making payments.
[0589] Specific examples
[0590] For example, when a user pays for a meal at a restaurant (5,000 yen), the smart glasses analyze the user's facial expression and recognize the emotion of confusion. Based on this information, the server can generate advice for the next time the user pays, such as, "It seems like you spent a little on the expensive side. Next time, try finding a restaurant that fits your budget."
[0591] Prompt Sentence Examples
[0592] "Payment history: Restaurant 5,000 yen (confused). Please generate advice for next payment."
[0593] In this way, it is possible to enrich the user's payment experience and provide appropriate emotional feedback.
[0594] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0595] Step 1:
[0596] When a user makes a payment, the terminal (smartphone or smart glasses) receives payment information as input. This information includes the store where the payment is made, the amount, and the time of payment. The terminal then sends this payment information to the server. The terminal also collects facial expression and voice data from the user at the time of payment and sends this data to the server.
[0597] Step 2:
[0598] The server receives payment information and emotion data sent from the device. The payment information is stored in a local database (SQLite). The emotion data is sent to an emotion recognition engine (Google Cloud AI's Natural Language API) for analysis. As a result of the analysis, the emotion data is converted into a textual emotion label (e.g., joy, confusion, etc.).
[0599] Step 3:
[0600] The server integrates the analyzed emotion labels with the payment information. This integrated data is processed by the "PaymentAdvisor" class. The "PaymentAdvisor" class generates useful advice for the next payment based on the payment information and emotion data. Specifically, it analyzes which payment methods are least stressful for the user based on past payment patterns and emotion data, and provides new insights.
[0601] Step 4:
[0602] The generated advice is sent from the server to the device (smartphone or smart glasses), which then displays the advice to the user, giving the user new insights into their payment behavior and enabling them to make their next payment more efficient and stress-free.
[0603] As a specific example of operation, consider the case where a user pays 5,000 yen at a restaurant. In this case, the device sends payment information (restaurant, 5,000 yen, time of payment) and emotion data (confused expression) to the server. The server receives this and generates an emotion label (confused) using an emotion recognition engine. Based on this, advice such as "Next time, try finding a restaurant that fits your budget" is generated and displayed on the device.
[0604] This allows users to receive feedback that takes into account their emotions at the time of payment and use it as a reference for their next payment behavior.
[0605] 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.
[0606] 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.
[0607] 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.
[0608] [Third embodiment]
[0609] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0610] 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.
[0611] 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).
[0612] 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.
[0613] 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.
[0614] 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).
[0615] 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.
[0616] 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.
[0617] 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.
[0618] 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.
[0619] 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.
[0620] 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."
[0621] In one embodiment of the present invention, a system for analyzing user answers and generating new questions will be described. This system is configured through interaction between a server, a terminal, and a user.
[0622] System Overview
[0623] The user inputs answers via the terminal, which are then sent to the server, which analyzes the answers and detects specific error patterns. Based on the detected errors, the server generates new exercises and presents them to the user again via the terminal.
[0624] Server processing explanation
[0625] The server first receives the answer submitted by the user and then uses a class called WeaknessAnalyzer to analyze the answer, which defines regular expressions to detect specific error patterns.
[0626] If an error is detected as a result of the analysis, the server generates a new problem based on the corresponding error pattern. For example, if an arithmetic error is detected, a new arithmetic problem is generated. The generated problem is presented to the user via the terminal.
[0627] Terminal processing explanation
[0628] The terminal has the function of receiving input from the user and sending it to the server, and also has the function of displaying new problems returned by the server. The user can re-solve these new problems to ensure that they improve their weak points.
[0629] User Roles
[0630] Users use their devices to input their answers to questions. These answers are sent to the server, which analyzes them and presents new questions, progressing the user's learning. By repeating this cycle, users can efficiently overcome their weaknesses.
[0631] Specific examples
[0632] Specifically, let us consider the case where user "Alice" inputs the incorrect answer "5 + 3 = 10". The user's answer is sent from the device to the server. The server analyzes the received answer and determines that an arithmetic error has been detected. Based on this result, the server generates a new arithmetic problem "5 + 3 = ?" and returns it to the device. The device displays the new problem to the user, who can then solve it again. In this way, the user can improve their learning effect.
[0633] This system, configured in this way, analyzes the user's answers to identify weak points, and generates and presents new questions that address those weak points, thereby achieving efficient learning for the user.
[0634] The processing flow will be explained below.
[0635] Step 1:
[0636] The terminal receives the user's answer. The user enters the answer on the terminal. For example, user "Alice" enters the answer to the math problem "5 + 3 = 10."
[0637] Step 2:
[0638] The terminal sends the answer entered by the user to the server. The terminal confirms the input and sends the data to the server.
[0639] Step 3:
[0640] The server receives the user's answer. The server receives the answer data sent from the terminal.
[0641] Step 4:
[0642] The server analyzes the received answer. The server uses the WeaknessAnalyzer class to analyze the answer and detect specific error patterns. For example, if the answer "5 + 3 = 10" contains an incorrect arithmetic calculation, it will be detected as an "arithmetic" error pattern.
[0643] Step 5:
[0644] The server generates new problems based on the identified errors. The server generates new problems that correspond to the detected error patterns. For example, for an "arithmetic" error, it generates a new math problem: "5 + 3 = ?"
[0645] Step 6:
[0646] The server generates new questions and sends them to the terminal, which then sends the new questions back to the terminal so that the user can answer them again.
[0647] Step 7:
[0648] The terminal displays the new question to the user. The terminal displays the new question received from the server on the screen and prompts the user to answer it again.
[0649] Step 8:
[0650] The user again inputs answers to new questions. The user answers the new questions that are presented to them, and by repeating this cycle, the user can progress through their studies efficiently.
[0651] Example 1
[0652] 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."
[0653] In conventional learning systems, feedback on user answers is not provided immediately and systematically, leading to repeated mistakes. Furthermore, the lack of an effective method for generating new questions makes it difficult for users to progress efficiently. Furthermore, the process of generating new questions that reflect past error patterns is complex, making it difficult to address specific weaknesses of users.
[0654] 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.
[0655] In this invention, the server includes means for receiving user answers, means for analyzing the received answers and detecting specific error patterns, means for generating new questions based on the identified errors, means for creating new questions using a generative AI model, means for inputting prompt sentences to the generative AI model, and means for receiving responses from the generative AI model, thereby enabling the server to provide immediate and appropriate feedback to each user's answer and establish an effective learning process.
[0656] A "user" is someone who uses the system to input answers to questions and progress through their studies.
[0657] A "server" is a computer system that receives answers sent by users, analyzes them, and generates new questions to provide to users.
[0658] A "prompt" is text input to a generative AI model that contains instructions for generating a new problem.
[0659] A "generative AI model" is an artificial intelligence that generates new questions based on input prompts using natural language processing technology.
[0660] An "answer" is text data of the answer that the user enters to the question.
[0661] "Analysis" refers to the process by which the server examines the answer and detects specific error patterns.
[0662] An "error pattern" indicates the type and characteristics of a particular error contained in a response, and serves as a criterion for the server to detect it.
[0663] A "new problem" is a new task or question to be answered that is generated based on the user's answers.
[0664] "Presenting" refers to displaying the generated new question to the user.
[0665] In one embodiment of the present invention, a system for analyzing user answers and generating new questions is configured through interaction between a server, a terminal, and a user.
[0666] Server processing format
[0667] The server receives the answers submitted by the user. The received answers are first analyzed using the "WeaknessAnalyzer" class, which defines regular expressions for detecting specific error patterns. If an error is detected as a result of the analysis, the server generates a new question based on the corresponding error pattern.
[0668] For example, if an arithmetic error is detected, a new arithmetic problem can be generated. This can be done using a generative AI model. A generative AI model receives a prompt sentence as input, receives a response based on the prompt, and generates a new problem. An example of a prompt sentence is as follows:
[0669] "If the given answer "5 + 3 = 10" is incorrect, please suggest a new problem to generate."
[0670] The generated new problem is then presented to the user via a terminal. To execute this series of processes, the server uses the following software and libraries: a server OS (e.g., Ubuntu Server), a web server (e.g., Apache), a programming language (e.g., Python), a regular expression library (e.g., re), and a generation library (e.g., random).
[0671] Terminal processing format
[0672] The device has the function of receiving input from the user and sending it to the server. It also has the function of displaying new problems returned by the server. By solving these new problems again, the user can reliably overcome their weaknesses. The device can be, for example, a PC, tablet, or smartphone, and processing is carried out via a web browser (e.g., Google Chrome).
[0673] User Roles
[0674] Users use their devices to input their answers to questions. These answers are sent to the server, which analyzes them and presents new questions, progressing the user's learning. By repeating this cycle, users can efficiently overcome their weaknesses.
[0675] Specific examples
[0676] Specifically, let us consider the case where user "Alice" inputs the incorrect answer "5 + 3 = 10". The user's answer is sent from the device to the server. The server analyzes the received answer and determines that an arithmetic error has been detected. Based on this result, the server generates a new arithmetic problem "5 + 3 = ?" and returns it to the device. The device displays the new problem to the user, who can then solve it again. In this way, the user can improve their learning effect.
[0677] This system, configured in this way, analyzes the user's answers to identify weak points, and generates and presents new questions that address those weak points, thereby achieving efficient learning for the user.
[0678] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0679] Step 1:
[0680] A user uses a terminal to input the answer to the question and clicks the submit button. Specifically, the user enters "5 + 3 = 10" in the answer field and clicks the submit button. The input is the "answer text" and the output is the "submission request."
[0681] Step 2:
[0682] The terminal receives the answer entered by the user and sends it to the server as an HTTP POST request. Specifically, the terminal sends the answer text in the request body as follows: The input is the "user's answer text" and the output is the "request sent to the server."
[0683] Step 3:
[0684] The server processes the received request and extracts the answer text. Specifically, the server extracts the answer from the request body and stores it in a variable. The input is the "request data from the terminal" and the output is the "answer text."
[0685] Step 4:
[0686] The server analyzes the answer text using the WeaknessAnalyzer class to detect specific error patterns. Specifically, the server passes the answer text to the WeaknessAnalyzer and detects error patterns using regular expressions. The input is the "answer text" and the output is the "error type (e.g., math_error)".
[0687] Step 5:
[0688] The server generates new questions based on the detected error type. Specifically, the server determines the error type and creates a new question text. In some cases, it generates questions using a generative AI model. The input is the "error type" and the output is the "new question text."
[0689] Step 6:
[0690] When the server uses a generative AI model to create a new problem, it inputs a prompt to the model and receives a response. Specifically, the server generates a prompt, sends it to the model, and receives the result. The input is the "prompt," and the output is the "generated new problem." An example of a prompt is, "If the given answer '5 + 3 = 10' is incorrect, please suggest a new problem to generate."
[0691] Step 7:
[0692] The server returns the generated new question text to the terminal. Specifically, it sends the new question text to the terminal as an HTTP response. The input is the "new question text" and the output is the "response sent to the terminal."
[0693] Step 8:
[0694] The terminal displays the new question text received from the server. Specifically, the terminal displays the new question text in a UI element and allows the user to enter the answer again. The input is the "new question text" and the output is the "new question displayed to the user."
[0695] Step 9:
[0696] The user enters the answer to the new question and starts the cycle again. Specifically, the user enters the answer to the new question that is displayed and clicks the submit button again. The input is the "answer to the new question" and the output is the "start of the next cycle."
[0697] (Application example 1)
[0698] 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."
[0699] Improving driving skills is essential for safe driving, but there are limited means to identify individual driver weaknesses and provide tailored training. Conventional driving training programs are generalized and do not address the specific issues of individual drivers. As a result, drivers miss opportunities to efficiently improve their weaknesses. To solve this problem, a system is needed that analyzes driver driving data, detects specific error patterns, and automatically generates and provides training programs tailored to individual weaknesses.
[0700] 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.
[0701] In this invention, the server includes means for receiving user input data, means for analyzing the received input data and detecting specific error patterns, means for generating a new training program based on the identified errors, and means for presenting the generated new training program to the user. This makes it possible to identify weaknesses based on individual driving data of a driver and provide an optimal training program to compensate for those weaknesses.
[0702] "User input data" refers to driving-related information generated when a driver operates a vehicle.
[0703] The "analysis means" is a mechanism for identifying error patterns contained in received input data.
[0704] A "specific error pattern" is a set of repeated mistakes or inappropriate behaviors that a driver makes while driving.
[0705] A "new training program" is a driving practice plan generated based on the identified errors, aimed at improving the driver's skills.
[0706] A "pattern matching algorithm" is a method used to analyze driving data and is an algorithm for detecting specific error patterns.
[0707] A "specific driving training program" is a specific driving practice program that is provided to improve a driver's driving skills based on the errors detected.
[0708] The present invention relates to a training system for improving a driver's driving skills. Specific embodiments of the system will be described below.
[0709] System Overview
[0710] The system consists of a user (driver), a device (such as a smartphone), and a server. The user uses the device to input driving data generated while driving. This data is sent in real time to the server, which analyzes the data and detects specific error patterns. The server then generates a new training program based on the identified errors and presents it to the user via the device.
[0711] Hardware
[0712] Smartphone: Used as a device for drivers to input driving data and receive training programs.
[0713] Server: A central processing unit that performs data analysis and training program generation.
[0714] software
[0715] Python: Used to implement the analysis algorithms, including the WeaknessAnalyzer and TrainingGenerator classes.
[0716] Data processing and calculation
[0717] The server analyzes the driving data received from the user using the WeaknessAnalyzer class. This class has a pattern matching algorithm using regular expressions to detect specific error patterns in the driving data. Based on the analysis results, the TrainingGenerator class generates a new training program. This training program includes specific driving practice content to improve the identified errors (e.g., lane departure and sudden braking).
[0718] Processing flow
[0719] 1. The user enters driving data from their smartphone.
[0720] 2. The device sends the input data to the server.
[0721] 3. The server analyzes the driving data using WeaknessAnalyzer.
[0722] 4. If a specific error pattern is detected, the server generates a new training program using the TrainingGenerator.
[0723] 5. The generated training program is sent to the terminal and presented to the user.
[0724] Specific examples
[0725] For example, suppose a user inputs the driving data "Lane deviation detected at 5 pm." and "Hard brake detected at 5:10 pm." This data is sent to the server and analyzed by WeaknessAnalyzer. As a result of the analysis, errors such as lane deviation and sudden braking are detected. Based on this information, TrainingGenerator generates a new training program including "Lane keeping practice" and "Smooth braking practice." The generated training program is presented to the user via the terminal.
[0726] Prompt Sentence Examples
[0727] Below is an example of a prompt for entering driver driving data.
[0728] Enter the driver's driving data, such as "Lane deviation detected at 5pm," "Hard braking detected at 5:10pm," etc. Generate a driving training program based on this data.
[0729] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0730] Step 1:
[0731] The user inputs driving data from their smartphone. For example, the user inputs "Lane deviation detected at 5 pm" and "Hard brake detected at 5:10 pm," and this data is sent to the device. The input data includes specific events that occurred while driving.
[0732] Step 2:
[0733] The terminal sends the input data to the server. The terminal performs network communication to transfer the driving data entered by the user to the server in real time. The input data is sent to the server in its original format.
[0734] Step 3:
[0735] The server analyzes the driving data using WeaknessAnalyzer. The server passes the received driving data to WeaknessAnalyzer and applies a pattern matching algorithm using regular expressions to detect specific error patterns. The input data is the driving data, and the output data is a list of detected error patterns.
[0736] Step 4:
[0737] When a specific error pattern is detected, the server uses TrainingGenerator to generate a new training program. Based on the list of error patterns detected by WeaknessAnalyzer, the server uses TrainingGenerator to generate driving practice content corresponding to each error. The list of error patterns is obtained as input data, and the training program is obtained as output data.
[0738] Step 5:
[0739] The generated training program is sent to the terminal and presented to the user. The server sends the generated training program to the terminal, and the terminal displays the received training program to the user. The new training program is obtained as input data, and the training content presented to the user is obtained as output data.
[0740] 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.
[0741] In one embodiment of the present invention, we will explain a system that analyzes user answers and generates new questions by combining an emotion engine that recognizes the user's emotions. This system is composed of three parties: a server, a terminal, and a user, and interacts with each other.
[0742] System Overview
[0743] The user inputs answers via the device, which are then sent to the server. The server analyzes the answers and detects specific error patterns. Based on the detected errors, the server generates new practice questions and presents them to the user again via the device. The system also includes an emotion engine that recognizes the user's emotions by analyzing the user's facial expressions, voice, or text data.
[0744] Server processing explanation
[0745] The server first receives the answer submitted by the user and then analyzes the answer using a class called WeaknessAnalyzer, which defines regular expressions to detect specific error patterns.
[0746] If an error is detected as a result of the analysis, the server generates a new problem based on the corresponding error pattern. For example, if an arithmetic error is detected, a new arithmetic problem is generated. The generated problem is presented to the user via the terminal.
[0747] Furthermore, the server analyzes the user's emotions using an emotion engine, which recognizes emotions by analyzing the user's facial expressions, voice, or text data, and adjusts the method and difficulty of new questions based on the recognized emotions.
[0748] Terminal processing explanation
[0749] The device has the function of receiving input from the user and sending it to the server. It also has the function of displaying new problems returned by the server. Furthermore, the device is also responsible for obtaining input data for the emotion engine and sending it to the server. By solving this new problem again, the user can be sure to overcome their weaknesses.
[0750] User Roles
[0751] The user uses a device to input answers to questions. These answers are sent to the server, which analyzes them and presents new questions. The device also collects the user's emotional data and sends it to the server. By repeating this cycle, the user can progress through their studies efficiently.
[0752] Specific examples
[0753] Specifically, consider the case where user "Alice" enters the incorrect answer "5 + 3 = 10." The user's answer is sent from the device to the server. The server analyzes the received answer and determines that an arithmetic error has been detected. Based on this result, the server generates a new arithmetic problem "5 + 3 = ?" and returns it to the device. The device displays the new problem to the user, and the emotion engine analyzes the user's emotion. For example, if the user has a confused expression, this data is sent to the server, and the server appropriately adjusts the difficulty of the new problem based on the recognized emotion.
[0754] This system analyzes the user's answers to identify weaknesses and generates and presents new questions that address those weaknesses, thereby achieving efficient learning. It also recognizes the user's emotions and adjusts the way questions are presented based on those emotions, providing an optimal learning environment for each individual user.
[0755] The processing flow will be explained below.
[0756] Step 1:
[0757] The terminal receives the user's answer. The user enters the answer to an arithmetic problem on the terminal. For example, user "Alice" enters the answer "5 + 3 = 10".
[0758] Step 2:
[0759] The terminal sends the answer entered by the user to the server. The terminal confirms the input and sends the data to the server.
[0760] Step 3:
[0761] The server receives the user's answer. The server receives the answer data sent from the terminal.
[0762] Step 4:
[0763] To analyze the answer received by the server, we call the WeaknessAnalyzer class, which contains algorithms for detecting predefined error patterns (such as grammatical errors and arithmetic errors).
[0764] Step 5:
[0765] The server uses WeaknessAnalyzer to analyze the answers and detect certain error patterns. For example, if an arithmetic error is detected in the answer "5 + 3 = 10", the server will detect the error pattern as "arithmetic".
[0766] Step 6:
[0767] The server generates new problems based on the identified errors. The server generates new problems that correspond to the error patterns detected. For example, the server generates a new math problem "5 + 3 = ?" for an "arithmetic" error.
[0768] Step 7:
[0769] The server sends the newly generated problem to the terminal, which then presents the problem to the user.
[0770] Step 8:
[0771] The terminal displays the new question to the user. The terminal displays the new question received from the server on the screen and prompts the user to answer it again.
[0772] Step 9:
[0773] The device acquires the user's emotional data (e.g., facial expressions, voice, and text data) and sends it to the server. The emotional data is collected to understand the user's reactions.
[0774] Step 10:
[0775] The server analyzes the user's emotion data using an emotion engine, which recognizes the user's emotion from the received data and determines whether it is positive or negative.
[0776] Step 11:
[0777] The server adjusts the presentation and difficulty of new questions based on the perceived emotion, for example, lowering the difficulty of a question or adding more detailed hints if the user is stumped.
[0778] Step 12:
[0779] The device presents the user with a new, adjusted question again, taking into consideration the user's emotions, and the user continues answering the question.
[0780] Step 13:
[0781] The user again inputs answers to new questions. The user answers the new questions that are presented to them, and by repeating this cycle, the user can progress through their studies efficiently.
[0782] Example 2
[0783] 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."
[0784] While conventional learning systems focus on analyzing users' answers, they lack feedback that takes into account the user's emotional state and adjustment of problem difficulty. As a result, users may feel stressed about learning, which can reduce their learning effectiveness. These issues need to be resolved.
[0785] 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.
[0786] In this invention, the server includes means for receiving user answers, means for analyzing the received answers and detecting specific error patterns, means for generating new questions based on the identified errors, means for presenting the generated new questions to the user, means for recognizing the user's emotions, and means for adjusting the difficulty of the new questions based on the recognized emotions. This makes it possible to identify the user's weaknesses and provide appropriate questions, as well as to provide learning support that takes into account the user's emotional state.
[0787] The "means for receiving user's answers" is a function for transmitting answer data entered by the user using the study terminal to the server.
[0788] The "means for analyzing the received answers and detecting specific error patterns" refers to an algorithm or program that the server uses to analyze the user's answer data and identify pre-defined error patterns.
[0789] The "means for generating new problems based on identified errors" is an algorithm or program for creating new practice problems appropriate to the detected error patterns.
[0790] The "means for presenting the generated new questions to the user" is a function for transmitting the new questions generated by the server to the study terminal and displaying them to the user.
[0791] The "means for recognizing user emotions" is a technology that uses an emotion engine to analyze the user's facial expressions, voice, or text data to identify the user's psychological state.
[0792] The "means for adjusting the difficulty of new questions based on the perceived emotions" is an algorithm or program that dynamically changes the difficulty of the generated practice questions and the way they are presented depending on the user's emotional state.
[0793] This paper describes a system that analyzes user answers, generates new questions based on error patterns, and adjusts learning content by recognizing the user's emotions. This system is composed of three parties: a server, a terminal, and a user, and interacts with each other.
[0794] Overall structure
[0795] Server Features
[0796] The server has the following features:
[0797] 1. Function to receive user responses
[0798] 2. The ability to analyze received answers and detect specific error patterns
[0799] 3. Ability to generate new questions based on identified errors
[0800] 4. A function to present the generated new problem to the user
[0801] 5. Ability to recognize user emotions
[0802] 6. The ability to adjust the difficulty of new questions based on perceived emotions
[0803] The hardware and software used will be AWS EC2 instances as server hardware, and Python and TensorFlow as the software environment.
[0804] Device Features
[0805] The terminal has the following features:
[0806] 1. The ability to receive input from the user and send it to the server
[0807] 2. Ability to view new issues returned by the server
[0808] 3. A function to obtain input data for the emotion engine and send it to the server
[0809] Specific examples of terminals include tablets and personal computers.
[0810] User Roles
[0811] Users answer questions using a learning device. The answers are sent from the device to a server, where they are analyzed and new questions are presented. User emotion data is also collected and used to adjust the difficulty of the questions.
[0812] Component Examples
[0813] Answer analysis (WeaknessAnalyzer class)
[0814] The server receives the answers submitted by the user and analyzes them using the WeaknessAnalyzer class, which defines regular expressions to detect specific error patterns.
[0815] text
[0816] Analyze the user's answer "5 + 3 = 10", detect error patterns, and generate new questions.
[0817] Creating a new problem
[0818] The server generates new problems based on the error pattern, for example, if an arithmetic error is detected, a new arithmetic problem is generated.
[0819] text
[0820] If an arithmetic error is detected: generate a new arithmetic problem "5 + 3 = ?"
[0821] Emotion recognition
[0822] The server uses an emotion engine to analyze the user's emotions, recognizing emotions by analyzing the user's facial expressions, voice, or text data, and adjusting the difficulty of new questions based on the recognized emotions.
[0823] text
[0824] Analyze the user's facial expression data to recognize their emotional state, and if they are confused, take action accordingly and generate new questions.
[0825] Specific examples
[0826] If user "Alice" enters an incorrect answer, such as "5 + 3 = 10," this answer is sent from the device to the server. The server analyzes the received answer and detects any arithmetic errors. Based on this result, the server generates a new arithmetic problem, "5 + 3 = ?", and sends it to the device. The device displays the new problem to the user, and the emotion engine analyzes the user's emotions. For example, if the user has a confused expression, this is sent to the server, and the server adjusts the difficulty of the new problem.
[0827] This system analyzes the user's answers to identify weaknesses and generates and presents new questions that address those weaknesses, thereby achieving efficient learning. It also recognizes the user's emotions and adjusts the way questions are presented based on those emotions, providing an optimal learning environment for each individual user.
[0828] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0829] Step 1:
[0830] The user inputs answers to questions displayed on the learning device. The device acquires the user's input and creates a data packet to send it to the server. Specifically, the user inputs "5 + 3 = 10," and the device generates a data packet to send this answer to the server.
[0831] Input: User's answer data
[0832] Output: Data packets sent to the server
[0833] Step 2:
[0834] The terminal sends the user's input data to the server as an HTTP request. This request is made using the POST method. Specifically, the terminal sends the user's answer data, "5 + 3 = 10," to the server.
[0835] Input: User's answer data
[0836] Output: HTTP request sent to the server
[0837] Step 3:
[0838] The server analyzes the HTTP request received from the device and receives the user's answer data. The server then uses the WeaknessAnalyzer class to analyze the answer and detect specific error patterns. This process uses regular expressions to detect arithmetic errors. Specifically, the server analyzes the answer "5 + 3 = 10" with WeaknessAnalyzer and identifies the error.
[0839] Input: User's answer data included in the HTTP request
[0840] Output: Error pattern detection results
[0841] Step 4:
[0842] The server generates new problems based on the detected error pattern. For example, if an arithmetic error is detected, it generates a new arithmetic problem: "5 + 3 = ?". Specifically, the server executes a new problem generation algorithm to create new problem data.
[0843] Input: Error pattern detection results
[0844] Output: New problem data
[0845] Step 5:
[0846] The server sends the generated new problem to the terminal. The terminal displays the new problem received from the server to the user. Specifically, the server sends the new problem "5 + 3 = ?" to the terminal as an HTTP response, and the terminal displays it to the user.
[0847] Input: New problem data
[0848] Output: HTTP response sent to the device, presenting the new problem to the user
[0849] Step 6:
[0850] The device collects the user's emotional data and sends it to the server. The emotion engine is used to analyze the user's facial and voice data and identify their emotional state. Specifically, the device collects the user's facial and voice data using a camera and microphone, and sends the results of the analysis by the emotion engine to the server.
[0851] Input: User's facial expressions and voice data
[0852] Output: Sentiment analysis data sent to the server
[0853] Step 7:
[0854] The server analyzes the received emotion data to determine the user's emotional state. Based on the recognized emotion, it adjusts the difficulty of new questions. For example, if the user is confused, it adjusts the questions to be easier. Specifically, the server processes the emotion analysis data and adjusts the question generation algorithm to create new question data.
[0855] Input: Sentiment analysis data
[0856] Output: New problem data with adjusted difficulty
[0857] Step 8:
[0858] The server then sends the new, adjusted questions back to the device, which then presents them to the user. By repeating this cycle, the user can effectively progress through their studies. Specifically, the server sends the adjusted questions to the device as an HTTP response, and the device displays the questions to the user.
[0859] Input: New problem data with adjusted difficulty
[0860] Output: HTTP response sent to the device, showing the problem to the user after reconciliation
[0861] (Application example 2)
[0862] 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."
[0863] Conventional electronic payment services simply record payment history and amount information without considering the user's emotions when making a payment. As a result, they were unable to provide appropriate feedback or advice on how to improve next time in response to negative emotions such as confusion or regret felt by users when making a payment. This made it difficult for users to reduce stress and regret caused by payments.
[0864] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving the user's payment information, means for recognizing the user's emotions and collecting that data, and means for analyzing the collected emotion data and generating advice that will be useful for the next payment. This makes it possible to provide advice that takes into account the emotions the user feels when making a payment.
[0865] The "means for receiving a user's answer" is an interface through which the system receives information entered by the user and transmits it to the server.
[0866] The "means for analyzing received answers and detecting specific error patterns" refers to an algorithm by which the system analyzes the user's answers and determines whether they match predefined error patterns.
[0867] "Means for generating new problems based on identified errors" refers to the process of creating new problems based on the detected errors so that the user can try again.
[0868] The "means for presenting the generated new problem to the user" is a function for the server to display the newly created problem on the user's terminal.
[0869] "Means for recognizing user emotions and collecting data" refers to a function that analyzes the user's facial expressions, voice, and text data to identify their emotions and store that information.
[0870] "Means for analyzing collected emotional data and adjusting the new questions and the way they are presented" refers to the process of analyzing emotional data and changing the difficulty and presentation of new questions based on that data.
[0871] A "pattern matching algorithm for detecting grammatical errors" is a specific pattern recognition technique used to find grammatical errors in a user's response.
[0872] A "pattern matching algorithm for detecting mathematical errors" is a specific pattern recognition technique used to find numerical and calculation errors in user responses.
[0873] One embodiment of the present invention relates to an electronic payment support system that receives a user's payment information, analyzes the information and the user's emotional data, and provides advice on the next payment. This system is mainly composed of interactions between a server, a terminal, and a user.
[0874] System Configuration
[0875] The system is implemented using the following hardware and software.
[0876] Hardware: Smartphones, smart glasses
[0877] Software: Emotion recognition engine (e.g., Google Cloud AI's Natural Language API), local database for analyzing payment data (e.g., SQLite)
[0878] Terminal handling
[0879] The terminal receives the user's payment information and transmits it to the server. The terminal also collects emotional data such as the user's facial expressions and voice, and transmits this data to the server. This allows the terminal to collect data to analyze the user's emotions when making a payment.
[0880] Server Processing
[0881] The server first receives the payment information and emotion data sent by the user. It then analyzes this information. The payment information is stored in a local database (SQLite), and the emotion data is analyzed using an emotion recognition engine (e.g., Google Cloud AI's Natural Language API). This analysis identifies the emotion the user felt when making a payment, and stores that data.
[0882] Advice Generation
[0883] Next, based on the analyzed payment information and emotion data, the server generates useful advice for the next payment. The "PaymentAdvisor" class contains an algorithm that provides feedback to the user based on the payment details and emotion data. This advice provides insights into new payment behaviors and helps users reduce stress when making payments.
[0884] Specific examples
[0885] For example, when a user pays for a meal at a restaurant (5,000 yen), the smart glasses analyze the user's facial expression and recognize the emotion of confusion. Based on this information, the server can generate advice for the next time the user pays, such as, "It seems like you spent a little on the expensive side. Next time, try finding a restaurant that fits your budget."
[0886] Prompt Sentence Examples
[0887] "Payment history: Restaurant 5,000 yen (confused). Please generate advice for next payment."
[0888] In this way, it is possible to enrich the user's payment experience and provide appropriate emotional feedback.
[0889] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0890] Step 1:
[0891] When a user makes a payment, the terminal (smartphone or smart glasses) receives payment information as input. This information includes the store where the payment is made, the amount, and the time of payment. The terminal then sends this payment information to the server. The terminal also collects facial expression and voice data from the user at the time of payment and sends this data to the server.
[0892] Step 2:
[0893] The server receives payment information and emotion data sent from the device. The payment information is stored in a local database (SQLite). The emotion data is sent to an emotion recognition engine (Google Cloud AI's Natural Language API) for analysis. As a result of the analysis, the emotion data is converted into a textual emotion label (e.g., joy, confusion, etc.).
[0894] Step 3:
[0895] The server integrates the analyzed emotion labels with the payment information. This integrated data is processed by the "PaymentAdvisor" class. The "PaymentAdvisor" class generates useful advice for the next payment based on the payment information and emotion data. Specifically, it analyzes which payment methods are least stressful for the user based on past payment patterns and emotion data, and provides new insights.
[0896] Step 4:
[0897] The generated advice is sent from the server to the device (smartphone or smart glasses), which then displays the advice to the user, giving the user new insights into their payment behavior and enabling them to make their next payment more efficient and stress-free.
[0898] As a specific example of operation, consider the case where a user pays 5,000 yen at a restaurant. In this case, the device sends payment information (restaurant, 5,000 yen, time of payment) and emotion data (confused expression) to the server. The server receives this and generates an emotion label (confused) using an emotion recognition engine. Based on this, advice such as "Next time, try finding a restaurant that fits your budget" is generated and displayed on the device.
[0899] This allows users to receive feedback that takes into account their emotions at the time of payment and use it as a reference for their next payment behavior.
[0900] 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.
[0901] 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.
[0902] 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.
[0903] [Fourth embodiment]
[0904] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[0905] 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.
[0906] 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).
[0907] 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.
[0908] 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.
[0909] 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).
[0910] 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.
[0911] 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.
[0912] 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.
[0913] 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.
[0914] 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.
[0915] 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.
[0916] 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."
[0917] In one embodiment of the present invention, a system for analyzing user answers and generating new questions will be described. This system is configured through interaction between a server, a terminal, and a user.
[0918] System Overview
[0919] The user inputs answers via the terminal, which are then sent to the server, which analyzes the answers and detects specific error patterns. Based on the detected errors, the server generates new exercises and presents them to the user again via the terminal.
[0920] Server processing explanation
[0921] The server first receives the answer submitted by the user and then uses a class called WeaknessAnalyzer to analyze the answer, which defines regular expressions to detect specific error patterns.
[0922] If an error is detected as a result of the analysis, the server generates a new problem based on the corresponding error pattern. For example, if an arithmetic error is detected, a new arithmetic problem is generated. The generated problem is presented to the user via the terminal.
[0923] Terminal processing explanation
[0924] The terminal has the function of receiving input from the user and sending it to the server, and also has the function of displaying new problems returned by the server. The user can re-solve these new problems to ensure that they improve their weak points.
[0925] User Roles
[0926] Users use their devices to input their answers to questions. These answers are sent to the server, which analyzes them and presents new questions, progressing the user's learning. By repeating this cycle, users can efficiently overcome their weaknesses.
[0927] Specific examples
[0928] Specifically, let us consider the case where user "Alice" inputs the incorrect answer "5 + 3 = 10". The user's answer is sent from the device to the server. The server analyzes the received answer and determines that an arithmetic error has been detected. Based on this result, the server generates a new arithmetic problem "5 + 3 = ?" and returns it to the device. The device displays the new problem to the user, who can then solve it again. In this way, the user can improve their learning effect.
[0929] This system, configured in this way, analyzes the user's answers to identify weak points, and generates and presents new questions that address those weak points, thereby achieving efficient learning for the user.
[0930] The processing flow will be explained below.
[0931] Step 1:
[0932] The terminal receives the user's answer. The user enters the answer on the terminal. For example, user "Alice" enters the answer to the math problem "5 + 3 = 10."
[0933] Step 2:
[0934] The terminal sends the answer entered by the user to the server. The terminal confirms the input and sends the data to the server.
[0935] Step 3:
[0936] The server receives the user's answer. The server receives the answer data sent from the terminal.
[0937] Step 4:
[0938] The server analyzes the received answer. The server uses the WeaknessAnalyzer class to analyze the answer and detect specific error patterns. For example, if the answer "5 + 3 = 10" contains an incorrect arithmetic calculation, it will be detected as an "arithmetic" error pattern.
[0939] Step 5:
[0940] The server generates new problems based on the identified errors. The server generates new problems that correspond to the detected error patterns. For example, for an "arithmetic" error, it generates a new math problem: "5 + 3 = ?"
[0941] Step 6:
[0942] The server generates new questions and sends them to the terminal, which then sends the new questions back to the terminal so that the user can answer them again.
[0943] Step 7:
[0944] The terminal displays the new question to the user. The terminal displays the new question received from the server on the screen and prompts the user to answer it again.
[0945] Step 8:
[0946] The user again inputs answers to new questions. The user answers the new questions that are presented to them, and by repeating this cycle, the user can progress through their studies efficiently.
[0947] Example 1
[0948] 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."
[0949] In conventional learning systems, feedback on user answers is not provided immediately and systematically, leading to repeated mistakes. Furthermore, the lack of an effective method for generating new questions makes it difficult for users to progress efficiently. Furthermore, the process of generating new questions that reflect past error patterns is complex, making it difficult to address specific weaknesses of users.
[0950] 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.
[0951] In this invention, the server includes means for receiving user answers, means for analyzing the received answers and detecting specific error patterns, means for generating new questions based on the identified errors, means for creating new questions using a generative AI model, means for inputting prompt sentences to the generative AI model, and means for receiving responses from the generative AI model, thereby enabling the server to provide immediate and appropriate feedback to each user's answer and establish an effective learning process.
[0952] A "user" is someone who uses the system to input answers to questions and progress through their studies.
[0953] A "server" is a computer system that receives answers sent by users, analyzes them, and generates new questions to provide to users.
[0954] A "prompt" is text input to a generative AI model that contains instructions for generating a new problem.
[0955] A "generative AI model" is an artificial intelligence that generates new questions based on input prompts using natural language processing technology.
[0956] An "answer" is text data of the answer that the user enters to the question.
[0957] "Analysis" refers to the process by which the server examines the answer and detects specific error patterns.
[0958] An "error pattern" indicates the type and characteristics of a particular error contained in a response, and serves as a criterion for the server to detect it.
[0959] A "new problem" is a new task or question to be answered that is generated based on the user's answers.
[0960] "Presenting" refers to displaying the generated new question to the user.
[0961] In one embodiment of the present invention, a system for analyzing user answers and generating new questions is configured through interaction between a server, a terminal, and a user.
[0962] Server processing format
[0963] The server receives the answers submitted by the user. The received answers are first analyzed using the "WeaknessAnalyzer" class, which defines regular expressions for detecting specific error patterns. If an error is detected as a result of the analysis, the server generates a new question based on the corresponding error pattern.
[0964] For example, if an arithmetic error is detected, a new arithmetic problem can be generated. This can be done using a generative AI model. A generative AI model receives a prompt sentence as input, receives a response based on the prompt, and generates a new problem. An example of a prompt sentence is as follows:
[0965] "If the given answer "5 + 3 = 10" is incorrect, please suggest a new problem to generate."
[0966] The generated new problem is then presented to the user via a terminal. To execute this series of processes, the server uses the following software and libraries: a server OS (e.g., Ubuntu Server), a web server (e.g., Apache), a programming language (e.g., Python), a regular expression library (e.g., re), and a generation library (e.g., random).
[0967] Terminal processing format
[0968] The device has the function of receiving input from the user and sending it to the server. It also has the function of displaying new problems returned by the server. By solving these new problems again, the user can reliably overcome their weaknesses. The device can be, for example, a PC, tablet, or smartphone, and processing is carried out via a web browser (e.g., Google Chrome).
[0969] User Roles
[0970] Users use their devices to input their answers to questions. These answers are sent to the server, which analyzes them and presents new questions, progressing the user's learning. By repeating this cycle, users can efficiently overcome their weaknesses.
[0971] Specific examples
[0972] Specifically, let us consider the case where user "Alice" inputs the incorrect answer "5 + 3 = 10". The user's answer is sent from the device to the server. The server analyzes the received answer and determines that an arithmetic error has been detected. Based on this result, the server generates a new arithmetic problem "5 + 3 = ?" and returns it to the device. The device displays the new problem to the user, who can then solve it again. In this way, the user can improve their learning effect.
[0973] This system, configured in this way, analyzes the user's answers to identify weak points, and generates and presents new questions that address those weak points, thereby achieving efficient learning for the user.
[0974] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0975] Step 1:
[0976] A user uses a terminal to input the answer to the question and clicks the submit button. Specifically, the user enters "5 + 3 = 10" in the answer field and clicks the submit button. The input is the "answer text" and the output is the "submission request."
[0977] Step 2:
[0978] The terminal receives the answer entered by the user and sends it to the server as an HTTP POST request. Specifically, the terminal sends the answer text in the request body as follows: The input is the "user's answer text" and the output is the "request sent to the server."
[0979] Step 3:
[0980] The server processes the received request and extracts the answer text. Specifically, the server extracts the answer from the request body and stores it in a variable. The input is the "request data from the terminal" and the output is the "answer text."
[0981] Step 4:
[0982] The server analyzes the answer text using the WeaknessAnalyzer class to detect specific error patterns. Specifically, the server passes the answer text to the WeaknessAnalyzer and detects error patterns using regular expressions. The input is the "answer text" and the output is the "error type (e.g., math_error)".
[0983] Step 5:
[0984] The server generates new questions based on the detected error type. Specifically, the server determines the error type and creates a new question text. In some cases, it generates questions using a generative AI model. The input is the "error type" and the output is the "new question text."
[0985] Step 6:
[0986] When the server uses a generative AI model to create a new problem, it inputs a prompt to the model and receives a response. Specifically, the server generates a prompt, sends it to the model, and receives the result. The input is the "prompt," and the output is the "generated new problem." An example of a prompt is, "If the given answer '5 + 3 = 10' is incorrect, please suggest a new problem to generate."
[0987] Step 7:
[0988] The server returns the generated new question text to the terminal. Specifically, it sends the new question text to the terminal as an HTTP response. The input is the "new question text" and the output is the "response sent to the terminal."
[0989] Step 8:
[0990] The terminal displays the new question text received from the server. Specifically, the terminal displays the new question text in a UI element and allows the user to enter the answer again. The input is the "new question text" and the output is the "new question displayed to the user."
[0991] Step 9:
[0992] The user enters the answer to the new question and starts the cycle again. Specifically, the user enters the answer to the new question that is displayed and clicks the submit button again. The input is the "answer to the new question" and the output is the "start of the next cycle."
[0993] (Application example 1)
[0994] 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."
[0995] Improving driving skills is essential for safe driving, but there are limited means to identify individual driver weaknesses and provide tailored training. Conventional driving training programs are generalized and do not address the specific issues of individual drivers. As a result, drivers miss opportunities to efficiently improve their weaknesses. To solve this problem, a system is needed that analyzes driver driving data, detects specific error patterns, and automatically generates and provides training programs tailored to individual weaknesses.
[0996] 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.
[0997] In this invention, the server includes means for receiving user input data, means for analyzing the received input data and detecting specific error patterns, means for generating a new training program based on the identified errors, and means for presenting the generated new training program to the user. This makes it possible to identify weaknesses based on individual driving data of a driver and provide an optimal training program to compensate for those weaknesses.
[0998] "User input data" refers to driving-related information generated when a driver operates a vehicle.
[0999] The "analysis means" is a mechanism for identifying error patterns contained in received input data.
[1000] A "specific error pattern" is a set of repeated mistakes or inappropriate behaviors that a driver makes while driving.
[1001] A "new training program" is a driving practice plan generated based on the identified errors, aimed at improving the driver's skills.
[1002] A "pattern matching algorithm" is a method used to analyze driving data and is an algorithm for detecting specific error patterns.
[1003] A "specific driving training program" is a specific driving practice program that is provided to improve a driver's driving skills based on the errors detected.
[1004] The present invention relates to a training system for improving a driver's driving skills. Specific embodiments of the system will be described below.
[1005] System Overview
[1006] The system consists of a user (driver), a device (such as a smartphone), and a server. The user uses the device to input driving data generated while driving. This data is sent in real time to the server, which analyzes the data and detects specific error patterns. The server then generates a new training program based on the identified errors and presents it to the user via the device.
[1007] Hardware
[1008] Smartphone: Used as a device for drivers to input driving data and receive training programs.
[1009] Server: A central processing unit that performs data analysis and training program generation.
[1010] software
[1011] Python: Used to implement the analysis algorithms, including the WeaknessAnalyzer and TrainingGenerator classes.
[1012] Data processing and calculation
[1013] The server analyzes the driving data received from the user using the WeaknessAnalyzer class. This class has a pattern matching algorithm using regular expressions to detect specific error patterns in the driving data. Based on the analysis results, the TrainingGenerator class generates a new training program. This training program includes specific driving practice content to improve the identified errors (e.g., lane departure and sudden braking).
[1014] Processing flow
[1015] 1. The user enters driving data from their smartphone.
[1016] 2. The device sends the input data to the server.
[1017] 3. The server analyzes the driving data using WeaknessAnalyzer.
[1018] 4. If a specific error pattern is detected, the server generates a new training program using the TrainingGenerator.
[1019] 5. The generated training program is sent to the terminal and presented to the user.
[1020] Specific examples
[1021] For example, suppose a user inputs the driving data "Lane deviation detected at 5 pm." and "Hard brake detected at 5:10 pm." This data is sent to the server and analyzed by WeaknessAnalyzer. As a result of the analysis, errors such as lane deviation and sudden braking are detected. Based on this information, TrainingGenerator generates a new training program including "Lane keeping practice" and "Smooth braking practice." The generated training program is presented to the user via the terminal.
[1022] Prompt Sentence Examples
[1023] Below is an example of a prompt for entering driver driving data.
[1024] Enter the driver's driving data, such as "Lane deviation detected at 5pm," "Hard braking detected at 5:10pm," etc. Generate a driving training program based on this data.
[1025] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1026] Step 1:
[1027] The user inputs driving data from their smartphone. For example, the user inputs "Lane deviation detected at 5 pm" and "Hard brake detected at 5:10 pm," and this data is sent to the device. The input data includes specific events that occurred while driving.
[1028] Step 2:
[1029] The terminal sends the input data to the server. The terminal performs network communication to transfer the driving data entered by the user to the server in real time. The input data is sent to the server in its original format.
[1030] Step 3:
[1031] The server analyzes the driving data using WeaknessAnalyzer. The server passes the received driving data to WeaknessAnalyzer and applies a pattern matching algorithm using regular expressions to detect specific error patterns. The input data is the driving data, and the output data is a list of detected error patterns.
[1032] Step 4:
[1033] When a specific error pattern is detected, the server uses TrainingGenerator to generate a new training program. Based on the list of error patterns detected by WeaknessAnalyzer, the server uses TrainingGenerator to generate driving practice content corresponding to each error. The list of error patterns is obtained as input data, and the training program is obtained as output data.
[1034] Step 5:
[1035] The generated training program is sent to the terminal and presented to the user. The server sends the generated training program to the terminal, and the terminal displays the received training program to the user. The new training program is obtained as input data, and the training content presented to the user is obtained as output data.
[1036] 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.
[1037] In one embodiment of the present invention, we will explain a system that analyzes user answers and generates new questions by combining an emotion engine that recognizes the user's emotions. This system is composed of three parties: a server, a terminal, and a user, and interacts with each other.
[1038] System Overview
[1039] The user inputs answers via the device, which are then sent to the server. The server analyzes the answers and detects specific error patterns. Based on the detected errors, the server generates new practice questions and presents them to the user again via the device. The system also includes an emotion engine that recognizes the user's emotions by analyzing the user's facial expressions, voice, or text data.
[1040] Server processing explanation
[1041] The server first receives the answer submitted by the user and then analyzes the answer using a class called WeaknessAnalyzer, which defines regular expressions to detect specific error patterns.
[1042] If an error is detected as a result of the analysis, the server generates a new problem based on the corresponding error pattern. For example, if an arithmetic error is detected, a new arithmetic problem is generated. The generated problem is presented to the user via the terminal.
[1043] Furthermore, the server analyzes the user's emotions using an emotion engine, which recognizes emotions by analyzing the user's facial expressions, voice, or text data, and adjusts the method and difficulty of new questions based on the recognized emotions.
[1044] Terminal processing explanation
[1045] The device has the function of receiving input from the user and sending it to the server. It also has the function of displaying new problems returned by the server. Furthermore, the device is also responsible for obtaining input data for the emotion engine and sending it to the server. By solving this new problem again, the user can be sure to overcome their weaknesses.
[1046] User Roles
[1047] The user uses a device to input answers to questions. These answers are sent to the server, which analyzes them and presents new questions. The device also collects the user's emotional data and sends it to the server. By repeating this cycle, the user can progress through their studies efficiently.
[1048] Specific examples
[1049] Specifically, consider the case where user "Alice" enters the incorrect answer "5 + 3 = 10." The user's answer is sent from the device to the server. The server analyzes the received answer and determines that an arithmetic error has been detected. Based on this result, the server generates a new arithmetic problem "5 + 3 = ?" and returns it to the device. The device displays the new problem to the user, and the emotion engine analyzes the user's emotion. For example, if the user has a confused expression, this data is sent to the server, and the server appropriately adjusts the difficulty of the new problem based on the recognized emotion.
[1050] This system analyzes the user's answers to identify weaknesses and generates and presents new questions that address those weaknesses, thereby achieving efficient learning. It also recognizes the user's emotions and adjusts the way questions are presented based on those emotions, providing an optimal learning environment for each individual user.
[1051] The processing flow will be explained below.
[1052] Step 1:
[1053] The terminal receives the user's answer. The user enters the answer to an arithmetic problem on the terminal. For example, user "Alice" enters the answer "5 + 3 = 10".
[1054] Step 2:
[1055] The terminal sends the answer entered by the user to the server. The terminal confirms the input and sends the data to the server.
[1056] Step 3:
[1057] The server receives the user's answer. The server receives the answer data sent from the terminal.
[1058] Step 4:
[1059] To analyze the answer received by the server, we call the WeaknessAnalyzer class, which contains algorithms for detecting predefined error patterns (such as grammatical errors and arithmetic errors).
[1060] Step 5:
[1061] The server uses WeaknessAnalyzer to analyze the answers and detect certain error patterns. For example, if an arithmetic error is detected in the answer "5 + 3 = 10", the server will detect the error pattern as "arithmetic".
[1062] Step 6:
[1063] The server generates new problems based on the identified errors. The server generates new problems that correspond to the error patterns detected. For example, the server generates a new math problem "5 + 3 = ?" for an "arithmetic" error.
[1064] Step 7:
[1065] The server sends the newly generated problem to the terminal, which then presents the problem to the user.
[1066] Step 8:
[1067] The terminal displays the new question to the user. The terminal displays the new question received from the server on the screen and prompts the user to answer it again.
[1068] Step 9:
[1069] The device acquires the user's emotional data (e.g., facial expressions, voice, and text data) and sends it to the server. The emotional data is collected to understand the user's reactions.
[1070] Step 10:
[1071] The server analyzes the user's emotion data using an emotion engine, which recognizes the user's emotion from the received data and determines whether it is positive or negative.
[1072] Step 11:
[1073] The server adjusts the presentation and difficulty of new questions based on the perceived emotion, for example, lowering the difficulty of a question or adding more detailed hints if the user is stumped.
[1074] Step 12:
[1075] The device presents the user with a new, adjusted question again, taking into consideration the user's emotions, and the user continues answering the question.
[1076] Step 13:
[1077] The user again inputs answers to new questions. The user answers the new questions that are presented to them, and by repeating this cycle, the user can progress through their studies efficiently.
[1078] Example 2
[1079] 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."
[1080] While conventional learning systems focus on analyzing users' answers, they lack feedback that takes into account the user's emotional state and adjustment of problem difficulty. As a result, users may feel stressed about learning, which can reduce their learning effectiveness. These issues need to be resolved.
[1081] 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.
[1082] In this invention, the server includes means for receiving user answers, means for analyzing the received answers and detecting specific error patterns, means for generating new questions based on the identified errors, means for presenting the generated new questions to the user, means for recognizing the user's emotions, and means for adjusting the difficulty of the new questions based on the recognized emotions. This makes it possible to identify the user's weaknesses and provide appropriate questions, as well as to provide learning support that takes into account the user's emotional state.
[1083] The "means for receiving user's answers" is a function for transmitting answer data entered by the user using the study terminal to the server.
[1084] The "means for analyzing the received answers and detecting specific error patterns" refers to an algorithm or program that the server uses to analyze the user's answer data and identify pre-defined error patterns.
[1085] The "means for generating new problems based on identified errors" is an algorithm or program for creating new practice problems appropriate to the detected error patterns.
[1086] The "means for presenting the generated new questions to the user" is a function for transmitting the new questions generated by the server to the study terminal and displaying them to the user.
[1087] The "means for recognizing user emotions" is a technology that uses an emotion engine to analyze the user's facial expressions, voice, or text data to identify the user's psychological state.
[1088] The "means for adjusting the difficulty of new questions based on the perceived emotions" is an algorithm or program that dynamically changes the difficulty of the generated practice questions and the way they are presented depending on the user's emotional state.
[1089] This paper describes a system that analyzes user answers, generates new questions based on error patterns, and adjusts learning content by recognizing the user's emotions. This system is composed of three parties: a server, a terminal, and a user, and interacts with each other.
[1090] Overall structure
[1091] Server Features
[1092] The server has the following features:
[1093] 1. Function to receive user responses
[1094] 2. The ability to analyze received answers and detect specific error patterns
[1095] 3. Ability to generate new questions based on identified errors
[1096] 4. A function to present the generated new problem to the user
[1097] 5. Ability to recognize user emotions
[1098] 6. The ability to adjust the difficulty of new questions based on perceived emotions
[1099] The hardware and software used will be AWS EC2 instances as server hardware, and Python and TensorFlow as the software environment.
[1100] Device Features
[1101] The terminal has the following features:
[1102] 1. The ability to receive input from the user and send it to the server
[1103] 2. Ability to view new issues returned by the server
[1104] 3. A function to obtain input data for the emotion engine and send it to the server
[1105] Specific examples of terminals include tablets and personal computers.
[1106] User Roles
[1107] Users answer questions using a learning device. The answers are sent from the device to a server, where they are analyzed and new questions are presented. User emotion data is also collected and used to adjust the difficulty of the questions.
[1108] Component Examples
[1109] Answer analysis (WeaknessAnalyzer class)
[1110] The server receives the answers submitted by the user and analyzes them using the WeaknessAnalyzer class, which defines regular expressions to detect specific error patterns.
[1111] text
[1112] Analyze the user's answer "5 + 3 = 10", detect error patterns, and generate new questions.
[1113] Creating a new problem
[1114] The server generates new problems based on the error pattern, for example, if an arithmetic error is detected, a new arithmetic problem is generated.
[1115] text
[1116] If an arithmetic error is detected: generate a new arithmetic problem "5 + 3 = ?"
[1117] Emotion recognition
[1118] The server uses an emotion engine to analyze the user's emotions, recognizing emotions by analyzing the user's facial expressions, voice, or text data, and adjusting the difficulty of new questions based on the recognized emotions.
[1119] text
[1120] Analyze the user's facial expression data to recognize their emotional state, and if they are confused, take action accordingly and generate new questions.
[1121] Specific examples
[1122] If user "Alice" enters an incorrect answer, such as "5 + 3 = 10," this answer is sent from the device to the server. The server analyzes the received answer and detects any arithmetic errors. Based on this result, the server generates a new arithmetic problem, "5 + 3 = ?", and sends it to the device. The device displays the new problem to the user, and the emotion engine analyzes the user's emotions. For example, if the user has a confused expression, this is sent to the server, and the server adjusts the difficulty of the new problem.
[1123] This system analyzes the user's answers to identify weaknesses and generates and presents new questions that address those weaknesses, thereby achieving efficient learning. It also recognizes the user's emotions and adjusts the way questions are presented based on those emotions, providing an optimal learning environment for each individual user.
[1124] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1125] Step 1:
[1126] The user inputs answers to questions displayed on the learning device. The device acquires the user's input and creates a data packet to send it to the server. Specifically, the user inputs "5 + 3 = 10," and the device generates a data packet to send this answer to the server.
[1127] Input: User's answer data
[1128] Output: Data packets sent to the server
[1129] Step 2:
[1130] The terminal sends the user's input data to the server as an HTTP request. This request is made using the POST method. Specifically, the terminal sends the user's answer data, "5 + 3 = 10," to the server.
[1131] Input: User's answer data
[1132] Output: HTTP request sent to the server
[1133] Step 3:
[1134] The server analyzes the HTTP request received from the device and receives the user's answer data. The server then uses the WeaknessAnalyzer class to analyze the answer and detect specific error patterns. This process uses regular expressions to detect arithmetic errors. Specifically, the server analyzes the answer "5 + 3 = 10" with WeaknessAnalyzer and identifies the error.
[1135] Input: User's answer data included in the HTTP request
[1136] Output: Error pattern detection results
[1137] Step 4:
[1138] The server generates new problems based on the detected error pattern. For example, if an arithmetic error is detected, it generates a new arithmetic problem: "5 + 3 = ?". Specifically, the server executes a new problem generation algorithm to create new problem data.
[1139] Input: Error pattern detection results
[1140] Output: New problem data
[1141] Step 5:
[1142] The server sends the generated new problem to the terminal. The terminal displays the new problem received from the server to the user. Specifically, the server sends the new problem "5 + 3 = ?" to the terminal as an HTTP response, and the terminal displays it to the user.
[1143] Input: New problem data
[1144] Output: HTTP response sent to the device, presenting the new problem to the user
[1145] Step 6:
[1146] The device collects the user's emotional data and sends it to the server. The emotion engine is used to analyze the user's facial and voice data and identify their emotional state. Specifically, the device collects the user's facial and voice data using a camera and microphone, and sends the results of the analysis by the emotion engine to the server.
[1147] Input: User's facial expressions and voice data
[1148] Output: Sentiment analysis data sent to the server
[1149] Step 7:
[1150] The server analyzes the received emotion data to determine the user's emotional state. Based on the recognized emotion, it adjusts the difficulty of new questions. For example, if the user is confused, it adjusts the questions to be easier. Specifically, the server processes the emotion analysis data and adjusts the question generation algorithm to create new question data.
[1151] Input: Sentiment analysis data
[1152] Output: New problem data with adjusted difficulty
[1153] Step 8:
[1154] The server then sends the new, adjusted questions back to the device, which then presents them to the user. By repeating this cycle, the user can effectively progress through their studies. Specifically, the server sends the adjusted questions to the device as an HTTP response, and the device displays the questions to the user.
[1155] Input: New problem data with adjusted difficulty
[1156] Output: HTTP response sent to the device, showing the problem to the user after reconciliation
[1157] (Application example 2)
[1158] 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."
[1159] Conventional electronic payment services simply record payment history and amount information without considering the user's emotions when making a payment. As a result, they were unable to provide appropriate feedback or advice on how to improve next time in response to negative emotions such as confusion or regret felt by users when making a payment. This made it difficult for users to reduce stress and regret caused by payments.
[1160] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving the user's payment information, means for recognizing the user's emotions and collecting that data, and means for analyzing the collected emotion data and generating advice that will be useful for the next payment. This makes it possible to provide advice that takes into account the emotions the user feels when making a payment.
[1161] The "means for receiving a user's answer" is an interface through which the system receives information entered by the user and transmits it to the server.
[1162] The "means for analyzing received answers and detecting specific error patterns" refers to an algorithm by which the system analyzes the user's answers and determines whether they match predefined error patterns.
[1163] "Means for generating new problems based on identified errors" refers to the process of creating new problems based on the detected errors so that the user can try again.
[1164] The "means for presenting the generated new problem to the user" is a function for the server to display the newly created problem on the user's terminal.
[1165] "Means for recognizing user emotions and collecting data" refers to a function that analyzes the user's facial expressions, voice, and text data to identify their emotions and store that information.
[1166] "Means for analyzing collected emotional data and adjusting the new questions and the way they are presented" refers to the process of analyzing emotional data and changing the difficulty and presentation of new questions based on that data.
[1167] A "pattern matching algorithm for detecting grammatical errors" is a specific pattern recognition technique used to find grammatical errors in a user's response.
[1168] A "pattern matching algorithm for detecting mathematical errors" is a specific pattern recognition technique used to find numerical and calculation errors in user responses.
[1169] One embodiment of the present invention relates to an electronic payment support system that receives a user's payment information, analyzes the information and the user's emotional data, and provides advice on the next payment. This system is mainly composed of interactions between a server, a terminal, and a user.
[1170] System Configuration
[1171] The system is implemented using the following hardware and software.
[1172] Hardware: Smartphones, smart glasses
[1173] Software: Emotion recognition engine (e.g., Google Cloud AI's Natural Language API), local database for analyzing payment data (e.g., SQLite)
[1174] Terminal handling
[1175] The terminal receives the user's payment information and transmits it to the server. The terminal also collects emotional data such as the user's facial expressions and voice, and transmits this data to the server. This allows the terminal to collect data to analyze the user's emotions when making a payment.
[1176] Server Processing
[1177] The server first receives the payment information and emotion data sent by the user. It then analyzes this information. The payment information is stored in a local database (SQLite), and the emotion data is analyzed using an emotion recognition engine (e.g., Google Cloud AI's Natural Language API). This analysis identifies the emotion the user felt when making a payment, and stores that data.
[1178] Advice Generation
[1179] Next, based on the analyzed payment information and emotion data, the server generates useful advice for the next payment. The "PaymentAdvisor" class contains an algorithm that provides feedback to the user based on the payment details and emotion data. This advice provides insights into new payment behaviors and helps users reduce stress when making payments.
[1180] Specific examples
[1181] For example, when a user pays for a meal at a restaurant (5,000 yen), the smart glasses analyze the user's facial expression and recognize the emotion of confusion. Based on this information, the server can generate advice for the next time the user pays, such as, "It seems like you spent a little on the expensive side. Next time, try finding a restaurant that fits your budget."
[1182] Prompt Sentence Examples
[1183] "Payment history: Restaurant 5,000 yen (confused). Please generate advice for next payment."
[1184] In this way, it is possible to enrich the user's payment experience and provide appropriate emotional feedback.
[1185] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1186] Step 1:
[1187] When a user makes a payment, the terminal (smartphone or smart glasses) receives payment information as input. This information includes the store where the payment is made, the amount, and the time of payment. The terminal then sends this payment information to the server. The terminal also collects facial expression and voice data from the user at the time of payment and sends this data to the server.
[1188] Step 2:
[1189] The server receives payment information and emotion data sent from the device. The payment information is stored in a local database (SQLite). The emotion data is sent to an emotion recognition engine (Google Cloud AI's Natural Language API) for analysis. As a result of the analysis, the emotion data is converted into a textual emotion label (e.g., joy, confusion, etc.).
[1190] Step 3:
[1191] The server integrates the analyzed emotion labels with the payment information. This integrated data is processed by the "PaymentAdvisor" class. The "PaymentAdvisor" class generates useful advice for the next payment based on the payment information and emotion data. Specifically, it analyzes which payment methods are least stressful for the user based on past payment patterns and emotion data, and provides new insights.
[1192] Step 4:
[1193] The generated advice is sent from the server to the device (smartphone or smart glasses), which then displays the advice to the user, giving the user new insights into their payment behavior and enabling them to make their next payment more efficient and stress-free.
[1194] As a specific example of operation, consider the case where a user pays 5,000 yen at a restaurant. In this case, the device sends payment information (restaurant, 5,000 yen, time of payment) and emotion data (confused expression) to the server. The server receives this and generates an emotion label (confused) using an emotion recognition engine. Based on this, advice such as "Next time, try finding a restaurant that fits your budget" is generated and displayed on the device.
[1195] This allows users to receive feedback that takes into account their emotions at the time of payment and use it as a reference for their next payment behavior.
[1196] 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.
[1197] 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.
[1198] 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.
[1199] 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.
[1200] FIG. 9 illustrates 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 behaviors 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.
[1201] 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.
[1202] 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).
[1203] 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.
[1204] 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."
[1205] 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.
[1206] 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).
[1207] 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.
[1208] 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.
[1209] 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.
[1210] 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.
[1211] The hardware resource for executing a specific process can be any of the following types of processors: A processor, for example, 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 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.
[1212] 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.
[1213] 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.
[1214] 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.
[1215] 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.
[1216] 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.
[1217] The following is further disclosed regarding the above embodiment.
[1218] (Claim 1)
[1219] means for receiving a user's response;
[1220] means for analyzing the received responses to detect specific error patterns;
[1221] means for generating new questions based on the identified errors;
[1222] means for presenting the generated new questions to a user;
[1223] A system including:
[1224] (Claim 2)
[1225] 10. The system of claim 1, wherein the analyzing means includes a pattern matching algorithm for detecting grammatical errors.
[1226] (Claim 3)
[1227] 10. The system of claim 1, wherein the analyzing means includes a pattern matching algorithm for detecting arithmetic errors.
[1228] "Example 1"
[1229] (Claim 1)
[1230] means for receiving a user's response;
[1231] means for analyzing the received responses to detect specific error patterns;
[1232] means for generating new questions based on the identified errors;
[1233] means for presenting the generated new questions to a user;
[1234] a means of creating new problems using a generative AI model; and
[1235] a means for inputting a prompt sentence to the generative AI model;
[1236] a means for receiving a response from the generative AI model;
[1237] A system including:
[1238] (Claim 2)
[1239] 10. The system of claim 1, wherein the analyzing means includes a pattern matching algorithm for detecting grammatical errors.
[1240] (Claim 3)
[1241] 10. The system of claim 1, wherein the analyzing means includes a pattern matching algorithm for detecting arithmetic errors.
[1242] "Application Example 1"
[1243] (Claim 1)
[1244] means for receiving user input data;
[1245] means for analyzing received input data to detect particular error patterns;
[1246] means for generating a new training program based on the identified errors;
[1247] means for presenting the generated new training program to the user;
[1248] A system including:
[1249] (Claim 2)
[1250] 10. The system of claim 1, wherein the analyzing means includes a pattern matching algorithm for detecting errors in the driving data.
[1251] (Claim 3)
[1252] 10. The system of claim 1, wherein the generating means generates a specific driving training program based on the detected errors.
[1253] "Example 2: Combining Emotion Engines"
[1254] (Claim 1)
[1255] means for receiving a user's response;
[1256] means for analyzing the received responses to detect specific error patterns;
[1257] means for generating new questions based on the identified errors;
[1258] means for presenting the generated new questions to a user;
[1259] means for recognizing a user's emotion;
[1260] a means for adjusting the difficulty of new questions based on perceived emotions;
[1261] A system including:
[1262] (Claim 2)
[1263] 10. The system of claim 1, wherein the analyzing means includes a pattern matching algorithm for detecting grammatical errors.
[1264] (Claim 3)
[1265] 10. The system of claim 1, wherein the analyzing means includes a pattern matching algorithm for detecting arithmetic errors.
[1266] "Application example 2 when combining emotion engines"
[1267] (Claim 1)
[1268] means for receiving a user's response;
[1269] means for analyzing the received responses to detect specific error patterns;
[1270] means for generating new questions based on the identified errors;
[1271] means for presenting the generated new questions to a user;
[1272] a means for recognizing and collecting data on user emotions;
[1273] A means of analyzing the collected emotional data and adjusting the new questions and question presentation methods to be generated;
[1274] A system including:
[1275] (Claim 2)
[1276] 10. The system of claim 1, wherein the analyzing means includes a pattern matching algorithm for detecting grammatical errors.
[1277] (Claim 3)
[1278] 10. The system of claim 1, wherein the analyzing means includes a pattern matching algorithm for detecting arithmetic errors. [Explanation of symbols]
[1279] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. means for receiving a user's response; means for analyzing the received responses to detect specific error patterns; means for generating new questions based on the identified errors; means for presenting the generated new questions to the user; A system including:
2. 2. The system of claim 1, wherein the analyzing means includes a pattern matching algorithm for detecting grammatical errors.
3. 2. The system of claim 1, wherein the analyzing means includes a pattern matching algorithm for detecting arithmetic errors.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A