System
A system using a generative AI model generates comprehension tests to assess and improve learners' understanding of source code, addressing the limitations of traditional copying methods by offering personalized feedback.
Patent Information
- Application Number
- JP2024120450
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-25
- Publication Date
- 2026-02-05
AI Technical Summary
Existing learning methods for programming languages rely heavily on copying and pasting example source code, which does not effectively assess a learner's understanding, making it difficult to acquire practical coding skills.
A system utilizing a generative AI model to generate comprehension tests, including fill-in-the-blank questions, error correction, and similar tasks, to evaluate a learner's understanding of source code, with scoring and feedback mechanisms.
Enables learners to evaluate their understanding of source code from multiple perspectives, providing immediate and tailored feedback for improved learning effectiveness.
Smart Images

Figure 2026019041000001_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] When learning programming languages, copying or pasting example source code is a common method. However, even if the code runs correctly using this method, it is unclear whether the learner truly understands the content of the source code, or whether they can write correct code on their own for other similar problems. As a result, it becomes difficult for learners to acquire the skills required in actual development situations. Therefore, it is necessary to improve the effectiveness of learning by providing a method for checking the level of understanding of source code. [Means for solving the problem]
[0005] The present invention solves the above-mentioned problems by the following means. A system is provided that includes a means for inputting source code, a means for generating a comprehension test using a generative AI model that generates a comprehension test based on the input source code, a means for presenting the generated comprehension test to a user, a means for receiving the user's answers to the comprehension test, a means for scoring the received answers, and a means for presenting the scoring results and explanations to the user. Furthermore, the system includes a means for extracting important parts of the source code and presenting them as fill-in-the-blank questions, a means for generating and presenting word questions to check whether the user understands the source code, a means for intentionally making parts of the source code incorrect and generating and presenting questions that require the user to correct the errors, and a means for generating similar tasks based on the source code and having the user solve the tasks. This allows the system to evaluate a learner's comprehension of source code from multiple perspectives. Furthermore, the system includes a means for recording the results of the comprehension test and managing the user's learning progress, thereby improving long-term learning effectiveness.
[0006] "Source code" is a set of instructions or statements that describe a computer program.
[0007] A "generative AI model" is an algorithm or system that uses artificial intelligence technology to automatically generate problems or challenges based on source code or other input data.
[0008] A "comprehension test" is a set of questions or tasks designed to assess a learner's understanding of a particular source code.
[0009] "User" refers to an individual or group that uses the system to verify their understanding of source code.
[0010] "Input volume" refers to the interface that allows users to input source code and answers into the system.
[0011] A "presentation means" is a method or system for presenting a comprehension test and its answer results to a user in a visual or other format.
[0012] "Receiving means" is an element of the system that receives and records input data and responses from users.
[0013] The "grading means" is a system function for determining whether the answers to the comprehension test given by the user are correct or incorrect, and evaluating the results.
[0014] "Explanation" is an explanation or supplementary information for the correct answers and incorrect parts of the answers to the comprehension test.
[0015] "Recording means" is a system function that stores the results of comprehension tests and the user's learning progress so that they can be referenced later.
[0016] A "fill-in-the-blank question" is a question in which a part of the program code is missing and the user must fill in the missing part.
[0017] A "text question" is a question that describes the contents and behavior of source code in text.
[0018] An "error correction problem" is a problem in which source code containing intentionally incorrect parts is presented and the user is asked to correct the errors.
[0019] "Similar tasks" are tasks that generate specific problems or tasks related to but different from the original source code and require the user to answer them. [Brief explanation of the drawings]
[0020] [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 illustrating 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
[0021] 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.
[0022] First, the terms used in the following description will be explained.
[0023] 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).
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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."
[0028] [First embodiment]
[0029] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0030] 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.
[0031] 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).
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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."
[0041] The present invention relates to a system for checking the comprehension level of specific source code, and is characterized by automatically generating comprehension tests using a generative AI model. An embodiment of this system is described in detail below.
[0042] System configuration
[0043] This system includes a server, a terminal used by the user, and a generative AI model. The configuration and function of each element are explained below.
[0044] Inputting and Preprocessing Source Code
[0045] 1. Terminal: The user accesses the web service through a browser and enters source code into the form. When the user presses the "Submit" button, an HTTP request is sent to the server.
[0046] 2. Server: Receives this HTTP request, extracts the input source code, and performs preprocessing to remove comments and unnecessary whitespace.
[0047] Generate comprehension tests
[0048] 3. Server: Sends the preprocessed source code to the generative AI model, which generates a comprehension test in the following format:
[0049] Extract important parts of the source code and create fill-in-the-blank questions.
[0050] Generates written questions to check whether you understand the contents of the source code.
[0051] Part of the source code is intentionally made incorrect, and a problem is generated that requires the user to correct the error.
[0052] Generate another similar problem based on the source code and create a problem to solve that problem.
[0053] 4. Generative AI model: Generates the comprehension test and sends the data back to the server.
[0054] Presenting a comprehension test
[0055] 5. Server: Receives the generated comprehension test, generates HTML for displaying it as a web page, and sends this HTML to the user's device.
[0056] 6. Terminal: The user fills in the displayed comprehension test and submits the answers.
[0057] Receiving and grading answers
[0058] 7. Server: Receives the user's answers and sends them back to the generative AI model for scoring.
[0059] 8. Generative AI model: Based on the user's answers, it determines whether they are correct or incorrect and generates a score and explanation.
[0060] Presentation of scoring results and explanations
[0061] 9. Server: Receives the score and explanations, generates HTML for display as a web page, and sends this HTML to the user's device.
[0062] 10. Terminal: The user checks the displayed results and assesses their understanding.
[0063] Specific examples
[0064] Example 1: Fill in the gaps for important parts of the source code
[0065] User-entered source code:
[0066] def add(a, b):
[0067] return a + b
[0068] Fill-in-the-blank questions generated by generative AI:
[0069] def add(a, b):
[0070] return a ____ b
[0071] User Answer: +
[0072] Example 2: Error correction questions
[0073] User-entered source code:
[0074] def multiply(x, y):
[0075] return xy
[0076] Problems containing errors generated by the AI:
[0077] def multiply(x, y):
[0078] return x + y needs to be corrected
[0079] User's answer:
[0080] Example 3: A problem that generates and solves a similar problem
[0081] User-entered source code:
[0082] def subtract(a, b):
[0083] return a - b
[0084] Similar problem generated by generative AI (division problem):
[0085] def divide(a, b):
[0086] return a / b User demonstrates understanding of division to answer
[0087] As described above, this system allows learners to evaluate their own understanding of source code from multiple angles, and aims to further improve their skills.
[0088] The processing flow will be explained below.
[0089] Step 1:
[0090] User: Opens a browser, accesses the web service page, enters source code into the form, and presses the "Submit" button.
[0091] Step 2:
[0092] Terminal: Generates an HTTP request containing the input source code and sends it to the server.
[0093] Step 3:
[0094] Server: Receives the HTTP request and extracts the input source code.
[0095] Step 4:
[0096] Server: Checks the format of the extracted source code and performs preprocessing to remove comments and unnecessary whitespace.
[0097] Step 5:
[0098] Server: Makes API requests to pass the preprocessed source code to the generative AI model.
[0099] Step 6:
[0100] Server: Sends API requests to the endpoint of the generated AI model.
[0101] Step 7:
[0102] Generative AI model: Generates comprehension tests based on preprocessed source code.
[0103] Extract the important parts of the code and create fill-in-the-blank questions.
[0104] Generates written questions that test whether you understand the code content.
[0105] Generate code that contains errors and create a problem that requires you to fix it.
[0106] Automatically generate similar tasks and create problems to solve them.
[0107] Step 8:
[0108] Generative AI model: Generates comprehension test data and sends it back to the server.
[0109] Step 9:
[0110] Server: Formats the comprehension test data received from the generative AI model and generates HTML for display as a web page.
[0111] Step 10:
[0112] Server: Sends the generated HTML to the terminal as an HTTP response.
[0113] Step 11:
[0114] Terminal: Display the received HTML in the browser.
[0115] Step 12:
[0116] User: Enter your answers into the assessment provided.
[0117] Step 13:
[0118] User: After answering all questions, press the "Submit" button.
[0119] Step 14:
[0120] Terminal: Generates an HTTP request containing the user's response data and sends it to the server.
[0121] Step 15:
[0122] Server: Receives the user's answer data and sends it back to the generative AI model for scoring.
[0123] Step 16:
[0124] Generative AI model: Based on the user's answers, it determines whether they are correct or incorrect and generates a score and explanation.
[0125] Step 17:
[0126] Generative AI model: Sends the scoring results and explanations back to the server.
[0127] Step 18:
[0128] Server: Formats the scoring results and explanations received from the generative AI model and generates HTML to present to the user.
[0129] Step 19:
[0130] Server: Sends the generated HTML to the terminal as an HTTP response.
[0131] Step 20:
[0132] Terminal: Display the received HTML in the browser.
[0133] Step 21:
[0134] Users: Check the marks and explanations to understand their own understanding.
[0135] Example 1
[0136] 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."
[0137] Current source code learning support systems lack a means for users to evaluate their own understanding of source code from multiple angles. Manual question creation and grading is time-consuming, making it difficult to perform rapid evaluations. This makes it difficult for users to achieve effective learning and provides feedback tailored to their individual level of understanding.
[0138] 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.
[0139] In this invention, the server includes means for a user to input source code, means for receiving the input source code and performing preprocessing, means for generating a prompt sentence based on the preprocessed source code and sending it to the generative AI model, means for generating a comprehension test using the generative AI model, means for presenting the generated comprehension test to the user's terminal, means for receiving the user's answers to the comprehension test, means for again sending the received answers to the generative AI model for scoring, and means for generating and presenting the scoring results and explanations to the user. This allows the user to quickly and automatically evaluate their level of comprehension of the source code and receive individual feedback.
[0140] A "user" is a person who uses the system to test their understanding of the source code.
[0141] The "means of input" is the interface through which the user provides source code to the system, typically a form in a web browser.
[0142] "Preprocessing means" is a process of removing unnecessary comments and whitespace from the received source code and formatting it into a form that is easy to process.
[0143] A "prompt" is an instruction or material provided to a generative AI model to generate a comprehension test.
[0144] A "generative AI model" is a type of artificial intelligence that automatically generates comprehension tests based on source code entered by the user.
[0145] A "comprehension test" is a set of questions or problems that are based on the source code entered by the user and are used to assess whether the user understands its contents and operation.
[0146] The "means of presentation" refers to the mechanism for displaying the generated comprehension test and the scoring results to the user, and is usually a web page in HTML format.
[0147] The "means for receiving answers" is the process by which the server receives the answers entered by the user to the comprehension test.
[0148] "Means of scoring" refers to the process of using a generative AI model to evaluate the received user answers and determine whether they are correct or incorrect.
[0149] The "scoring results and explanations" are the evaluation results of the user's answers and explanations based on those results, and are feedback to support the user's learning.
[0150] The present invention relates to a system for checking the comprehension level of a specific source code, and is characterized by automatically generating comprehension tests using a generative AI model. The following describes in detail an embodiment of the present invention.
[0151] System configuration
[0152] This system consists of three main components: a server, a user's device, and a generative AI model. The server receives source code, preprocesses it, generates prompts, presents comprehension tests, and displays the scoring results. The user's device inputs source code, receives comprehension tests, and sends answers. The generative AI model is responsible for generating comprehension tests based on the provided prompts.
[0153] Inputting and Preprocessing Source Code
[0154] The user accesses the specified URL using a web browser and enters the source code into the form. After entering the information, the user clicks the "Submit" button, and the source code is sent to the server as an HTTP request. The server then performs preprocessing to remove unnecessary comments and spaces from the received source code. Specifically, it removes unnecessary parts using Python's regular expression library (re) or similar.
[0155] Generate comprehension tests
[0156] The server generates a prompt based on the preprocessed source code, which includes a brief description of the source code and details of the test questions to be generated. The generated prompt is then sent to a generative AI model to generate a comprehension test.
[0157] Example prompt sentence:
[0158] Please create a comprehension test based on the source code below.
[0159] def add(a, b):
[0160] return a + b
[0161] Based on the prompt, the generative AI model generates a comprehension test of the following form:
[0162] Extract important parts of the source code and create fill-in-the-blank questions.
[0163] Generates written questions that ask about the contents of source code.
[0164] Generate source code containing errors and create problems that require the user to fix them.
[0165] Generate similar tasks and create problems to solve those tasks.
[0166] Presenting comprehension tests and receiving answers
[0167] The server receives the comprehension test and generates an HTML page to be presented to the user's device. The user checks the comprehension test on the device, enters their answers, and submits them. The answers are then sent back to the server as an HTTP request.
[0168] Grading answers
[0169] The server receives the user's answers and sends them to the generative AI model for scoring. The generative AI model determines whether the answers are correct and generates a score and explanation. The server receives this and again generates an HTML result display page and presents it to the user.
[0170] Specific examples
[0171] Example 1: Fill in the gaps for important parts of the source code
[0172] User-entered source code:
[0173] def add(a, b):
[0174] return a + b
[0175] Fill-in-the-blank questions generated by generative AI:
[0176] def add(a, b):
[0177] return a ____ b
[0178] User Answer: +
[0179] Example 2: Error correction questions
[0180] User-entered source code:
[0181] def multiply(x, y):
[0182] return xy
[0183] Problems containing errors generated by the AI:
[0184] def multiply(x, y):
[0185] return x + y needs to be corrected
[0186] User's answer:
[0187] Example 3: A problem that generates and solves a similar problem
[0188] User-entered source code:
[0189] def subtract(a, b):
[0190] return a - b
[0191] Similar problem generated by generative AI (division problem):
[0192] def divide(a, b):
[0193] return a / b User demonstrates understanding of division to answer
[0194] In this way, this system allows users to quickly evaluate their understanding of source code and achieve effective learning by receiving individual feedback.
[0195] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0196] Program processing steps and their specific operations
[0197] Step 1:
[0198] The user enters and submits the source code.
[0199] Input: The user enters source code into a form on a web browser and clicks the "Submit" button.
[0200] How it works: The source code is sent to the server as an HTTP request.
[0201] Output: Source code is sent to the server and received as request data.
[0202] Step 2:
[0203] The server receives the source code and performs preprocessing.
[0204] Input: The HTTP request sent by the user.
[0205] How it works: The server extracts the source code from the request body, then uses Python's regular expressions library (re) to pre-process the source code, removing unnecessary comments and extra whitespace.
[0206] Output: Preprocessed source code.
[0207] Step 3:
[0208] The server generates a prompt sentence and sends it to the generative AI model.
[0209] Input: Preprocessed source code.
[0210] How it works: The server generates a prompt based on the preprocessed source code, then sends this prompt to the generative AI model, which includes a brief description of the source code and details of the test questions to be generated.
[0211] Example prompt sentence:
[0212] Please create a comprehension test based on the source code below.
[0213] def add(a, b):
[0214] return a + b
[0215] Output: The prompt sent to the generative AI model.
[0216] Step 4:
[0217] A generative AI model generates comprehension tests.
[0218] Input: The prompt text sent by the server.
[0219] How it works: Based on the prompt, the generative AI model generates a comprehension test that includes questions like:
[0220] Extract important parts of the source code and create fill-in-the-blank questions.
[0221] Generate content-based written questions.
[0222] Create problems to generate similar tasks and have them solved.
[0223] Output: The generated comprehension test.
[0224] Step 5:
[0225] The server presents the comprehension test to the user.
[0226] Input: Comprehension test returned by the generative AI model.
[0227] How it works: The server receives the comprehension test, generates an HTML web page containing the generated test questions and answer fields, and then sends this HTML to the user's device.
[0228] Output: The HTML page that is sent to the user's device.
[0229] Step 6:
[0230] The user answers the test and submits it.
[0231] Input: The comprehension test sent from the server.
[0232] How it works: The user reviews the test on their device, enters their answers, and then clicks the "Submit" button to send their answers to the server.
[0233] Output: The answer sent to the server.
[0234] Step 7:
[0235] The server receives the user's answers and sends them to the generative AI model for scoring.
[0236] Input: The answer submitted by the user.
[0237] How it works: The server receives the user's answer and sends it to the generative AI model for scoring. The generative AI model then determines whether the user's answer is correct or incorrect and generates a score and explanation.
[0238] Output: Data including the score and explanation.
[0239] Step 8:
[0240] The server presents the score and commentary to the user.
[0241] Input: Scores and explanations sent by the generative AI model.
[0242] How it works: The server generates an HTML result page based on the received score and explanation. This page contains the correctness of the user's answer, the score, and an explanation. Then, it sends this HTML to the user's device.
[0243] Output: The HTML page that is sent to the user's device.
[0244] Step 9:
[0245] The user checks the results.
[0246] Input: Scoring results and explanations sent from the server.
[0247] Action: The user's browser receives and displays the results page, which the user can review to assess their understanding.
[0248] Output: User sees feedback.
[0249] The above are the detailed processing steps of the program in this system. The data processing and calculations performed at each step support the effective operation of the system.
[0250] (Application example 1)
[0251] 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."
[0252] There is currently a lack of systems to effectively evaluate and improve engineers' understanding of control programs for factory robots. In particular, there is a need for an automated test system that can evaluate the understanding of control programs from multiple perspectives. Conventional methods often require manual evaluation, which is time-consuming and labor-intensive, and has problems with fairness and consistency.
[0253] 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.
[0254] In this invention, the server includes: means for inputting source code; means for generating a comprehension test based on the input source code using a generative AI model; means for presenting the generated comprehension test to a user; means for receiving the user's answers to the comprehension test; means for scoring the received answers; means for presenting the scoring results and explanations to the user; means for inputting source code for a factory robot control program and generating a comprehension test for evaluating the source code; and means for providing a user interface for inputting the factory robot control program from a smart device. This enables engineers to efficiently and fairly evaluate and further improve their comprehension of their control programs.
[0255] "Source code" means instructions in text files that make up a program, and are directives written in a programming language to perform specific actions.
[0256] A "comprehension test" is a test that includes various tasks and questions to evaluate how well a user understands the contents of the source code that they have entered.
[0257] A "generative AI model" is an artificial intelligence model trained by a machine learning algorithm that generates text based on a specific prompt.
[0258] A "factory robot" is a program-controlled mechanical device used to automate manufacturing and assembly tasks in a factory.
[0259] A "control program" is software that contains a series of instructions for directing and controlling the movements of a robot.
[0260] A "user interface" is the part of a system that provides the means or methods for a user to interact with the system.
[0261] A "smart device" is a portable electronic device equipped with Internet connectivity and high-performance processing capabilities.
[0262] A "server" is a computer system that receives requests from clients and provides services.
[0263] MODE FOR CARRYING OUT THE INVENTION
[0264] System Overview
[0265] This invention is a system for automatically generating comprehension tests for factory robot control programs to evaluate and improve engineers' technical skills. This system includes a server, a terminal used by users, and a generation AI model, and has the following configuration and functions.
[0266] Inputting and Preprocessing Source Code
[0267] 1. Using the terminal:
[0268] Users use smart devices such as smartphones, smart glasses, head-mounted displays, or robot tablets to input the source code for the factory robot's control program, which is then sent to the server via a web service.
[0269] 2. Preprocessing on the server:
[0270] The server receives the transmitted source code and pre-processes it to remove comments and unnecessary whitespace.
[0271] Generate comprehension tests
[0272] 3. Send from server to generative AI model:
[0273] The preprocessed source code is sent to a generative AI model, which is trained based on machine learning algorithms and generates text using prompt sentences.
[0274] 4. Example prompt:
[0275] Generate a test to assess your understanding of the following robot control program:
[0276] def move_robot(direction, steps):
[0277] if direction == 'forward':
[0278] robot.move_forward(steps)
[0279] elif direction == 'backward':
[0280] robot.move_backward(steps)
[0281] elif direction == 'left':
[0282] robot.turn_left(steps)
[0283] elif direction == 'right':
[0284] robot.turn_right(steps)
[0285] 5. Test generation using generative AI models:
[0286] The generative AI model generates comprehension tests based on the input source code. For example, it extracts important parts of the source code to create fill-in-the-blank questions, or generates questions that intentionally include errors in the code and require corrections.
[0287] Presenting comprehension tests and accepting answers
[0288] 6. Test presentation from server to device:
[0289] The generated comprehension test is sent to the user's terminal via the server. The user answers the displayed test and then sends the answers.
[0290] Receiving and grading answers
[0291] 7. Receiving the answer on the server:
[0292] The user's answers are received by the server, and are then sent back to the generative AI model, where they are judged correct and scored.
[0293] 8. Generative AI model for scoring and commentary generation:
[0294] The generative AI model determines whether the user's answers are correct or incorrect and generates a scoring result that includes detailed feedback and explanations.
[0295] Presentation of scoring results and explanations
[0296] 9. Displaying results from the server to the device:
[0297] The scoring results and explanations are sent to the user's device via the server, where the user can view them to check their level of understanding of the factory robot's control program and further improve their skills.
[0298] As described above, this system makes it possible to evaluate and improve the technical skills of engineers related to factory robot control programs from multiple angles.
[0299] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0300] Step 1:
[0301] A user accesses the web service using a device (smartphone, smart glasses, head-mounted display, or a robot tablet) and enters the source code of the factory robot's control program into the input form. When the user presses the "Submit" button, the source code is sent to the server as an HTTP request.
[0302] Input: Source code for the factory robot control program
[0303] Output: Source code sent to the server as an HTTP request
[0304] Step 2:
[0305] The server extracts the source code from the received HTTP request, preprocesses it to remove comments and unnecessary whitespace, and passes the preprocessed source code on to the next step.
[0306] Input: Submitted source code
[0307] Output: Preprocessed source code
[0308] Step 3:
[0309] The server creates a prompt to send the preprocessed source code to the generative AI model, for example, "Please generate a test to assess the comprehension of the following robot control program:" and adds the source code to the prompt.
[0310] Input: Preprocessed source code
[0311] Output: A prompt to send to the generative AI model
[0312] Step 4:
[0313] The server sends a prompt to the generative AI model and asks it to generate a comprehension test. The generative AI model generates a comprehension test based on the prompt and sends the test back to the server.
[0314] Input: prompt statement
[0315] Output: Comprehension test returned by the generative AI model
[0316] Step 5:
[0317] The server generates the generated comprehension test as an HTML web page and sends it to the user's device. The user can view the comprehension test on the device screen and enter their answers.
[0318] Input: Comprehension test returned by the generative AI model
[0319] Output: HTML assessment
[0320] Step 6:
[0321] The user answers the comprehension test and sends the answers to the server via the web service, which receives the answers.
[0322] Input: User's answer
[0323] Output: The answer sent to the server
[0324] Step 7:
[0325] The server then sends the received answers to the generative AI model, which then scores the answers and generates explanations for them. The generative AI model then scores the answers and generates explanations for them, which are then sent back to the server.
[0326] Input: User's answer
[0327] Output: Scoring and commentary returned by the generative AI model
[0328] Step 8:
[0329] The server generates a web page with the score and explanations in HTML format and sends it to the user's device. The user can check the results and understand their own level of understanding.
[0330] Input: Scoring results and explanations returned by the generative AI model
[0331] Output: HTML format score and explanations
[0332] 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.
[0333] The present invention relates to a system for checking the comprehension level of specific source code, and is characterized by automatically generating comprehension tests using a generative AI model. The system also provides a system that improves the learning experience by combining it with an emotion engine that recognizes the user's emotions. An embodiment of the system is described in detail below.
[0334] System configuration
[0335] This system includes a server, a terminal used by the user, a generative AI model, and an emotion engine. The configuration and function of each element are explained below.
[0336] Inputting and Preprocessing Source Code
[0337] 1. Terminal: The user accesses the web service through a browser, enters source code into the form, and presses the "Submit" button. The entered source code is sent to the server as an HTTP request.
[0338] 2. Server: Receives this HTTP request, extracts the input source code, and performs preprocessing to remove comments and unnecessary whitespace.
[0339] Generate comprehension tests
[0340] 3. Server: Creates an API request to pass the preprocessed source code to the generative AI model and sends the API request to the generative AI model's endpoint.
[0341] 4. Generative AI model: Based on the source code, it generates comprehension tests in the following format:
[0342] Extract important parts of the code and create fill-in-the-blank questions.
[0343] Generate word questions to check your understanding of the code.
[0344] Generate code that contains errors and create a problem that requires you to fix it.
[0345] Automatically generate similar tasks and create problems to solve them.
[0346] 5. Generative AI model: Generates comprehension test data and sends it back to the server.
[0347] Presentation of comprehension tests and emotion recognition
[0348] 6. Server: Receives the generated comprehension test data, generates HTML for displaying it as a web page, and sends this HTML to the user's device.
[0349] 7. Terminal: The user enters answers to the displayed comprehension test. At this time, the emotion engine recognizes the user's emotions from their facial expressions, voice, keystrokes, etc.
[0350] 8. Emotion Engine: Collects and analyzes emotion data, which is then sent to the server in real time.
[0351] Receiving and scoring answers and emotion data
[0352] 9. Server: Receives the user's answer data and emotion data, sends it back to the generative AI model, and requests scoring.
[0353] 10. Generative AI model: Based on the user's answers, it judges whether they are correct or incorrect, and generates a score and explanation. It also adjusts the feedback content and difficulty level based on emotional data.
[0354] Presentation of scoring results and explanations
[0355] 11. Server: Formats the scoring results and explanations received from the generative AI model, as well as adjustments based on emotion data, and generates HTML to present to the user. This HTML is then sent to the user's device.
[0356] 12. Terminal: The user reviews the displayed results and gets feedback based on their understanding and emotions.
[0357] Specific examples
[0358] Example 1: Filling in the gaps in source code and emotion recognition
[0359] User-entered source code:
[0360] def add(a, b):
[0361] return a + b
[0362] Fill-in-the-blank questions generated by generative AI:
[0363] def add(a, b):
[0364] return a ____ b
[0365] User Answer:+
[0366] Emotional Engine Recognition: Recognize when the user is confused and adjust the difficulty accordingly.
[0367] Example 2: Error correction and feedback adjustment
[0368] User-entered source code:
[0369] def multiply(x, y):
[0370] return xy
[0371] Problems containing errors generated by the AI:
[0372] def multiply(x, y):
[0373] return x + y needs to be corrected
[0374] User's answer:
[0375] Emotion engine recognition: Recognizes when a user is confident in their answers and provides positive feedback.
[0376] Long-term learning progress management
[0377] 13. Server: Records the results of the comprehension test and manages the user's learning progress. It also records the user's emotional data and analyzes the long-term learning effect.
[0378] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[0379] The processing flow will be explained below.
[0380] Step 1:
[0381] User: Opens a browser, accesses the web service page, enters source code into the form, and presses the "Submit" button.
[0382] Step 2:
[0383] Terminal: Generates an HTTP request containing the input source code and sends it to the server.
[0384] Step 3:
[0385] Server: Receives the HTTP request and extracts the input source code.
[0386] Step 4:
[0387] Server: Checks the format of the extracted source code and performs preprocessing to remove comments and unnecessary whitespace.
[0388] Step 5:
[0389] Server: Makes API requests to pass the preprocessed source code to the generative AI model.
[0390] Step 6:
[0391] Server: Sends API requests to the endpoint of the generated AI model.
[0392] Step 7:
[0393] Generative AI model: Generates comprehension tests based on preprocessed source code.
[0394] Extract the important parts of the code and create fill-in-the-blank questions.
[0395] Generate word questions to check your understanding of the code.
[0396] Generate code that contains errors and create a problem that requires you to fix it.
[0397] Automatically generate similar tasks and create problems to solve them.
[0398] Step 8:
[0399] Generative AI model: Generates comprehension test data and sends it back to the server.
[0400] Step 9:
[0401] Server: Formats the comprehension test data received from the generative AI model, generates HTML for display as a web page, and sends this HTML to the user's device.
[0402] Step 10:
[0403] Terminal: Display the received HTML in the browser.
[0404] Step 11:
[0405] User: Enters answers to the displayed comprehension test. At this time, the emotion engine recognizes the user's emotions from facial expressions, voice, keystrokes, etc.
[0406] Step 12:
[0407] Emotion engine: Collects emotion data and sends it to the server in real time.
[0408] Step 13:
[0409] User: After answering all questions, press the "Submit" button.
[0410] Step 14:
[0411] Terminal: Generates an HTTP request containing the user's response data and sends it to the server.
[0412] Step 15:
[0413] Server: Receives the user's answer data and emotion data, sends it back to the generative AI model, and requests scoring.
[0414] Step 16:
[0415] Generative AI model: Based on the user's answers, it judges whether they are correct or incorrect, generates a score and explanation, and adjusts the feedback content and difficulty level based on emotional data.
[0416] Step 17:
[0417] Generative AI model: Sends the scoring results and explanations back to the server.
[0418] Step 18:
[0419] Server: Formats the scoring results and explanations received from the generative AI model, generates HTML to present to the user, and sends this HTML to the user's device.
[0420] Step 19:
[0421] Terminal: Display the received HTML in the browser.
[0422] Step 20:
[0423] Users: Review their scores and explanations to understand their own understanding and emotional feedback.
[0424] Step 21:
[0425] Server: Records the results of the comprehension test and manages the user's learning progress. It also records the user's emotional data and analyzes the long-term learning effect.
[0426] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[0427] Example 2
[0428] 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."
[0429] In conventional source code comprehension testing systems, users' comprehension assessments are uniform, making it difficult to provide feedback tailored to individual comprehension levels and emotions. Furthermore, if a user feels confused or stressed by the comprehension test, the system cannot recognize that data and respond immediately. To solve this problem, a learning support system that takes the user's emotions into account is needed.
[0430] 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.
[0431] In this invention, the server includes means for inputting source code, means for generating a comprehension test based on the input source code using a generative AI model, means for presenting the generated comprehension test to the user, means for receiving the user's answers to the comprehension test, means for scoring the received answers, means for presenting the scoring results and explanations to the user, means for recognizing the user's emotions, and means for adjusting the feedback content and the difficulty of the comprehension test based on the recognized emotion data, thereby enabling appropriate feedback and learning support to be provided according to each user's level of comprehension and emotions.
[0432] "Source code" means a textual description of a program, written in a programming language.
[0433] The "means for inputting" refers to an interface that allows a user to use a terminal to send source code to the system.
[0434] A "generative AI model" refers to an algorithm or system that uses artificial intelligence techniques to generate a specific output based on input data.
[0435] A "Comprehension Test" includes a series of questions or problems designed to assess comprehension of source code.
[0436] "Means for presenting to the user" refers to an interface for displaying information such as comprehension tests and scoring results to the user.
[0437] The term "means for receiving answers" refers to an interface that allows the system to receive answers entered by the user to the comprehension test.
[0438] "Scoring mechanism" refers to the algorithm or system used to evaluate a user's responses and generate a score or feedback.
[0439] "Means for presenting explanations" refers to an interface for displaying the results of the comprehension test and related feedback to the user.
[0440] "Means for recognizing emotions" refers to a system for analyzing a user's facial expressions, voice, input actions, etc. to identify the user's emotional state.
[0441] "Emotional data" refers to data that contains information about a user's emotional state.
[0442] "Means to tailor feedback content and test difficulty" refers to algorithms and systems that use emotional data to individually optimize a user's learning experience.
[0443] This system automatically generates comprehension tests based on source code entered by a user and evaluates the user's answers to the tests. It also has a function to recognize the user's emotions and adjust the feedback content and test difficulty accordingly. This system includes a server, a terminal used by the user, a generative AI model, and an emotion engine.
[0444] System configuration
[0445] The system includes the following components:
[0446] Server: Receives and preprocesses source code, generates comprehension tests, receives and scores answers, and processes emotion data.
[0447] Terminal: Provides an interface for users to enter source code and answer comprehension tests.
[0448] Generative AI model: Generates comprehension tests based on input source code.
[0449] Emotion engine: Recognizes user emotions and generates emotion data.
[0450] Inputting and Preprocessing Source Code
[0451] A user accesses a web service through a browser on a terminal, enters source code into a form, and presses the "Submit" button. The entered source code is sent to the server as an HTTP request. The server receives the HTTP request and extracts the entered source code. The server then performs preprocessing to remove comments and unnecessary whitespace.
[0452] Generate comprehension tests
[0453] The preprocessed source code is passed from the server to a generative AI model, which generates comprehension tests such as fill-in-the-blank questions, word problems, and error correction questions based on the received source code. The generated comprehension tests are then sent back to the server.
[0454] Present a comprehension test and receive answers
[0455] The generated comprehension test is generated as HTML by the server and sent to the user's device. The user enters their answers into the displayed comprehension test and submits it. At this time, the emotion engine recognizes the user's emotions from their facial expressions, voice, keystrokes, etc., and generates emotion data. The generated emotion data is sent to the server.
[0456] Processing and scoring of answers and sentiment data
[0457] The server receives the user's answer data and emotion data, sends them to the generative AI model, and requests scoring. The generative AI model determines whether the user's answer is correct or incorrect, generates a score and explanation, and adjusts the feedback content and test difficulty based on the emotion data.
[0458] Presentation of scoring results and explanations
[0459] The server formats the scores, explanations, and adjustments, generating an HTML file that is then sent to the user's device, where the user can view the results.
[0460] Specific examples
[0461] Example 1: Filling in the gaps in source code and emotion recognition
[0462] User-entered source code:
[0463] def add(a, b):
[0464] return a + b
[0465] Fill-in-the-blank questions generated by generative AI:
[0466] def add(a, b):
[0467] return a ____ b
[0468] User Answer:+
[0469] Emotional Engine Recognition: Recognize when the user is confused and adjust the difficulty accordingly.
[0470] Example 2: Error correction and feedback adjustment
[0471] User-entered source code:
[0472] def multiply(x, y):
[0473] return xy
[0474] Problems containing errors generated by the AI:
[0475] def multiply(x, y):
[0476] return x + y needs to be corrected
[0477] User's answer:
[0478] Emotion engine recognition: Recognizes when a user is confident in their answers and provides positive feedback.
[0479] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[0480] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0481] Step 1:
[0482] The user enters and submits the source code.
[0483] Specific operation: A user accesses a web service through a web browser, enters source code into the input form on the screen, and then clicks the "Submit" button.
[0484] Input: Source code entered by the user into an input form on the device.
[0485] Output: The source code entered as an HTTP request is sent to the server.
[0486] Step 2:
[0487] The server receives the source code and performs preprocessing.
[0488] What it does: The server receives an HTTP request, extracts the source code from the request, and then pre-processes it to remove comments and unnecessary whitespace.
[0489] Input: The source code in the HTTP request sent by the user.
[0490] Output: Preprocessed source code.
[0491] Step 3:
[0492] The server sends a request to the generative AI model
[0493] Specific operation: The server prepares API request data to pass the preprocessed source code to the generative AI model, and sends the API request to the generative AI model's endpoint.
[0494] Input: Preprocessed source code.
[0495] Output: API request data to send to the generative AI model.
[0496] Step 4:
[0497] A generative AI model generates comprehension tests
[0498] How it works: The generative AI model generates comprehension tests based on the received source code, including fill-in-the-blank, essay questions, and error correction questions.
[0499] Input: Preprocessed source code sent by the server.
[0500] Output: The generated comprehension test data.
[0501] Step 5:
[0502] The server presents the comprehension test to the user.
[0503] Specific operation: The server receives the generated comprehension test data, generates HTML for displaying the comprehension test, and sends it to the user's device.
[0504] Input: Comprehension test data returned from the generative AI model.
[0505] Output: The HTML of the assessment that will be displayed on the user's device.
[0506] Step 6:
[0507] The user completes the assessment
[0508] Specific operation: The user enters answers to the comprehension test displayed on the terminal and submits it.
[0509] Input: The answers the user entered into the quiz.
[0510] Output: User response data sent to the server.
[0511] Step 7:
[0512] Emotion engine recognizes user emotions
[0513] Specific operation: The emotion engine analyzes the user's facial expressions, voice, and keystroke patterns to identify the user's emotional state, then generates emotion data and sends it to the server.
[0514] Input: User behavior data (facial expressions, voice, keystroke patterns).
[0515] Output: User emotion data.
[0516] Step 8:
[0517] The server sends the answer data and emotion data to the generative AI model.
[0518] Specific operation: The server sends the user's answer data and emotion data to the generative AI model and requests scoring.
[0519] Input: User response data and sentiment data.
[0520] Output: API data for the scoring request.
[0521] Step 9:
[0522] Generative AI model scores
[0523] How it works: The generative AI model evaluates the user's answers, determines whether they are correct, and adjusts the feedback and difficulty of the questions based on emotional data.
[0524] Input: User answer data and emotion data.
[0525] Output: Marking results and tailored feedback.
[0526] Step 10:
[0527] The server presents the score and commentary
[0528] Specific operation: The server formats the scoring results and feedback received from the generative AI model, generates HTML to present to the user, and sends it to the user's device.
[0529] Input: Scoring and feedback from the generative AI model.
[0530] Output: HTML of the score and feedback displayed on the user's device.
[0531] (Application example 2)
[0532] 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."
[0533] Conventional source code comprehension testing systems have the problem of not being able to fully grasp the user's motivation to learn or their level of understanding. Furthermore, they do not provide feedback or adjust the difficulty level based on the user's emotions, which can lead to a decrease in learning effectiveness. Therefore, there is a need for a system that recognizes the user's emotions and optimizes the learning experience based on them.
[0534] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0535] In this invention, the server includes means for inputting source code, means for generating a comprehension test based on the input source code using a generative AI model, means for presenting the generated comprehension test to the user, means for receiving the user's answers to the comprehension test, means for scoring the received answers, means for presenting the scoring results and explanations to the user, means for collecting data using an emotion engine that recognizes the user's emotions, and means for adjusting the feedback content and the difficulty of the comprehension test based on the collected emotion data, thereby making it possible to provide feedback according to the user's emotions and optimal learning conditions.
[0536] "Source code" is a set of textual instructions written to make up a program.
[0537] A "generative AI model" is an algorithm or system that uses artificial intelligence to automatically generate source code and comprehension tests.
[0538] The "comprehension test" is a test that generates questions based on the source code entered by the user and evaluates the user's level of comprehension.
[0539] An "emotion engine" is a system that recognizes emotions from a user's facial expressions, voice, actions, etc. and collects them as data.
[0540] "Feedback" refers to evaluations and advice provided based on the user's test answers and emotional data.
[0541] "Difficulty adjustment" is a function that changes the difficulty of the questions displayed based on the user's learning situation and emotional data.
[0542] A "server" is a computer system that receives and processes user requests over a network.
[0543] The "data collection means" refers to a function or device for collecting data on the user's emotions through the emotion engine.
[0544] "Scoring" is the process of evaluating and scoring user-submitted test answers.
[0545] This invention describes the configuration and processing method of a system that allows a user to input source code and evaluate its level of understanding. The system includes a server, a terminal, a generative AI model, and an emotion engine.
[0546] System configuration
[0547] Inputting and Preprocessing Source Code
[0548] Device:
[0549] A user accesses the web service through a browser on their device, enters source code into the form, and presses the "Submit" button. This entered source code is sent to the server as an HTTP request.
[0550] server:
[0551] The server receives this HTTP request, extracts the input source code, and performs preprocessing to remove comments and unnecessary whitespace.
[0552] Generate comprehension tests
[0553] server:
[0554] Create an API request to pass the preprocessed source code to the generative AI model and send it to the generative AI model's endpoint.
[0555] Generative AI models:
[0556] Generates comprehension tests based on source code, specifically in the following formats:
[0557] Extract important parts of the code and create fill-in-the-blank questions.
[0558] Generate word questions to check your understanding of the code.
[0559] Generate code that contains errors and create a problem that requires you to fix it.
[0560] Automatically generate similar tasks and create problems to solve them.
[0561] The generated comprehension test is sent back to the server.
[0562] Presentation of comprehension tests and emotion recognition
[0563] server:
[0564] The generated comprehension test data is received, and HTML is generated to display it as a web page. This HTML is then sent to the user's device.
[0565] Device:
[0566] The user enters their answers into the displayed comprehension test. At this time, the emotion engine recognizes the user's emotions from their facial expressions, voice, keystrokes, etc. The emotion data is sent to the server in real time.
[0567] Emotion Engine:
[0568] The emotion engine collects and analyzes emotion data.
[0569] Receiving and scoring answers and emotion data
[0570] server:
[0571] The server receives the user's answer data and emotion data, and sends them again to the generative AI model to request scoring.
[0572] Generative AI models:
[0573] The generative AI model determines whether the user's answers are correct or incorrect, generates a score and explanation, and adjusts the feedback content and difficulty level based on emotional data.
[0574] Presentation of scoring results and explanations
[0575] server:
[0576] The system formats the scoring results and explanations received from the generative AI model, as well as adjustments based on emotion data, and generates HTML to present to the user. This HTML is then sent to the user's device.
[0577] Device:
[0578] The user reviews the displayed results and gets feedback based on their understanding and emotions.
[0579] Specific examples
[0580] Example 1: Filling in the gaps in source code and emotion recognition
[0581] User-entered source code:
[0582] def add(a, b):
[0583] return a + b
[0584] Fill-in-the-blank questions generated by generative AI:
[0585] def add(a, b):
[0586] return a ____ b
[0587] User Answer:+
[0588] Emotional Engine Recognition: Recognize when the user is confused and adjust the difficulty accordingly.
[0589] Example 2: Error correction and feedback adjustment
[0590] User-entered source code:
[0591] def multiply(x, y):
[0592] return xy
[0593] Problems containing errors generated by the AI:
[0594] def multiply(x, y):
[0595] return x + y needs to be corrected
[0596] User's answer:
[0597] Emotion engine recognition: Recognizes when a user is confident in their answers and provides positive feedback.
[0598] Prompt Sentence Examples
[0599] Example prompts for generating comprehension tests:
[0600] Generate a comprehension test for the following code: def subtract(a, b): return a - b
[0601] Sample grading and feedback prompts:
[0602] Grade the following answer: a - b based on the emotion data: {'confused': False, 'engaged': True}
[0603] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[0604] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0605] Step 1:
[0606] A user accesses a web service through a browser, enters source code, and presses the "Submit" button. The entered source code is sent to the server as an HTTP request. The input here is the source code entered by the user, and the output is the HTTP request received by the server.
[0607] Step 2:
[0608] The server extracts source code from the received HTTP request and performs preprocessing to remove comments and unnecessary whitespace. This process transforms the source code into a preprocessed format. The input is the source code extracted from the HTTP request, and the output is the preprocessed source code.
[0609] Step 3:
[0610] Based on the preprocessed source code, the server creates an API request to the generative AI model. The server sends the API request to the endpoint of the generative AI model. The input is the preprocessed source code, and the output is the API request to the generative AI model.
[0611] Step 4:
[0612] The generative AI model automatically generates comprehension tests based on the input source code. The generated comprehension tests include fill-in-the-blank questions, essay questions, and error correction questions. The input is an API request from the server, and the output is the generated comprehension test.
[0613] Step 5:
[0614] The server receives the comprehension test data returned from the generative AI model and converts it into HTML for display as a web page. The input is the comprehension test data from the generative AI model, and the output is HTML for presentation to the user.
[0615] Step 6:
[0616] The user inputs answers to the generated comprehension test. While answering, the emotion engine recognizes the user's facial expressions and voice using the device's camera and microphone. The input here is the user's answer and emotion data, and the output is emotion data analyzed by the emotion engine.
[0617] Step 7:
[0618] The emotion engine collects user emotion data in real time and sends it to the server. The input is the user emotion data, and the output is the analyzed emotion data sent to the server.
[0619] Step 8:
[0620] The server receives the user's response data and emotion data and requests that they be sent to the generative AI model again for scoring. The input is the user's response data and emotion data, and the output is a scoring request to the generative AI model.
[0621] Step 9:
[0622] The generative AI model determines whether the user's answer is correct or incorrect, and generates a score and explanation. It also adjusts the feedback content and the difficulty of the comprehension test based on emotional data. The input is a scoring request from the server, and the output is the score, explanation, and adjusted feedback.
[0623] Step 10:
[0624] The server formats the scoring results and explanations received from the generative AI model, as well as adjustments based on emotion data, and generates HTML to present to the user. The input is the scoring results and explanations from the generative AI model, and the adjustments, and the output is HTML to present to the user.
[0625] Step 11:
[0626] The user sees the results displayed as HTML and gets feedback based on their understanding and feelings. The input is the HTML output from the server, and the output is the user's understanding and feedback.
[0627] 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.
[0628] 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.
[0629] 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.
[0630] [Second embodiment]
[0631] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0632] 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.
[0633] 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).
[0634] 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.
[0635] 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.
[0636] 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).
[0637] 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.
[0638] 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.
[0639] 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.
[0640] 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.
[0641] 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.
[0642] 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."
[0643] The present invention relates to a system for checking the comprehension level of specific source code, and is characterized by automatically generating comprehension tests using a generative AI model. An embodiment of this system is described in detail below.
[0644] System configuration
[0645] This system includes a server, a terminal used by the user, and a generative AI model. The configuration and function of each element are explained below.
[0646] Inputting and Preprocessing Source Code
[0647] 1. Terminal: The user accesses the web service through a browser and enters source code into the form. When the user presses the "Submit" button, an HTTP request is sent to the server.
[0648] 2. Server: Receives this HTTP request, extracts the input source code, and performs preprocessing to remove comments and unnecessary whitespace.
[0649] Generate comprehension tests
[0650] 3. Server: Sends the preprocessed source code to the generative AI model, which generates a comprehension test in the following format:
[0651] Extract important parts of the source code and create fill-in-the-blank questions.
[0652] Generates written questions to check whether you understand the contents of the source code.
[0653] Part of the source code is intentionally made incorrect, and a problem is generated that requires the user to correct the error.
[0654] Generate another similar problem based on the source code and create a problem to solve that problem.
[0655] 4. Generative AI model: Generates the comprehension test and sends the data back to the server.
[0656] Presenting a comprehension test
[0657] 5. Server: Receives the generated comprehension test, generates HTML for displaying it as a web page, and sends this HTML to the user's device.
[0658] 6. Terminal: The user fills in the displayed comprehension test and submits the answers.
[0659] Receiving and grading answers
[0660] 7. Server: Receives the user's answers and sends them back to the generative AI model for scoring.
[0661] 8. Generative AI model: Based on the user's answers, it determines whether they are correct or incorrect and generates a score and explanation.
[0662] Presentation of scoring results and explanations
[0663] 9. Server: Receives the score and explanations, generates HTML for display as a web page, and sends this HTML to the user's device.
[0664] 10. Terminal: The user checks the displayed results and assesses their understanding.
[0665] Specific examples
[0666] Example 1: Fill in the gaps for important parts of the source code
[0667] User-entered source code:
[0668] def add(a, b):
[0669] return a + b
[0670] Fill-in-the-blank questions generated by generative AI:
[0671] def add(a, b):
[0672] return a ____ b
[0673] User Answer: +
[0674] Example 2: Error correction questions
[0675] User-entered source code:
[0676] def multiply(x, y):
[0677] return xy
[0678] Problems containing errors generated by the AI:
[0679] def multiply(x, y):
[0680] return x + y needs to be corrected
[0681] User's answer:
[0682] Example 3: A problem that generates and solves a similar problem
[0683] User-entered source code:
[0684] def subtract(a, b):
[0685] return a - b
[0686] Similar problem generated by generative AI (division problem):
[0687] def divide(a, b):
[0688] return a / b User demonstrates understanding of division to answer
[0689] As described above, this system allows learners to evaluate their own understanding of source code from multiple angles, and aims to further improve their skills.
[0690] The processing flow will be explained below.
[0691] Step 1:
[0692] User: Opens a browser, accesses the web service page, enters source code into the form, and presses the "Submit" button.
[0693] Step 2:
[0694] Terminal: Generates an HTTP request containing the input source code and sends it to the server.
[0695] Step 3:
[0696] Server: Receives the HTTP request and extracts the input source code.
[0697] Step 4:
[0698] Server: Checks the format of the extracted source code and performs preprocessing to remove comments and unnecessary whitespace.
[0699] Step 5:
[0700] Server: Makes API requests to pass the preprocessed source code to the generative AI model.
[0701] Step 6:
[0702] Server: Sends API requests to the endpoint of the generated AI model.
[0703] Step 7:
[0704] Generative AI model: Generates comprehension tests based on preprocessed source code.
[0705] Extract the important parts of the code and create fill-in-the-blank questions.
[0706] Generates written questions that test whether you understand the code content.
[0707] Generate code that contains errors and create a problem that requires you to fix it.
[0708] Automatically generate similar tasks and create problems to solve them.
[0709] Step 8:
[0710] Generative AI model: Generates comprehension test data and sends it back to the server.
[0711] Step 9:
[0712] Server: Formats the comprehension test data received from the generative AI model and generates HTML for display as a web page.
[0713] Step 10:
[0714] Server: Sends the generated HTML to the terminal as an HTTP response.
[0715] Step 11:
[0716] Terminal: Display the received HTML in the browser.
[0717] Step 12:
[0718] User: Enter your answers into the assessment provided.
[0719] Step 13:
[0720] User: After answering all questions, press the "Submit" button.
[0721] Step 14:
[0722] Terminal: Generates an HTTP request containing the user's response data and sends it to the server.
[0723] Step 15:
[0724] Server: Receives the user's answer data and sends it back to the generative AI model for scoring.
[0725] Step 16:
[0726] Generative AI model: Based on the user's answers, it determines whether they are correct or incorrect and generates a score and explanation.
[0727] Step 17:
[0728] Generative AI model: Sends the scoring results and explanations back to the server.
[0729] Step 18:
[0730] Server: Formats the scoring results and explanations received from the generative AI model and generates HTML to present to the user.
[0731] Step 19:
[0732] Server: Sends the generated HTML to the terminal as an HTTP response.
[0733] Step 20:
[0734] Terminal: Display the received HTML in the browser.
[0735] Step 21:
[0736] Users: Check the marks and explanations to understand their own understanding.
[0737] Example 1
[0738] 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."
[0739] Current source code learning support systems lack a means for users to evaluate their own understanding of source code from multiple angles. Manual question creation and grading is time-consuming, making it difficult to perform rapid evaluations. This makes it difficult for users to achieve effective learning and provides feedback tailored to their individual level of understanding.
[0740] 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.
[0741] In this invention, the server includes means for a user to input source code, means for receiving the input source code and performing preprocessing, means for generating a prompt sentence based on the preprocessed source code and sending it to the generative AI model, means for generating a comprehension test using the generative AI model, means for presenting the generated comprehension test to the user's terminal, means for receiving the user's answers to the comprehension test, means for again sending the received answers to the generative AI model for scoring, and means for generating and presenting the scoring results and explanations to the user. This allows the user to quickly and automatically evaluate their level of comprehension of the source code and receive individual feedback.
[0742] A "user" is a person who uses the system to test their understanding of the source code.
[0743] The "means of input" is the interface through which the user provides source code to the system, typically a form in a web browser.
[0744] "Preprocessing means" is a process of removing unnecessary comments and whitespace from the received source code and formatting it into a form that is easy to process.
[0745] A "prompt" is an instruction or material provided to a generative AI model to generate a comprehension test.
[0746] A "generative AI model" is a type of artificial intelligence that automatically generates comprehension tests based on source code entered by the user.
[0747] A "comprehension test" is a set of questions or problems that are based on the source code entered by the user and are used to assess whether the user understands its contents and operation.
[0748] The "means of presentation" refers to the mechanism for displaying the generated comprehension test and the scoring results to the user, and is usually a web page in HTML format.
[0749] The "means for receiving answers" is the process by which the server receives the answers entered by the user to the comprehension test.
[0750] "Means of scoring" refers to the process of using a generative AI model to evaluate the received user answers and determine whether they are correct or incorrect.
[0751] The "scoring results and explanations" are the evaluation results of the user's answers and explanations based on those results, and are feedback to support the user's learning.
[0752] The present invention relates to a system for checking the comprehension level of a specific source code, and is characterized by automatically generating comprehension tests using a generative AI model. The following describes in detail an embodiment of the present invention.
[0753] System configuration
[0754] This system consists of three main components: a server, a user's device, and a generative AI model. The server receives source code, preprocesses it, generates prompts, presents comprehension tests, and displays the scoring results. The user's device inputs source code, receives comprehension tests, and sends answers. The generative AI model is responsible for generating comprehension tests based on the provided prompts.
[0755] Inputting and Preprocessing Source Code
[0756] The user accesses the specified URL using a web browser and enters the source code into the form. After entering the information, the user clicks the "Submit" button, and the source code is sent to the server as an HTTP request. The server then performs preprocessing to remove unnecessary comments and spaces from the received source code. Specifically, it removes unnecessary parts using Python's regular expression library (re) or similar.
[0757] Generate comprehension tests
[0758] The server generates a prompt based on the preprocessed source code, which includes a brief description of the source code and details of the test questions to be generated. The generated prompt is then sent to a generative AI model to generate a comprehension test.
[0759] Example prompt sentence:
[0760] Please create a comprehension test based on the source code below.
[0761] def add(a, b):
[0762] return a + b
[0763] Based on the prompt, the generative AI model generates a comprehension test of the following form:
[0764] Extract important parts of the source code and create fill-in-the-blank questions.
[0765] Generates written questions that ask about the contents of source code.
[0766] Generate source code containing errors and create problems that require the user to fix them.
[0767] Generate similar tasks and create problems to solve those tasks.
[0768] Presenting comprehension tests and receiving answers
[0769] The server receives the comprehension test and generates an HTML page to be presented to the user's device. The user checks the comprehension test on the device, enters their answers, and submits them. The answers are then sent back to the server as an HTTP request.
[0770] Grading answers
[0771] The server receives the user's answers and sends them to the generative AI model for scoring. The generative AI model determines whether the answers are correct and generates a score and explanation. The server receives this and again generates an HTML result display page and presents it to the user.
[0772] Specific examples
[0773] Example 1: Fill in the gaps for important parts of the source code
[0774] User-entered source code:
[0775] def add(a, b):
[0776] return a + b
[0777] Fill-in-the-blank questions generated by generative AI:
[0778] def add(a, b):
[0779] return a ____ b
[0780] User Answer: +
[0781] Example 2: Error correction questions
[0782] User-entered source code:
[0783] def multiply(x, y):
[0784] return xy
[0785] Problems containing errors generated by the AI:
[0786] def multiply(x, y):
[0787] return x + y needs to be corrected
[0788] User's answer:
[0789] Example 3: A problem that generates and solves a similar problem
[0790] User-entered source code:
[0791] def subtract(a, b):
[0792] return a - b
[0793] Similar problem generated by generative AI (division problem):
[0794] def divide(a, b):
[0795] return a / b User demonstrates understanding of division to answer
[0796] In this way, this system allows users to quickly evaluate their understanding of source code and achieve effective learning by receiving individual feedback.
[0797] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0798] Program processing steps and their specific operations
[0799] Step 1:
[0800] The user enters and submits the source code.
[0801] Input: The user enters source code into a form on a web browser and clicks the "Submit" button.
[0802] How it works: The source code is sent to the server as an HTTP request.
[0803] Output: Source code is sent to the server and received as request data.
[0804] Step 2:
[0805] The server receives the source code and performs preprocessing.
[0806] Input: The HTTP request sent by the user.
[0807] How it works: The server extracts the source code from the request body, then uses Python's regular expressions library (re) to pre-process the source code, removing unnecessary comments and extra whitespace.
[0808] Output: Preprocessed source code.
[0809] Step 3:
[0810] The server generates a prompt sentence and sends it to the generative AI model.
[0811] Input: Preprocessed source code.
[0812] How it works: The server generates a prompt based on the preprocessed source code, then sends this prompt to the generative AI model, which includes a brief description of the source code and details of the test questions to be generated.
[0813] Example prompt sentence:
[0814] Please create a comprehension test based on the source code below.
[0815] def add(a, b):
[0816] return a + b
[0817] Output: The prompt sent to the generative AI model.
[0818] Step 4:
[0819] A generative AI model generates comprehension tests.
[0820] Input: The prompt text sent by the server.
[0821] How it works: Based on the prompt, the generative AI model generates a comprehension test that includes questions like:
[0822] Extract important parts of the source code and create fill-in-the-blank questions.
[0823] Generate content-based written questions.
[0824] Create problems to generate similar tasks and have them solved.
[0825] Output: The generated comprehension test.
[0826] Step 5:
[0827] The server presents the comprehension test to the user.
[0828] Input: Comprehension test returned by the generative AI model.
[0829] How it works: The server receives the comprehension test, generates an HTML web page containing the generated test questions and answer fields, and then sends this HTML to the user's device.
[0830] Output: The HTML page that is sent to the user's device.
[0831] Step 6:
[0832] The user answers the test and submits it.
[0833] Input: The comprehension test sent from the server.
[0834] How it works: The user reviews the test on their device, enters their answers, and then clicks the "Submit" button to send their answers to the server.
[0835] Output: The answer sent to the server.
[0836] Step 7:
[0837] The server receives the user's answers and sends them to the generative AI model for scoring.
[0838] Input: The answer submitted by the user.
[0839] How it works: The server receives the user's answer and sends it to the generative AI model for scoring. The generative AI model then determines whether the user's answer is correct or incorrect and generates a score and explanation.
[0840] Output: Data including the score and explanation.
[0841] Step 8:
[0842] The server presents the score and commentary to the user.
[0843] Input: Scores and explanations sent by the generative AI model.
[0844] How it works: The server generates an HTML result page based on the received score and explanation. This page contains the correctness of the user's answer, the score, and an explanation. Then, it sends this HTML to the user's device.
[0845] Output: The HTML page that is sent to the user's device.
[0846] Step 9:
[0847] The user checks the results.
[0848] Input: Scoring results and explanations sent from the server.
[0849] Action: The user's browser receives and displays the results page, which the user can review to assess their understanding.
[0850] Output: User sees feedback.
[0851] The above are the detailed processing steps of the program in this system. The data processing and calculations performed at each step support the effective operation of the system.
[0852] (Application example 1)
[0853] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0854] There is currently a lack of systems to effectively evaluate and improve engineers' understanding of control programs for factory robots. In particular, there is a need for an automated test system that can evaluate the understanding of control programs from multiple perspectives. Conventional methods often require manual evaluation, which is time-consuming and labor-intensive, and has problems with fairness and consistency.
[0855] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0856] In this invention, the server includes: means for inputting source code; means for generating a comprehension test based on the input source code using a generative AI model; means for presenting the generated comprehension test to a user; means for receiving the user's answers to the comprehension test; means for scoring the received answers; means for presenting the scoring results and explanations to the user; means for inputting source code for a factory robot control program and generating a comprehension test for evaluating the source code; and means for providing a user interface for inputting the factory robot control program from a smart device. This enables engineers to efficiently and fairly evaluate and further improve their comprehension of their control programs.
[0857] "Source code" means instructions in text files that make up a program, and are directives written in a programming language to perform specific actions.
[0858] A "comprehension test" is a test that includes various tasks and questions to evaluate how well a user understands the contents of the source code that they have entered.
[0859] A "generative AI model" is an artificial intelligence model trained by a machine learning algorithm that generates text based on a specific prompt.
[0860] A "factory robot" is a program-controlled mechanical device used to automate manufacturing and assembly tasks in a factory.
[0861] A "control program" is software that contains a series of instructions for directing and controlling the movements of a robot.
[0862] A "user interface" is the part of a system that provides the means or methods for a user to interact with the system.
[0863] A "smart device" is a portable electronic device equipped with Internet connectivity and high-performance processing capabilities.
[0864] A "server" is a computer system that receives requests from clients and provides services.
[0865] MODE FOR CARRYING OUT THE INVENTION
[0866] System Overview
[0867] This invention is a system for automatically generating comprehension tests for factory robot control programs to evaluate and improve engineers' technical skills. This system includes a server, a terminal used by users, and a generation AI model, and has the following configuration and functions.
[0868] Inputting and Preprocessing Source Code
[0869] 1. Using the terminal:
[0870] Users use smart devices such as smartphones, smart glasses, head-mounted displays, or robot tablets to input the source code for the factory robot's control program, which is then sent to the server via a web service.
[0871] 2. Preprocessing on the server:
[0872] The server receives the transmitted source code and pre-processes it to remove comments and unnecessary whitespace.
[0873] Generate comprehension tests
[0874] 3. Send from server to generative AI model:
[0875] The preprocessed source code is sent to a generative AI model, which is trained based on machine learning algorithms and generates text using prompt sentences.
[0876] 4. Example prompt:
[0877] Generate a test to assess your understanding of the following robot control program:
[0878] def move_robot(direction, steps):
[0879] if direction == 'forward':
[0880] robot.move_forward(steps)
[0881] elif direction == 'backward':
[0882] robot.move_backward(steps)
[0883] elif direction == 'left':
[0884] robot.turn_left(steps)
[0885] elif direction == 'right':
[0886] robot.turn_right(steps)
[0887] 5. Test generation using generative AI models:
[0888] The generative AI model generates comprehension tests based on the input source code. For example, it extracts important parts of the source code to create fill-in-the-blank questions, or generates questions that intentionally include errors in the code and require corrections.
[0889] Presenting comprehension tests and accepting answers
[0890] 6. Test presentation from server to device:
[0891] The generated comprehension test is sent to the user's terminal via the server. The user answers the displayed test and then sends the answers.
[0892] Receiving and grading answers
[0893] 7. Receiving the answer on the server:
[0894] The user's answers are received by the server, and are then sent back to the generative AI model, where they are judged correct and scored.
[0895] 8. Generative AI model for scoring and commentary generation:
[0896] The generative AI model determines whether the user's answers are correct or incorrect and generates a scoring result that includes detailed feedback and explanations.
[0897] Presentation of scoring results and explanations
[0898] 9. Displaying results from the server to the device:
[0899] The scoring results and explanations are sent to the user's device via the server, where the user can view them to check their level of understanding of the factory robot's control program and further improve their skills.
[0900] As described above, this system makes it possible to evaluate and improve the technical skills of engineers related to factory robot control programs from multiple angles.
[0901] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0902] Step 1:
[0903] A user accesses the web service using a device (smartphone, smart glasses, head-mounted display, or a robot tablet) and enters the source code of the factory robot's control program into the input form. When the user presses the "Submit" button, the source code is sent to the server as an HTTP request.
[0904] Input: Source code for the factory robot control program
[0905] Output: Source code sent to the server as an HTTP request
[0906] Step 2:
[0907] The server extracts the source code from the received HTTP request, preprocesses it to remove comments and unnecessary whitespace, and passes the preprocessed source code on to the next step.
[0908] Input: Submitted source code
[0909] Output: Preprocessed source code
[0910] Step 3:
[0911] The server creates a prompt to send the preprocessed source code to the generative AI model, for example, "Please generate a test to assess the comprehension of the following robot control program:" and adds the source code to the prompt.
[0912] Input: Preprocessed source code
[0913] Output: A prompt to send to the generative AI model
[0914] Step 4:
[0915] The server sends a prompt to the generative AI model and asks it to generate a comprehension test. The generative AI model generates a comprehension test based on the prompt and sends the test back to the server.
[0916] Input: prompt statement
[0917] Output: Comprehension test returned by the generative AI model
[0918] Step 5:
[0919] The server generates the generated comprehension test as an HTML web page and sends it to the user's device. The user can view the comprehension test on the device screen and enter their answers.
[0920] Input: Comprehension test returned by the generative AI model
[0921] Output: HTML assessment
[0922] Step 6:
[0923] The user answers the comprehension test and sends the answers to the server via the web service, which receives the answers.
[0924] Input: User's answer
[0925] Output: The answer sent to the server
[0926] Step 7:
[0927] The server then sends the received answers to the generative AI model, which then scores the answers and generates explanations for them. The generative AI model then scores the answers and generates explanations for them, which are then sent back to the server.
[0928] Input: User's answer
[0929] Output: Scoring and commentary returned by the generative AI model
[0930] Step 8:
[0931] The server generates a web page with the score and explanations in HTML format and sends it to the user's device. The user can check the results and understand their own level of understanding.
[0932] Input: Scoring results and explanations returned by the generative AI model
[0933] Output: HTML format score and explanations
[0934] 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.
[0935] The present invention relates to a system for checking the comprehension level of specific source code, and is characterized by automatically generating comprehension tests using a generative AI model. The system also provides a system that improves the learning experience by combining it with an emotion engine that recognizes the user's emotions. An embodiment of the system is described in detail below.
[0936] System configuration
[0937] This system includes a server, a terminal used by the user, a generative AI model, and an emotion engine. The configuration and function of each element are explained below.
[0938] Inputting and Preprocessing Source Code
[0939] 1. Terminal: The user accesses the web service through a browser, enters source code into the form, and presses the "Submit" button. The entered source code is sent to the server as an HTTP request.
[0940] 2. Server: Receives this HTTP request, extracts the input source code, and performs preprocessing to remove comments and unnecessary whitespace.
[0941] Generate comprehension tests
[0942] 3. Server: Creates an API request to pass the preprocessed source code to the generative AI model and sends the API request to the generative AI model's endpoint.
[0943] 4. Generative AI model: Based on the source code, it generates comprehension tests in the following format:
[0944] Extract important parts of the code and create fill-in-the-blank questions.
[0945] Generate word questions to check your understanding of the code.
[0946] Generate code that contains errors and create a problem that requires you to fix it.
[0947] Automatically generate similar tasks and create problems to solve them.
[0948] 5. Generative AI model: Generates comprehension test data and sends it back to the server.
[0949] Presentation of comprehension tests and emotion recognition
[0950] 6. Server: Receives the generated comprehension test data, generates HTML for displaying it as a web page, and sends this HTML to the user's device.
[0951] 7. Terminal: The user enters answers to the displayed comprehension test. At this time, the emotion engine recognizes the user's emotions from their facial expressions, voice, keystrokes, etc.
[0952] 8. Emotion Engine: Collects and analyzes emotion data, which is then sent to the server in real time.
[0953] Receiving and scoring answers and emotion data
[0954] 9. Server: Receives the user's answer data and emotion data, sends it back to the generative AI model, and requests scoring.
[0955] 10. Generative AI model: Based on the user's answers, it judges whether they are correct or incorrect, and generates a score and explanation. It also adjusts the feedback content and difficulty level based on emotional data.
[0956] Presentation of scoring results and explanations
[0957] 11. Server: Formats the scoring results and explanations received from the generative AI model, as well as adjustments based on emotion data, and generates HTML to present to the user. This HTML is then sent to the user's device.
[0958] 12. Terminal: The user reviews the displayed results and gets feedback based on their understanding and emotions.
[0959] Specific examples
[0960] Example 1: Filling in the gaps in source code and emotion recognition
[0961] User-entered source code:
[0962] def add(a, b):
[0963] return a + b
[0964] Fill-in-the-blank questions generated by generative AI:
[0965] def add(a, b):
[0966] return a ____ b
[0967] User Answer:+
[0968] Emotional Engine Recognition: Recognize when the user is confused and adjust the difficulty accordingly.
[0969] Example 2: Error correction and feedback adjustment
[0970] User-entered source code:
[0971] def multiply(x, y):
[0972] return xy
[0973] Problems containing errors generated by the AI:
[0974] def multiply(x, y):
[0975] return x + y needs to be corrected
[0976] User's answer:
[0977] Emotion engine recognition: Recognizes when a user is confident in their answers and provides positive feedback.
[0978] Long-term learning progress management
[0979] 13. Server: Records the results of the comprehension test and manages the user's learning progress. It also records the user's emotional data and analyzes the long-term learning effect.
[0980] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[0981] The processing flow will be explained below.
[0982] Step 1:
[0983] User: Opens a browser, accesses the web service page, enters source code into the form, and presses the "Submit" button.
[0984] Step 2:
[0985] Terminal: Generates an HTTP request containing the input source code and sends it to the server.
[0986] Step 3:
[0987] Server: Receives the HTTP request and extracts the input source code.
[0988] Step 4:
[0989] Server: Checks the format of the extracted source code and performs preprocessing to remove comments and unnecessary whitespace.
[0990] Step 5:
[0991] Server: Makes API requests to pass the preprocessed source code to the generative AI model.
[0992] Step 6:
[0993] Server: Sends API requests to the endpoint of the generated AI model.
[0994] Step 7:
[0995] Generative AI model: Generates comprehension tests based on preprocessed source code.
[0996] Extract the important parts of the code and create fill-in-the-blank questions.
[0997] Generate word questions to check your understanding of the code.
[0998] Generate code that contains errors and create a problem that requires you to fix it.
[0999] Automatically generate similar tasks and create problems to solve them.
[1000] Step 8:
[1001] Generative AI model: Generates comprehension test data and sends it back to the server.
[1002] Step 9:
[1003] Server: Formats the comprehension test data received from the generative AI model, generates HTML for display as a web page, and sends this HTML to the user's device.
[1004] Step 10:
[1005] Terminal: Display the received HTML in the browser.
[1006] Step 11:
[1007] User: Enters answers to the displayed comprehension test. At this time, the emotion engine recognizes the user's emotions from facial expressions, voice, keystrokes, etc.
[1008] Step 12:
[1009] Emotion engine: Collects emotion data and sends it to the server in real time.
[1010] Step 13:
[1011] User: After answering all questions, press the "Submit" button.
[1012] Step 14:
[1013] Terminal: Generates an HTTP request containing the user's response data and sends it to the server.
[1014] Step 15:
[1015] Server: Receives the user's answer data and emotion data, sends it back to the generative AI model, and requests scoring.
[1016] Step 16:
[1017] Generative AI model: Based on the user's answers, it judges whether they are correct or incorrect, generates a score and explanation, and adjusts the feedback content and difficulty level based on emotional data.
[1018] Step 17:
[1019] Generative AI model: Sends the scoring results and explanations back to the server.
[1020] Step 18:
[1021] Server: Formats the scoring results and explanations received from the generative AI model, generates HTML to present to the user, and sends this HTML to the user's device.
[1022] Step 19:
[1023] Terminal: Display the received HTML in the browser.
[1024] Step 20:
[1025] Users: Review their scores and explanations to understand their own understanding and emotional feedback.
[1026] Step 21:
[1027] Server: Records the results of the comprehension test and manages the user's learning progress. It also records the user's emotional data and analyzes the long-term learning effect.
[1028] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[1029] Example 2
[1030] 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."
[1031] In conventional source code comprehension testing systems, users' comprehension assessments are uniform, making it difficult to provide feedback tailored to individual comprehension levels and emotions. Furthermore, if a user feels confused or stressed by the comprehension test, the system cannot recognize that data and respond immediately. To solve this problem, a learning support system that takes the user's emotions into account is needed.
[1032] 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.
[1033] In this invention, the server includes means for inputting source code, means for generating a comprehension test based on the input source code using a generative AI model, means for presenting the generated comprehension test to the user, means for receiving the user's answers to the comprehension test, means for scoring the received answers, means for presenting the scoring results and explanations to the user, means for recognizing the user's emotions, and means for adjusting the feedback content and the difficulty of the comprehension test based on the recognized emotion data, thereby enabling appropriate feedback and learning support to be provided according to each user's level of comprehension and emotions.
[1034] "Source code" means a textual description of a program, written in a programming language.
[1035] The "means for inputting" refers to an interface that allows a user to use a terminal to send source code to the system.
[1036] A "generative AI model" refers to an algorithm or system that uses artificial intelligence techniques to generate a specific output based on input data.
[1037] A "Comprehension Test" includes a series of questions or problems designed to assess comprehension of source code.
[1038] "Means for presenting to the user" refers to an interface for displaying information such as comprehension tests and scoring results to the user.
[1039] The term "means for receiving answers" refers to an interface that allows the system to receive answers entered by the user to the comprehension test.
[1040] "Scoring mechanism" refers to the algorithm or system used to evaluate a user's responses and generate a score or feedback.
[1041] "Means for presenting explanations" refers to an interface for displaying the results of the comprehension test and related feedback to the user.
[1042] "Means for recognizing emotions" refers to a system for analyzing a user's facial expressions, voice, input actions, etc. to identify the user's emotional state.
[1043] "Emotional data" refers to data that contains information about a user's emotional state.
[1044] "Means to tailor feedback content and test difficulty" refers to algorithms and systems that use emotional data to individually optimize a user's learning experience.
[1045] This system automatically generates comprehension tests based on source code entered by a user and evaluates the user's answers to the tests. It also has a function to recognize the user's emotions and adjust the feedback content and test difficulty accordingly. This system includes a server, a terminal used by the user, a generative AI model, and an emotion engine.
[1046] System configuration
[1047] The system includes the following components:
[1048] Server: Receives and preprocesses source code, generates comprehension tests, receives and scores answers, and processes emotion data.
[1049] Terminal: Provides an interface for users to enter source code and answer comprehension tests.
[1050] Generative AI model: Generates comprehension tests based on input source code.
[1051] Emotion engine: Recognizes user emotions and generates emotion data.
[1052] Inputting and Preprocessing Source Code
[1053] A user accesses a web service through a browser on a terminal, enters source code into a form, and presses the "Submit" button. The entered source code is sent to the server as an HTTP request. The server receives the HTTP request and extracts the entered source code. The server then performs preprocessing to remove comments and unnecessary whitespace.
[1054] Generate comprehension tests
[1055] The preprocessed source code is passed from the server to a generative AI model, which generates comprehension tests such as fill-in-the-blank questions, word problems, and error correction questions based on the received source code. The generated comprehension tests are then sent back to the server.
[1056] Present a comprehension test and receive answers
[1057] The generated comprehension test is generated as HTML by the server and sent to the user's device. The user enters their answers into the displayed comprehension test and submits it. At this time, the emotion engine recognizes the user's emotions from their facial expressions, voice, keystrokes, etc., and generates emotion data. The generated emotion data is sent to the server.
[1058] Processing and scoring of answers and sentiment data
[1059] The server receives the user's answer data and emotion data, sends them to the generative AI model, and requests scoring. The generative AI model determines whether the user's answer is correct or incorrect, generates a score and explanation, and adjusts the feedback content and test difficulty based on the emotion data.
[1060] Presentation of scoring results and explanations
[1061] The server formats the scores, explanations, and adjustments, generating an HTML file that is then sent to the user's device, where the user can view the results.
[1062] Specific examples
[1063] Example 1: Filling in the gaps in source code and emotion recognition
[1064] User-entered source code:
[1065] def add(a, b):
[1066] return a + b
[1067] Fill-in-the-blank questions generated by generative AI:
[1068] def add(a, b):
[1069] return a ____ b
[1070] User Answer:+
[1071] Emotional Engine Recognition: Recognize when the user is confused and adjust the difficulty accordingly.
[1072] Example 2: Error correction and feedback adjustment
[1073] User-entered source code:
[1074] def multiply(x, y):
[1075] return xy
[1076] Problems containing errors generated by the AI:
[1077] def multiply(x, y):
[1078] return x + y needs to be corrected
[1079] User's answer:
[1080] Emotion engine recognition: Recognizes when a user is confident in their answers and provides positive feedback.
[1081] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[1082] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1083] Step 1:
[1084] The user enters and submits the source code.
[1085] Specific operation: A user accesses a web service through a web browser, enters source code into the input form on the screen, and then clicks the "Submit" button.
[1086] Input: Source code entered by the user into an input form on the device.
[1087] Output: The source code entered as an HTTP request is sent to the server.
[1088] Step 2:
[1089] The server receives the source code and performs preprocessing.
[1090] What it does: The server receives an HTTP request, extracts the source code from the request, and then pre-processes it to remove comments and unnecessary whitespace.
[1091] Input: The source code in the HTTP request sent by the user.
[1092] Output: Preprocessed source code.
[1093] Step 3:
[1094] The server sends a request to the generative AI model
[1095] Specific operation: The server prepares API request data to pass the preprocessed source code to the generative AI model, and sends the API request to the generative AI model's endpoint.
[1096] Input: Preprocessed source code.
[1097] Output: API request data to send to the generative AI model.
[1098] Step 4:
[1099] A generative AI model generates comprehension tests
[1100] How it works: The generative AI model generates comprehension tests based on the received source code, including fill-in-the-blank, essay questions, and error correction questions.
[1101] Input: Preprocessed source code sent by the server.
[1102] Output: The generated comprehension test data.
[1103] Step 5:
[1104] The server presents the comprehension test to the user.
[1105] Specific operation: The server receives the generated comprehension test data, generates HTML for displaying the comprehension test, and sends it to the user's device.
[1106] Input: Comprehension test data returned from the generative AI model.
[1107] Output: The HTML of the assessment that will be displayed on the user's device.
[1108] Step 6:
[1109] The user completes the assessment
[1110] Specific operation: The user enters answers to the comprehension test displayed on the terminal and submits it.
[1111] Input: The answers the user entered into the quiz.
[1112] Output: User response data sent to the server.
[1113] Step 7:
[1114] Emotion engine recognizes user emotions
[1115] Specific operation: The emotion engine analyzes the user's facial expressions, voice, and keystroke patterns to identify the user's emotional state, then generates emotion data and sends it to the server.
[1116] Input: User behavior data (facial expressions, voice, keystroke patterns).
[1117] Output: User emotion data.
[1118] Step 8:
[1119] The server sends the answer data and emotion data to the generative AI model.
[1120] Specific operation: The server sends the user's answer data and emotion data to the generative AI model and requests scoring.
[1121] Input: User response data and sentiment data.
[1122] Output: API data for the scoring request.
[1123] Step 9:
[1124] Generative AI model scores
[1125] How it works: The generative AI model evaluates the user's answers, determines whether they are correct, and adjusts the feedback and difficulty of the questions based on emotional data.
[1126] Input: User answer data and emotion data.
[1127] Output: Marking results and tailored feedback.
[1128] Step 10:
[1129] The server presents the score and commentary
[1130] Specific operation: The server formats the scoring results and feedback received from the generative AI model, generates HTML to present to the user, and sends it to the user's device.
[1131] Input: Scoring and feedback from the generative AI model.
[1132] Output: HTML of the score and feedback displayed on the user's device.
[1133] (Application example 2)
[1134] 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."
[1135] Conventional source code comprehension testing systems have the problem of not being able to fully grasp the user's motivation to learn or their level of understanding. Furthermore, they do not provide feedback or adjust the difficulty level based on the user's emotions, which can lead to a decrease in learning effectiveness. Therefore, there is a need for a system that recognizes the user's emotions and optimizes the learning experience based on them.
[1136] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1137] In this invention, the server includes means for inputting source code, means for generating a comprehension test based on the input source code using a generative AI model, means for presenting the generated comprehension test to the user, means for receiving the user's answers to the comprehension test, means for scoring the received answers, means for presenting the scoring results and explanations to the user, means for collecting data using an emotion engine that recognizes the user's emotions, and means for adjusting the feedback content and the difficulty of the comprehension test based on the collected emotion data, thereby making it possible to provide feedback according to the user's emotions and optimal learning conditions.
[1138] "Source code" is a set of textual instructions written to make up a program.
[1139] A "generative AI model" is an algorithm or system that uses artificial intelligence to automatically generate source code and comprehension tests.
[1140] The "comprehension test" is a test that generates questions based on the source code entered by the user and evaluates the user's level of comprehension.
[1141] An "emotion engine" is a system that recognizes emotions from a user's facial expressions, voice, actions, etc. and collects them as data.
[1142] "Feedback" refers to evaluations and advice provided based on the user's test answers and emotional data.
[1143] "Difficulty adjustment" is a function that changes the difficulty of the questions displayed based on the user's learning situation and emotional data.
[1144] A "server" is a computer system that receives and processes user requests over a network.
[1145] The "data collection means" refers to a function or device for collecting data on the user's emotions through the emotion engine.
[1146] "Scoring" is the process of evaluating and scoring user-submitted test answers.
[1147] This invention describes the configuration and processing method of a system that allows a user to input source code and evaluate its level of understanding. The system includes a server, a terminal, a generative AI model, and an emotion engine.
[1148] System configuration
[1149] Inputting and Preprocessing Source Code
[1150] Device:
[1151] A user accesses the web service through a browser on their device, enters source code into the form, and presses the "Submit" button. This entered source code is sent to the server as an HTTP request.
[1152] server:
[1153] The server receives this HTTP request, extracts the input source code, and performs preprocessing to remove comments and unnecessary whitespace.
[1154] Generate comprehension tests
[1155] server:
[1156] Create an API request to pass the preprocessed source code to the generative AI model and send it to the generative AI model's endpoint.
[1157] Generative AI models:
[1158] Generates comprehension tests based on source code, specifically in the following formats:
[1159] Extract important parts of the code and create fill-in-the-blank questions.
[1160] Generate word questions to check your understanding of the code.
[1161] Generate code that contains errors and create a problem that requires you to fix it.
[1162] Automatically generate similar tasks and create problems to solve them.
[1163] The generated comprehension test is sent back to the server.
[1164] Presentation of comprehension tests and emotion recognition
[1165] server:
[1166] The generated comprehension test data is received, and HTML is generated to display it as a web page. This HTML is then sent to the user's device.
[1167] Device:
[1168] The user enters their answers into the displayed comprehension test. At this time, the emotion engine recognizes the user's emotions from their facial expressions, voice, keystrokes, etc. The emotion data is sent to the server in real time.
[1169] Emotion Engine:
[1170] The emotion engine collects and analyzes emotion data.
[1171] Receiving and scoring answers and emotion data
[1172] server:
[1173] The server receives the user's answer data and emotion data, and sends them again to the generative AI model to request scoring.
[1174] Generative AI models:
[1175] The generative AI model determines whether the user's answers are correct or incorrect, generates a score and explanation, and adjusts the feedback content and difficulty level based on emotional data.
[1176] Presentation of scoring results and explanations
[1177] server:
[1178] The system formats the scoring results and explanations received from the generative AI model, as well as adjustments based on emotion data, and generates HTML to present to the user. This HTML is then sent to the user's device.
[1179] Device:
[1180] The user reviews the displayed results and gets feedback based on their understanding and emotions.
[1181] Specific examples
[1182] Example 1: Filling in the gaps in source code and emotion recognition
[1183] User-entered source code:
[1184] def add(a, b):
[1185] return a + b
[1186] Fill-in-the-blank questions generated by generative AI:
[1187] def add(a, b):
[1188] return a ____ b
[1189] User Answer:+
[1190] Emotional Engine Recognition: Recognize when the user is confused and adjust the difficulty accordingly.
[1191] Example 2: Error correction and feedback adjustment
[1192] User-entered source code:
[1193] def multiply(x, y):
[1194] return xy
[1195] Problems containing errors generated by the AI:
[1196] def multiply(x, y):
[1197] return x + y needs to be corrected
[1198] User's answer:
[1199] Emotion engine recognition: Recognizes when a user is confident in their answers and provides positive feedback.
[1200] Prompt Sentence Examples
[1201] Example prompts for generating comprehension tests:
[1202] Generate a comprehension test for the following code: def subtract(a, b): return a - b
[1203] Sample grading and feedback prompts:
[1204] Grade the following answer: a - b based on the emotion data: {'confused': False, 'engaged': True}
[1205] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[1206] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1207] Step 1:
[1208] A user accesses a web service through a browser, enters source code, and presses the "Submit" button. The entered source code is sent to the server as an HTTP request. The input here is the source code entered by the user, and the output is the HTTP request received by the server.
[1209] Step 2:
[1210] The server extracts source code from the received HTTP request and performs preprocessing to remove comments and unnecessary whitespace. This process transforms the source code into a preprocessed format. The input is the source code extracted from the HTTP request, and the output is the preprocessed source code.
[1211] Step 3:
[1212] Based on the preprocessed source code, the server creates an API request to the generative AI model. The server sends the API request to the endpoint of the generative AI model. The input is the preprocessed source code, and the output is the API request to the generative AI model.
[1213] Step 4:
[1214] The generative AI model automatically generates comprehension tests based on the input source code. The generated comprehension tests include fill-in-the-blank questions, essay questions, and error correction questions. The input is an API request from the server, and the output is the generated comprehension test.
[1215] Step 5:
[1216] The server receives the comprehension test data returned from the generative AI model and converts it into HTML for display as a web page. The input is the comprehension test data from the generative AI model, and the output is HTML for presentation to the user.
[1217] Step 6:
[1218] The user inputs answers to the generated comprehension test. While answering, the emotion engine recognizes the user's facial expressions and voice using the device's camera and microphone. The input here is the user's answer and emotion data, and the output is emotion data analyzed by the emotion engine.
[1219] Step 7:
[1220] The emotion engine collects user emotion data in real time and sends it to the server. The input is the user emotion data, and the output is the analyzed emotion data sent to the server.
[1221] Step 8:
[1222] The server receives the user's response data and emotion data and requests that they be sent to the generative AI model again for scoring. The input is the user's response data and emotion data, and the output is a scoring request to the generative AI model.
[1223] Step 9:
[1224] The generative AI model determines whether the user's answer is correct or incorrect, and generates a score and explanation. It also adjusts the feedback content and the difficulty of the comprehension test based on emotional data. The input is a scoring request from the server, and the output is the score, explanation, and adjusted feedback.
[1225] Step 10:
[1226] The server formats the scoring results and explanations received from the generative AI model, as well as adjustments based on emotion data, and generates HTML to present to the user. The input is the scoring results and explanations from the generative AI model, and the adjustments, and the output is HTML to present to the user.
[1227] Step 11:
[1228] The user sees the results displayed as HTML and gets feedback based on their understanding and feelings. The input is the HTML output from the server, and the output is the user's understanding and feedback.
[1229] 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.
[1230] 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.
[1231] 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.
[1232] [Third embodiment]
[1233] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[1234] 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.
[1235] 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).
[1236] 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.
[1237] 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.
[1238] 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).
[1239] 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.
[1240] 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.
[1241] 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.
[1242] 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.
[1243] 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.
[1244] 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."
[1245] The present invention relates to a system for checking the comprehension level of specific source code, and is characterized by automatically generating comprehension tests using a generative AI model. An embodiment of this system is described in detail below.
[1246] System configuration
[1247] This system includes a server, a terminal used by the user, and a generative AI model. The configuration and function of each element are explained below.
[1248] Inputting and Preprocessing Source Code
[1249] 1. Terminal: The user accesses the web service through a browser and enters source code into the form. When the user presses the "Submit" button, an HTTP request is sent to the server.
[1250] 2. Server: Receives this HTTP request, extracts the input source code, and performs preprocessing to remove comments and unnecessary whitespace.
[1251] Generate comprehension tests
[1252] 3. Server: Sends the preprocessed source code to the generative AI model, which generates a comprehension test in the following format:
[1253] Extract important parts of the source code and create fill-in-the-blank questions.
[1254] Generates written questions to check whether you understand the contents of the source code.
[1255] Part of the source code is intentionally made incorrect, and a problem is generated that requires the user to correct the error.
[1256] Generate another similar problem based on the source code and create a problem to solve that problem.
[1257] 4. Generative AI model: Generates the comprehension test and sends the data back to the server.
[1258] Presenting a comprehension test
[1259] 5. Server: Receives the generated comprehension test, generates HTML for displaying it as a web page, and sends this HTML to the user's device.
[1260] 6. Terminal: The user fills in the displayed comprehension test and submits the answers.
[1261] Receiving and grading answers
[1262] 7. Server: Receives the user's answers and sends them back to the generative AI model for scoring.
[1263] 8. Generative AI model: Based on the user's answers, it determines whether they are correct or incorrect and generates a score and explanation.
[1264] Presentation of scoring results and explanations
[1265] 9. Server: Receives the score and explanations, generates HTML for display as a web page, and sends this HTML to the user's device.
[1266] 10. Terminal: The user checks the displayed results and assesses their understanding.
[1267] Specific examples
[1268] Example 1: Fill in the gaps for important parts of the source code
[1269] User-entered source code:
[1270] def add(a, b):
[1271] return a + b
[1272] Fill-in-the-blank questions generated by generative AI:
[1273] def add(a, b):
[1274] return a ____ b
[1275] User Answer: +
[1276] Example 2: Error correction questions
[1277] User-entered source code:
[1278] def multiply(x, y):
[1279] return xy
[1280] Problems containing errors generated by the AI:
[1281] def multiply(x, y):
[1282] return x + y needs to be corrected
[1283] User's answer:
[1284] Example 3: A problem that generates and solves a similar problem
[1285] User-entered source code:
[1286] def subtract(a, b):
[1287] return a - b
[1288] Similar problem generated by generative AI (division problem):
[1289] def divide(a, b):
[1290] return a / b User demonstrates understanding of division to answer
[1291] As described above, this system allows learners to evaluate their own understanding of source code from multiple angles, and aims to further improve their skills.
[1292] The processing flow will be explained below.
[1293] Step 1:
[1294] User: Opens a browser, accesses the web service page, enters source code into the form, and presses the "Submit" button.
[1295] Step 2:
[1296] Terminal: Generates an HTTP request containing the input source code and sends it to the server.
[1297] Step 3:
[1298] Server: Receives the HTTP request and extracts the input source code.
[1299] Step 4:
[1300] Server: Checks the format of the extracted source code and performs preprocessing to remove comments and unnecessary whitespace.
[1301] Step 5:
[1302] Server: Makes API requests to pass the preprocessed source code to the generative AI model.
[1303] Step 6:
[1304] Server: Sends API requests to the endpoint of the generated AI model.
[1305] Step 7:
[1306] Generative AI model: Generates comprehension tests based on preprocessed source code.
[1307] Extract the important parts of the code and create fill-in-the-blank questions.
[1308] Generates written questions that test whether you understand the code content.
[1309] Generate code that contains errors and create a problem that requires you to fix it.
[1310] Automatically generate similar tasks and create problems to solve them.
[1311] Step 8:
[1312] Generative AI model: Generates comprehension test data and sends it back to the server.
[1313] Step 9:
[1314] Server: Formats the comprehension test data received from the generative AI model and generates HTML for display as a web page.
[1315] Step 10:
[1316] Server: Sends the generated HTML to the terminal as an HTTP response.
[1317] Step 11:
[1318] Terminal: Display the received HTML in the browser.
[1319] Step 12:
[1320] User: Enter your answers into the assessment provided.
[1321] Step 13:
[1322] User: After answering all questions, press the "Submit" button.
[1323] Step 14:
[1324] Terminal: Generates an HTTP request containing the user's response data and sends it to the server.
[1325] Step 15:
[1326] Server: Receives the user's answer data and sends it back to the generative AI model for scoring.
[1327] Step 16:
[1328] Generative AI model: Based on the user's answers, it determines whether they are correct or incorrect and generates a score and explanation.
[1329] Step 17:
[1330] Generative AI model: Sends the scoring results and explanations back to the server.
[1331] Step 18:
[1332] Server: Formats the scoring results and explanations received from the generative AI model and generates HTML to present to the user.
[1333] Step 19:
[1334] Server: Sends the generated HTML to the terminal as an HTTP response.
[1335] Step 20:
[1336] Terminal: Display the received HTML in the browser.
[1337] Step 21:
[1338] Users: Check the marks and explanations to understand their own understanding.
[1339] Example 1
[1340] 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."
[1341] Current source code learning support systems lack a means for users to evaluate their own understanding of source code from multiple angles. Manual question creation and grading is time-consuming, making it difficult to perform rapid evaluations. This makes it difficult for users to achieve effective learning and provides feedback tailored to their individual level of understanding.
[1342] 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.
[1343] In this invention, the server includes means for a user to input source code, means for receiving the input source code and performing preprocessing, means for generating a prompt sentence based on the preprocessed source code and sending it to the generative AI model, means for generating a comprehension test using the generative AI model, means for presenting the generated comprehension test to the user's terminal, means for receiving the user's answers to the comprehension test, means for again sending the received answers to the generative AI model for scoring, and means for generating and presenting the scoring results and explanations to the user. This allows the user to quickly and automatically evaluate their level of comprehension of the source code and receive individual feedback.
[1344] A "user" is a person who uses the system to test their understanding of the source code.
[1345] The "means of input" is the interface through which the user provides source code to the system, typically a form in a web browser.
[1346] "Preprocessing means" is a process of removing unnecessary comments and whitespace from the received source code and formatting it into a form that is easy to process.
[1347] A "prompt" is an instruction or material provided to a generative AI model to generate a comprehension test.
[1348] A "generative AI model" is a type of artificial intelligence that automatically generates comprehension tests based on source code entered by the user.
[1349] A "comprehension test" is a set of questions or problems that are based on the source code entered by the user and are used to assess whether the user understands its contents and operation.
[1350] The "means of presentation" refers to the mechanism for displaying the generated comprehension test and the scoring results to the user, and is usually a web page in HTML format.
[1351] The "means for receiving answers" is the process by which the server receives the answers entered by the user to the comprehension test.
[1352] "Means of scoring" refers to the process of using a generative AI model to evaluate the received user answers and determine whether they are correct or incorrect.
[1353] The "scoring results and explanations" are the evaluation results of the user's answers and explanations based on those results, and are feedback to support the user's learning.
[1354] The present invention relates to a system for checking the comprehension level of a specific source code, and is characterized by automatically generating comprehension tests using a generative AI model. The following describes in detail an embodiment of the present invention.
[1355] System configuration
[1356] This system consists of three main components: a server, a user's device, and a generative AI model. The server receives source code, preprocesses it, generates prompts, presents comprehension tests, and displays the scoring results. The user's device inputs source code, receives comprehension tests, and sends answers. The generative AI model is responsible for generating comprehension tests based on the provided prompts.
[1357] Inputting and Preprocessing Source Code
[1358] The user accesses the specified URL using a web browser and enters the source code into the form. After entering the information, the user clicks the "Submit" button, and the source code is sent to the server as an HTTP request. The server then performs preprocessing to remove unnecessary comments and spaces from the received source code. Specifically, it removes unnecessary parts using Python's regular expression library (re) or similar.
[1359] Generate comprehension tests
[1360] The server generates a prompt based on the preprocessed source code, which includes a brief description of the source code and details of the test questions to be generated. The generated prompt is then sent to a generative AI model to generate a comprehension test.
[1361] Example prompt sentence:
[1362] Please create a comprehension test based on the source code below.
[1363] def add(a, b):
[1364] return a + b
[1365] Based on the prompt, the generative AI model generates a comprehension test of the following form:
[1366] Extract important parts of the source code and create fill-in-the-blank questions.
[1367] Generates written questions that ask about the contents of source code.
[1368] Generate source code containing errors and create problems that require the user to fix them.
[1369] Generate similar tasks and create problems to solve those tasks.
[1370] Presenting comprehension tests and receiving answers
[1371] The server receives the comprehension test and generates an HTML page to be presented to the user's device. The user checks the comprehension test on the device, enters their answers, and submits them. The answers are then sent back to the server as an HTTP request.
[1372] Grading answers
[1373] The server receives the user's answers and sends them to the generative AI model for scoring. The generative AI model determines whether the answers are correct and generates a score and explanation. The server receives this and again generates an HTML result display page and presents it to the user.
[1374] Specific examples
[1375] Example 1: Fill in the gaps for important parts of the source code
[1376] User-entered source code:
[1377] def add(a, b):
[1378] return a + b
[1379] Fill-in-the-blank questions generated by generative AI:
[1380] def add(a, b):
[1381] return a ____ b
[1382] User Answer: +
[1383] Example 2: Error correction questions
[1384] User-entered source code:
[1385] def multiply(x, y):
[1386] return xy
[1387] Problems containing errors generated by the AI:
[1388] def multiply(x, y):
[1389] return x + y needs to be corrected
[1390] User's answer:
[1391] Example 3: A problem that generates and solves a similar problem
[1392] User-entered source code:
[1393] def subtract(a, b):
[1394] return a - b
[1395] Similar problem generated by generative AI (division problem):
[1396] def divide(a, b):
[1397] return a / b User demonstrates understanding of division to answer
[1398] In this way, this system allows users to quickly evaluate their understanding of source code and achieve effective learning by receiving individual feedback.
[1399] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1400] Program processing steps and their specific operations
[1401] Step 1:
[1402] The user enters and submits the source code.
[1403] Input: The user enters source code into a form on a web browser and clicks the "Submit" button.
[1404] How it works: The source code is sent to the server as an HTTP request.
[1405] Output: Source code is sent to the server and received as request data.
[1406] Step 2:
[1407] The server receives the source code and performs preprocessing.
[1408] Input: The HTTP request sent by the user.
[1409] How it works: The server extracts the source code from the request body, then uses Python's regular expressions library (re) to pre-process the source code, removing unnecessary comments and extra whitespace.
[1410] Output: Preprocessed source code.
[1411] Step 3:
[1412] The server generates a prompt sentence and sends it to the generative AI model.
[1413] Input: Preprocessed source code.
[1414] How it works: The server generates a prompt based on the preprocessed source code, then sends this prompt to the generative AI model, which includes a brief description of the source code and details of the test questions to be generated.
[1415] Example prompt sentence:
[1416] Please create a comprehension test based on the source code below.
[1417] def add(a, b):
[1418] return a + b
[1419] Output: The prompt sent to the generative AI model.
[1420] Step 4:
[1421] A generative AI model generates comprehension tests.
[1422] Input: The prompt text sent by the server.
[1423] How it works: Based on the prompt, the generative AI model generates a comprehension test that includes questions like:
[1424] Extract important parts of the source code and create fill-in-the-blank questions.
[1425] Generate content-based written questions.
[1426] Create problems to generate similar tasks and have them solved.
[1427] Output: The generated comprehension test.
[1428] Step 5:
[1429] The server presents the comprehension test to the user.
[1430] Input: Comprehension test returned by the generative AI model.
[1431] How it works: The server receives the comprehension test, generates an HTML web page containing the generated test questions and answer fields, and then sends this HTML to the user's device.
[1432] Output: The HTML page that is sent to the user's device.
[1433] Step 6:
[1434] The user answers the test and submits it.
[1435] Input: The comprehension test sent from the server.
[1436] How it works: The user reviews the test on their device, enters their answers, and then clicks the "Submit" button to send their answers to the server.
[1437] Output: The answer sent to the server.
[1438] Step 7:
[1439] The server receives the user's answers and sends them to the generative AI model for scoring.
[1440] Input: The answer submitted by the user.
[1441] How it works: The server receives the user's answer and sends it to the generative AI model for scoring. The generative AI model then determines whether the user's answer is correct or incorrect and generates a score and explanation.
[1442] Output: Data including the score and explanation.
[1443] Step 8:
[1444] The server presents the score and commentary to the user.
[1445] Input: Scores and explanations sent by the generative AI model.
[1446] How it works: The server generates an HTML result page based on the received score and explanation. This page contains the correctness of the user's answer, the score, and an explanation. Then, it sends this HTML to the user's device.
[1447] Output: The HTML page that is sent to the user's device.
[1448] Step 9:
[1449] The user checks the results.
[1450] Input: Scoring results and explanations sent from the server.
[1451] Action: The user's browser receives and displays the results page, which the user can review to assess their understanding.
[1452] Output: User sees feedback.
[1453] The above are the detailed processing steps of the program in this system. The data processing and calculations performed at each step support the effective operation of the system.
[1454] (Application example 1)
[1455] 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."
[1456] There is currently a lack of systems to effectively evaluate and improve engineers' understanding of control programs for factory robots. In particular, there is a need for an automated test system that can evaluate the understanding of control programs from multiple perspectives. Conventional methods often require manual evaluation, which is time-consuming and labor-intensive, and has problems with fairness and consistency.
[1457] 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.
[1458] In this invention, the server includes: means for inputting source code; means for generating a comprehension test based on the input source code using a generative AI model; means for presenting the generated comprehension test to a user; means for receiving the user's answers to the comprehension test; means for scoring the received answers; means for presenting the scoring results and explanations to the user; means for inputting source code for a factory robot control program and generating a comprehension test for evaluating the source code; and means for providing a user interface for inputting the factory robot control program from a smart device. This enables engineers to efficiently and fairly evaluate and further improve their comprehension of their control programs.
[1459] "Source code" means instructions in text files that make up a program, and are directives written in a programming language to perform specific actions.
[1460] A "comprehension test" is a test that includes various tasks and questions to evaluate how well a user understands the contents of the source code that they have entered.
[1461] A "generative AI model" is an artificial intelligence model trained by a machine learning algorithm that generates text based on a specific prompt.
[1462] A "factory robot" is a program-controlled mechanical device used to automate manufacturing and assembly tasks in a factory.
[1463] A "control program" is software that contains a series of instructions for directing and controlling the movements of a robot.
[1464] A "user interface" is the part of a system that provides the means or methods for a user to interact with the system.
[1465] A "smart device" is a portable electronic device equipped with Internet connectivity and high-performance processing capabilities.
[1466] A "server" is a computer system that receives requests from clients and provides services.
[1467] MODE FOR CARRYING OUT THE INVENTION
[1468] System Overview
[1469] This invention is a system for automatically generating comprehension tests for factory robot control programs to evaluate and improve engineers' technical skills. This system includes a server, a terminal used by users, and a generation AI model, and has the following configuration and functions.
[1470] Inputting and Preprocessing Source Code
[1471] 1. Using the terminal:
[1472] Users use smart devices such as smartphones, smart glasses, head-mounted displays, or robot tablets to input the source code for the factory robot's control program, which is then sent to the server via a web service.
[1473] 2. Preprocessing on the server:
[1474] The server receives the transmitted source code and pre-processes it to remove comments and unnecessary whitespace.
[1475] Generate comprehension tests
[1476] 3. Send from server to generative AI model:
[1477] The preprocessed source code is sent to a generative AI model, which is trained based on machine learning algorithms and generates text using prompt sentences.
[1478] 4. Example prompt:
[1479] Generate a test to assess your understanding of the following robot control program:
[1480] def move_robot(direction, steps):
[1481] if direction == 'forward':
[1482] robot.move_forward(steps)
[1483] elif direction == 'backward':
[1484] robot.move_backward(steps)
[1485] elif direction == 'left':
[1486] robot.turn_left(steps)
[1487] elif direction == 'right':
[1488] robot.turn_right(steps)
[1489] 5. Test generation using generative AI models:
[1490] The generative AI model generates comprehension tests based on the input source code. For example, it extracts important parts of the source code to create fill-in-the-blank questions, or generates questions that intentionally include errors in the code and require corrections.
[1491] Presenting comprehension tests and accepting answers
[1492] 6. Test presentation from server to device:
[1493] The generated comprehension test is sent to the user's terminal via the server. The user answers the displayed test and then sends the answers.
[1494] Receiving and grading answers
[1495] 7. Receiving the answer on the server:
[1496] The user's answers are received by the server, and are then sent back to the generative AI model, where they are judged correct and scored.
[1497] 8. Generative AI model for scoring and commentary generation:
[1498] The generative AI model determines whether the user's answers are correct or incorrect and generates a scoring result that includes detailed feedback and explanations.
[1499] Presentation of scoring results and explanations
[1500] 9. Displaying results from the server to the device:
[1501] The scoring results and explanations are sent to the user's device via the server, where the user can view them to check their level of understanding of the factory robot's control program and further improve their skills.
[1502] As described above, this system makes it possible to evaluate and improve the technical skills of engineers related to factory robot control programs from multiple angles.
[1503] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1504] Step 1:
[1505] A user accesses the web service using a device (smartphone, smart glasses, head-mounted display, or a robot tablet) and enters the source code of the factory robot's control program into the input form. When the user presses the "Submit" button, the source code is sent to the server as an HTTP request.
[1506] Input: Source code for the factory robot control program
[1507] Output: Source code sent to the server as an HTTP request
[1508] Step 2:
[1509] The server extracts the source code from the received HTTP request, preprocesses it to remove comments and unnecessary whitespace, and passes the preprocessed source code on to the next step.
[1510] Input: Submitted source code
[1511] Output: Preprocessed source code
[1512] Step 3:
[1513] The server creates a prompt to send the preprocessed source code to the generative AI model, for example, "Please generate a test to assess the comprehension of the following robot control program:" and adds the source code to the prompt.
[1514] Input: Preprocessed source code
[1515] Output: A prompt to send to the generative AI model
[1516] Step 4:
[1517] The server sends a prompt to the generative AI model and asks it to generate a comprehension test. The generative AI model generates a comprehension test based on the prompt and sends the test back to the server.
[1518] Input: prompt statement
[1519] Output: Comprehension test returned by the generative AI model
[1520] Step 5:
[1521] The server generates the generated comprehension test as an HTML web page and sends it to the user's device. The user can view the comprehension test on the device screen and enter their answers.
[1522] Input: Comprehension test returned by the generative AI model
[1523] Output: HTML assessment
[1524] Step 6:
[1525] The user answers the comprehension test and sends the answers to the server via the web service, which receives the answers.
[1526] Input: User's answer
[1527] Output: The answer sent to the server
[1528] Step 7:
[1529] The server then sends the received answers to the generative AI model, which then scores the answers and generates explanations for them. The generative AI model then scores the answers and generates explanations for them, which are then sent back to the server.
[1530] Input: User's answer
[1531] Output: Scoring and commentary returned by the generative AI model
[1532] Step 8:
[1533] The server generates a web page with the score and explanations in HTML format and sends it to the user's device. The user can check the results and understand their own level of understanding.
[1534] Input: Scoring results and explanations returned by the generative AI model
[1535] Output: HTML format score and explanations
[1536] 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.
[1537] The present invention relates to a system for checking the comprehension level of specific source code, and is characterized by automatically generating comprehension tests using a generative AI model. The system also provides a system that improves the learning experience by combining it with an emotion engine that recognizes the user's emotions. An embodiment of the system is described in detail below.
[1538] System configuration
[1539] This system includes a server, a terminal used by the user, a generative AI model, and an emotion engine. The configuration and function of each element are explained below.
[1540] Inputting and Preprocessing Source Code
[1541] 1. Terminal: The user accesses the web service through a browser, enters source code into the form, and presses the "Submit" button. The entered source code is sent to the server as an HTTP request.
[1542] 2. Server: Receives this HTTP request, extracts the input source code, and performs preprocessing to remove comments and unnecessary whitespace.
[1543] Generate comprehension tests
[1544] 3. Server: Creates an API request to pass the preprocessed source code to the generative AI model and sends the API request to the generative AI model's endpoint.
[1545] 4. Generative AI model: Based on the source code, it generates comprehension tests in the following format:
[1546] Extract important parts of the code and create fill-in-the-blank questions.
[1547] Generate word questions to check your understanding of the code.
[1548] Generate code that contains errors and create a problem that requires you to fix it.
[1549] Automatically generate similar tasks and create problems to solve them.
[1550] 5. Generative AI model: Generates comprehension test data and sends it back to the server.
[1551] Presentation of comprehension tests and emotion recognition
[1552] 6. Server: Receives the generated comprehension test data, generates HTML for displaying it as a web page, and sends this HTML to the user's device.
[1553] 7. Terminal: The user enters answers to the displayed comprehension test. At this time, the emotion engine recognizes the user's emotions from their facial expressions, voice, keystrokes, etc.
[1554] 8. Emotion Engine: Collects and analyzes emotion data, which is then sent to the server in real time.
[1555] Receiving and scoring answers and emotion data
[1556] 9. Server: Receives the user's answer data and emotion data, sends it back to the generative AI model, and requests scoring.
[1557] 10. Generative AI model: Based on the user's answers, it judges whether they are correct or incorrect, and generates a score and explanation. It also adjusts the feedback content and difficulty level based on emotional data.
[1558] Presentation of scoring results and explanations
[1559] 11. Server: Formats the scoring results and explanations received from the generative AI model, as well as adjustments based on emotion data, and generates HTML to present to the user. This HTML is then sent to the user's device.
[1560] 12. Terminal: The user reviews the displayed results and gets feedback based on their understanding and emotions.
[1561] Specific examples
[1562] Example 1: Filling in the gaps in source code and emotion recognition
[1563] User-entered source code:
[1564] def add(a, b):
[1565] return a + b
[1566] Fill-in-the-blank questions generated by generative AI:
[1567] def add(a, b):
[1568] return a ____ b
[1569] User Answer:+
[1570] Emotional Engine Recognition: Recognize when the user is confused and adjust the difficulty accordingly.
[1571] Example 2: Error correction and feedback adjustment
[1572] User-entered source code:
[1573] def multiply(x, y):
[1574] return xy
[1575] Problems containing errors generated by the AI:
[1576] def multiply(x, y):
[1577] return x + y needs to be corrected
[1578] User's answer:
[1579] Emotion engine recognition: Recognizes when a user is confident in their answers and provides positive feedback.
[1580] Long-term learning progress management
[1581] 13. Server: Records the results of the comprehension test and manages the user's learning progress. It also records the user's emotional data and analyzes the long-term learning effect.
[1582] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[1583] The processing flow will be explained below.
[1584] Step 1:
[1585] User: Opens a browser, accesses the web service page, enters source code into the form, and presses the "Submit" button.
[1586] Step 2:
[1587] Terminal: Generates an HTTP request containing the input source code and sends it to the server.
[1588] Step 3:
[1589] Server: Receives the HTTP request and extracts the input source code.
[1590] Step 4:
[1591] Server: Checks the format of the extracted source code and performs preprocessing to remove comments and unnecessary whitespace.
[1592] Step 5:
[1593] Server: Makes API requests to pass the preprocessed source code to the generative AI model.
[1594] Step 6:
[1595] Server: Sends API requests to the endpoint of the generated AI model.
[1596] Step 7:
[1597] Generative AI model: Generates comprehension tests based on preprocessed source code.
[1598] Extract the important parts of the code and create fill-in-the-blank questions.
[1599] Generate word questions to check your understanding of the code.
[1600] Generate code that contains errors and create a problem that requires you to fix it.
[1601] Automatically generate similar tasks and create problems to solve them.
[1602] Step 8:
[1603] Generative AI model: Generates comprehension test data and sends it back to the server.
[1604] Step 9:
[1605] Server: Formats the comprehension test data received from the generative AI model, generates HTML for display as a web page, and sends this HTML to the user's device.
[1606] Step 10:
[1607] Terminal: Display the received HTML in the browser.
[1608] Step 11:
[1609] User: Enters answers to the displayed comprehension test. At this time, the emotion engine recognizes the user's emotions from facial expressions, voice, keystrokes, etc.
[1610] Step 12:
[1611] Emotion engine: Collects emotion data and sends it to the server in real time.
[1612] Step 13:
[1613] User: After answering all questions, press the "Submit" button.
[1614] Step 14:
[1615] Terminal: Generates an HTTP request containing the user's response data and sends it to the server.
[1616] Step 15:
[1617] Server: Receives the user's answer data and emotion data, sends it back to the generative AI model, and requests scoring.
[1618] Step 16:
[1619] Generative AI model: Based on the user's answers, it judges whether they are correct or incorrect, generates a score and explanation, and adjusts the feedback content and difficulty level based on emotional data.
[1620] Step 17:
[1621] Generative AI model: Sends the scoring results and explanations back to the server.
[1622] Step 18:
[1623] Server: Formats the scoring results and explanations received from the generative AI model, generates HTML to present to the user, and sends this HTML to the user's device.
[1624] Step 19:
[1625] Terminal: Display the received HTML in the browser.
[1626] Step 20:
[1627] Users: Review their scores and explanations to understand their own understanding and emotional feedback.
[1628] Step 21:
[1629] Server: Records the results of the comprehension test and manages the user's learning progress. It also records the user's emotional data and analyzes the long-term learning effect.
[1630] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[1631] Example 2
[1632] 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."
[1633] In conventional source code comprehension testing systems, users' comprehension assessments are uniform, making it difficult to provide feedback tailored to individual comprehension levels and emotions. Furthermore, if a user feels confused or stressed by the comprehension test, the system cannot recognize that data and respond immediately. To solve this problem, a learning support system that takes the user's emotions into account is needed.
[1634] 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.
[1635] In this invention, the server includes means for inputting source code, means for generating a comprehension test based on the input source code using a generative AI model, means for presenting the generated comprehension test to the user, means for receiving the user's answers to the comprehension test, means for scoring the received answers, means for presenting the scoring results and explanations to the user, means for recognizing the user's emotions, and means for adjusting the feedback content and the difficulty of the comprehension test based on the recognized emotion data, thereby enabling appropriate feedback and learning support to be provided according to each user's level of comprehension and emotions.
[1636] "Source code" means a textual description of a program, written in a programming language.
[1637] The "means for inputting" refers to an interface that allows a user to use a terminal to send source code to the system.
[1638] A "generative AI model" refers to an algorithm or system that uses artificial intelligence techniques to generate a specific output based on input data.
[1639] A "Comprehension Test" includes a series of questions or problems designed to assess comprehension of source code.
[1640] "Means for presenting to the user" refers to an interface for displaying information such as comprehension tests and scoring results to the user.
[1641] The term "means for receiving answers" refers to an interface that allows the system to receive answers entered by the user to the comprehension test.
[1642] "Scoring mechanism" refers to the algorithm or system used to evaluate a user's responses and generate a score or feedback.
[1643] "Means for presenting explanations" refers to an interface for displaying the results of the comprehension test and related feedback to the user.
[1644] "Means for recognizing emotions" refers to a system for analyzing a user's facial expressions, voice, input actions, etc. to identify the user's emotional state.
[1645] "Emotional data" refers to data that contains information about a user's emotional state.
[1646] "Means to tailor feedback content and test difficulty" refers to algorithms and systems that use emotional data to individually optimize a user's learning experience.
[1647] This system automatically generates comprehension tests based on source code entered by a user and evaluates the user's answers to the tests. It also has a function to recognize the user's emotions and adjust the feedback content and test difficulty accordingly. This system includes a server, a terminal used by the user, a generative AI model, and an emotion engine.
[1648] System configuration
[1649] The system includes the following components:
[1650] Server: Receives and preprocesses source code, generates comprehension tests, receives and scores answers, and processes emotion data.
[1651] Terminal: Provides an interface for users to enter source code and answer comprehension tests.
[1652] Generative AI model: Generates comprehension tests based on input source code.
[1653] Emotion engine: Recognizes user emotions and generates emotion data.
[1654] Inputting and Preprocessing Source Code
[1655] A user accesses a web service through a browser on a terminal, enters source code into a form, and presses the "Submit" button. The entered source code is sent to the server as an HTTP request. The server receives the HTTP request and extracts the entered source code. The server then performs preprocessing to remove comments and unnecessary whitespace.
[1656] Generate comprehension tests
[1657] The preprocessed source code is passed from the server to a generative AI model, which generates comprehension tests such as fill-in-the-blank questions, word problems, and error correction questions based on the received source code. The generated comprehension tests are then sent back to the server.
[1658] Present a comprehension test and receive answers
[1659] The generated comprehension test is generated as HTML by the server and sent to the user's device. The user enters their answers into the displayed comprehension test and submits it. At this time, the emotion engine recognizes the user's emotions from their facial expressions, voice, keystrokes, etc., and generates emotion data. The generated emotion data is sent to the server.
[1660] Processing and scoring of answers and sentiment data
[1661] The server receives the user's answer data and emotion data, sends them to the generative AI model, and requests scoring. The generative AI model determines whether the user's answer is correct or incorrect, generates a score and explanation, and adjusts the feedback content and test difficulty based on the emotion data.
[1662] Presentation of scoring results and explanations
[1663] The server formats the scores, explanations, and adjustments, generating an HTML file that is then sent to the user's device, where the user can view the results.
[1664] Specific examples
[1665] Example 1: Filling in the gaps in source code and emotion recognition
[1666] User-entered source code:
[1667] def add(a, b):
[1668] return a + b
[1669] Fill-in-the-blank questions generated by generative AI:
[1670] def add(a, b):
[1671] return a ____ b
[1672] User Answer:+
[1673] Emotional Engine Recognition: Recognize when the user is confused and adjust the difficulty accordingly.
[1674] Example 2: Error correction and feedback adjustment
[1675] User-entered source code:
[1676] def multiply(x, y):
[1677] return xy
[1678] Problems containing errors generated by the AI:
[1679] def multiply(x, y):
[1680] return x + y needs to be corrected
[1681] User's answer:
[1682] Emotion engine recognition: Recognizes when a user is confident in their answers and provides positive feedback.
[1683] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[1684] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1685] Step 1:
[1686] The user enters and submits the source code.
[1687] Specific operation: A user accesses a web service through a web browser, enters source code into the input form on the screen, and then clicks the "Submit" button.
[1688] Input: Source code entered by the user into an input form on the device.
[1689] Output: The source code entered as an HTTP request is sent to the server.
[1690] Step 2:
[1691] The server receives the source code and performs preprocessing.
[1692] What it does: The server receives an HTTP request, extracts the source code from the request, and then pre-processes it to remove comments and unnecessary whitespace.
[1693] Input: The source code in the HTTP request sent by the user.
[1694] Output: Preprocessed source code.
[1695] Step 3:
[1696] The server sends a request to the generative AI model
[1697] Specific operation: The server prepares API request data to pass the preprocessed source code to the generative AI model, and sends the API request to the generative AI model's endpoint.
[1698] Input: Preprocessed source code.
[1699] Output: API request data to send to the generative AI model.
[1700] Step 4:
[1701] A generative AI model generates comprehension tests
[1702] How it works: The generative AI model generates comprehension tests based on the received source code, including fill-in-the-blank, essay questions, and error correction questions.
[1703] Input: Preprocessed source code sent by the server.
[1704] Output: The generated comprehension test data.
[1705] Step 5:
[1706] The server presents the comprehension test to the user.
[1707] Specific operation: The server receives the generated comprehension test data, generates HTML for displaying the comprehension test, and sends it to the user's device.
[1708] Input: Comprehension test data returned from the generative AI model.
[1709] Output: The HTML of the assessment that will be displayed on the user's device.
[1710] Step 6:
[1711] The user completes the assessment
[1712] Specific operation: The user enters answers to the comprehension test displayed on the terminal and submits it.
[1713] Input: The answers the user entered into the quiz.
[1714] Output: User response data sent to the server.
[1715] Step 7:
[1716] Emotion engine recognizes user emotions
[1717] Specific operation: The emotion engine analyzes the user's facial expressions, voice, and keystroke patterns to identify the user's emotional state, then generates emotion data and sends it to the server.
[1718] Input: User behavior data (facial expressions, voice, keystroke patterns).
[1719] Output: User emotion data.
[1720] Step 8:
[1721] The server sends the answer data and emotion data to the generative AI model.
[1722] Specific operation: The server sends the user's answer data and emotion data to the generative AI model and requests scoring.
[1723] Input: User response data and sentiment data.
[1724] Output: API data for the scoring request.
[1725] Step 9:
[1726] Generative AI model scores
[1727] How it works: The generative AI model evaluates the user's answers, determines whether they are correct, and adjusts the feedback and difficulty of the questions based on emotional data.
[1728] Input: User answer data and emotion data.
[1729] Output: Marking results and tailored feedback.
[1730] Step 10:
[1731] The server presents the score and commentary
[1732] Specific operation: The server formats the scoring results and feedback received from the generative AI model, generates HTML to present to the user, and sends it to the user's device.
[1733] Input: Scoring and feedback from the generative AI model.
[1734] Output: HTML of the score and feedback displayed on the user's device.
[1735] (Application example 2)
[1736] 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."
[1737] Conventional source code comprehension testing systems have the problem of not being able to fully grasp the user's motivation to learn or their level of understanding. Furthermore, they do not provide feedback or adjust the difficulty level based on the user's emotions, which can lead to a decrease in learning effectiveness. Therefore, there is a need for a system that recognizes the user's emotions and optimizes the learning experience based on them.
[1738] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1739] In this invention, the server includes means for inputting source code, means for generating a comprehension test based on the input source code using a generative AI model, means for presenting the generated comprehension test to the user, means for receiving the user's answers to the comprehension test, means for scoring the received answers, means for presenting the scoring results and explanations to the user, means for collecting data using an emotion engine that recognizes the user's emotions, and means for adjusting the feedback content and the difficulty of the comprehension test based on the collected emotion data, thereby making it possible to provide feedback according to the user's emotions and optimal learning conditions.
[1740] "Source code" is a set of textual instructions written to make up a program.
[1741] A "generative AI model" is an algorithm or system that uses artificial intelligence to automatically generate source code and comprehension tests.
[1742] The "comprehension test" is a test that generates questions based on the source code entered by the user and evaluates the user's level of comprehension.
[1743] An "emotion engine" is a system that recognizes emotions from a user's facial expressions, voice, actions, etc. and collects them as data.
[1744] "Feedback" refers to evaluations and advice provided based on the user's test answers and emotional data.
[1745] "Difficulty adjustment" is a function that changes the difficulty of the questions displayed based on the user's learning situation and emotional data.
[1746] A "server" is a computer system that receives and processes user requests over a network.
[1747] The "data collection means" refers to a function or device for collecting data on the user's emotions through the emotion engine.
[1748] "Scoring" is the process of evaluating and scoring user-submitted test answers.
[1749] This invention describes the configuration and processing method of a system that allows a user to input source code and evaluate its level of understanding. The system includes a server, a terminal, a generative AI model, and an emotion engine.
[1750] System configuration
[1751] Inputting and Preprocessing Source Code
[1752] Device:
[1753] A user accesses the web service through a browser on their device, enters source code into the form, and presses the "Submit" button. This entered source code is sent to the server as an HTTP request.
[1754] server:
[1755] The server receives this HTTP request, extracts the input source code, and performs preprocessing to remove comments and unnecessary whitespace.
[1756] Generate comprehension tests
[1757] server:
[1758] Create an API request to pass the preprocessed source code to the generative AI model and send it to the generative AI model's endpoint.
[1759] Generative AI models:
[1760] Generates comprehension tests based on source code, specifically in the following formats:
[1761] Extract important parts of the code and create fill-in-the-blank questions.
[1762] Generate word questions to check your understanding of the code.
[1763] Generate code that contains errors and create a problem that requires you to fix it.
[1764] Automatically generate similar tasks and create problems to solve them.
[1765] The generated comprehension test is sent back to the server.
[1766] Presentation of comprehension tests and emotion recognition
[1767] server:
[1768] The generated comprehension test data is received, and HTML is generated to display it as a web page. This HTML is then sent to the user's device.
[1769] Device:
[1770] The user enters their answers into the displayed comprehension test. At this time, the emotion engine recognizes the user's emotions from their facial expressions, voice, keystrokes, etc. The emotion data is sent to the server in real time.
[1771] Emotion Engine:
[1772] The emotion engine collects and analyzes emotion data.
[1773] Receiving and scoring answers and emotion data
[1774] server:
[1775] The server receives the user's answer data and emotion data, and sends them again to the generative AI model to request scoring.
[1776] Generative AI models:
[1777] The generative AI model determines whether the user's answers are correct or incorrect, generates a score and explanation, and adjusts the feedback content and difficulty level based on emotional data.
[1778] Presentation of scoring results and explanations
[1779] server:
[1780] The system formats the scoring results and explanations received from the generative AI model, as well as adjustments based on emotion data, and generates HTML to present to the user. This HTML is then sent to the user's device.
[1781] Device:
[1782] The user reviews the displayed results and gets feedback based on their understanding and emotions.
[1783] Specific examples
[1784] Example 1: Filling in the gaps in source code and emotion recognition
[1785] User-entered source code:
[1786] def add(a, b):
[1787] return a + b
[1788] Fill-in-the-blank questions generated by generative AI:
[1789] def add(a, b):
[1790] return a ____ b
[1791] User Answer:+
[1792] Emotional Engine Recognition: Recognize when the user is confused and adjust the difficulty accordingly.
[1793] Example 2: Error correction and feedback adjustment
[1794] User-entered source code:
[1795] def multiply(x, y):
[1796] return xy
[1797] Problems containing errors generated by the AI:
[1798] def multiply(x, y):
[1799] return x + y needs to be corrected
[1800] User's answer:
[1801] Emotion engine recognition: Recognizes when a user is confident in their answers and provides positive feedback.
[1802] Prompt Sentence Examples
[1803] Example prompts for generating comprehension tests:
[1804] Generate a comprehension test for the following code: def subtract(a, b): return a - b
[1805] Sample grading and feedback prompts:
[1806] Grade the following answer: a - b based on the emotion data: {'confused': False, 'engaged': True}
[1807] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[1808] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1809] Step 1:
[1810] A user accesses a web service through a browser, enters source code, and presses the "Submit" button. The entered source code is sent to the server as an HTTP request. The input here is the source code entered by the user, and the output is the HTTP request received by the server.
[1811] Step 2:
[1812] The server extracts source code from the received HTTP request and performs preprocessing to remove comments and unnecessary whitespace. This process transforms the source code into a preprocessed format. The input is the source code extracted from the HTTP request, and the output is the preprocessed source code.
[1813] Step 3:
[1814] Based on the preprocessed source code, the server creates an API request to the generative AI model. The server sends the API request to the endpoint of the generative AI model. The input is the preprocessed source code, and the output is the API request to the generative AI model.
[1815] Step 4:
[1816] The generative AI model automatically generates comprehension tests based on the input source code. The generated comprehension tests include fill-in-the-blank questions, essay questions, and error correction questions. The input is an API request from the server, and the output is the generated comprehension test.
[1817] Step 5:
[1818] The server receives the comprehension test data returned from the generative AI model and converts it into HTML for display as a web page. The input is the comprehension test data from the generative AI model, and the output is HTML for presentation to the user.
[1819] Step 6:
[1820] The user inputs answers to the generated comprehension test. While answering, the emotion engine recognizes the user's facial expressions and voice using the device's camera and microphone. The input here is the user's answer and emotion data, and the output is emotion data analyzed by the emotion engine.
[1821] Step 7:
[1822] The emotion engine collects user emotion data in real time and sends it to the server. The input is the user emotion data, and the output is the analyzed emotion data sent to the server.
[1823] Step 8:
[1824] The server receives the user's response data and emotion data and requests that they be sent to the generative AI model again for scoring. The input is the user's response data and emotion data, and the output is a scoring request to the generative AI model.
[1825] Step 9:
[1826] The generative AI model determines whether the user's answer is correct or incorrect, and generates a score and explanation. It also adjusts the feedback content and the difficulty of the comprehension test based on emotional data. The input is a scoring request from the server, and the output is the score, explanation, and adjusted feedback.
[1827] Step 10:
[1828] The server formats the scoring results and explanations received from the generative AI model, as well as adjustments based on emotion data, and generates HTML to present to the user. The input is the scoring results and explanations from the generative AI model, and the adjustments, and the output is HTML to present to the user.
[1829] Step 11:
[1830] The user sees the results displayed as HTML and gets feedback based on their understanding and feelings. The input is the HTML output from the server, and the output is the user's understanding and feedback.
[1831] 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.
[1832] 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.
[1833] 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.
[1834] [Fourth embodiment]
[1835] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1836] 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.
[1837] 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).
[1838] 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.
[1839] 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.
[1840] 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).
[1841] 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.
[1842] 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.
[1843] 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.
[1844] 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.
[1845] 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.
[1846] 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.
[1847] 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."
[1848] The present invention relates to a system for checking the comprehension level of specific source code, and is characterized by automatically generating comprehension tests using a generative AI model. An embodiment of this system is described in detail below.
[1849] System configuration
[1850] This system includes a server, a terminal used by the user, and a generative AI model. The configuration and function of each element are explained below.
[1851] Inputting and Preprocessing Source Code
[1852] 1. Terminal: The user accesses the web service through a browser and enters source code into the form. When the user presses the "Submit" button, an HTTP request is sent to the server.
[1853] 2. Server: Receives this HTTP request, extracts the input source code, and performs preprocessing to remove comments and unnecessary whitespace.
[1854] Generate comprehension tests
[1855] 3. Server: Sends the preprocessed source code to the generative AI model, which generates a comprehension test in the following format:
[1856] Extract important parts of the source code and create fill-in-the-blank questions.
[1857] Generates written questions to check whether you understand the contents of the source code.
[1858] Part of the source code is intentionally made incorrect, and a problem is generated that requires the user to correct the error.
[1859] Generate another similar problem based on the source code and create a problem to solve that problem.
[1860] 4. Generative AI model: Generates the comprehension test and sends the data back to the server.
[1861] Presenting a comprehension test
[1862] 5. Server: Receives the generated comprehension test, generates HTML for displaying it as a web page, and sends this HTML to the user's device.
[1863] 6. Terminal: The user fills in the displayed comprehension test and submits the answers.
[1864] Receiving and grading answers
[1865] 7. Server: Receives the user's answers and sends them back to the generative AI model for scoring.
[1866] 8. Generative AI model: Based on the user's answers, it determines whether they are correct or incorrect and generates a score and explanation.
[1867] Presentation of scoring results and explanations
[1868] 9. Server: Receives the score and explanations, generates HTML for display as a web page, and sends this HTML to the user's device.
[1869] 10. Terminal: The user checks the displayed results and assesses their understanding.
[1870] Specific examples
[1871] Example 1: Fill in the gaps for important parts of the source code
[1872] User-entered source code:
[1873] def add(a, b):
[1874] return a + b
[1875] Fill-in-the-blank questions generated by generative AI:
[1876] def add(a, b):
[1877] return a ____ b
[1878] User Answer: +
[1879] Example 2: Error correction questions
[1880] User-entered source code:
[1881] def multiply(x, y):
[1882] return xy
[1883] Problems containing errors generated by the AI:
[1884] def multiply(x, y):
[1885] return x + y needs to be corrected
[1886] User's answer:
[1887] Example 3: A problem that generates and solves a similar problem
[1888] User-entered source code:
[1889] def subtract(a, b):
[1890] return a - b
[1891] Similar problem generated by generative AI (division problem):
[1892] def divide(a, b):
[1893] return a / b User demonstrates understanding of division to answer
[1894] As described above, this system allows learners to evaluate their own understanding of source code from multiple angles, and aims to further improve their skills.
[1895] The processing flow will be explained below.
[1896] Step 1:
[1897] User: Opens a browser, accesses the web service page, enters source code into the form, and presses the "Submit" button.
[1898] Step 2:
[1899] Terminal: Generates an HTTP request containing the input source code and sends it to the server.
[1900] Step 3:
[1901] Server: Receives the HTTP request and extracts the input source code.
[1902] Step 4:
[1903] Server: Checks the format of the extracted source code and performs preprocessing to remove comments and unnecessary whitespace.
[1904] Step 5:
[1905] Server: Makes API requests to pass the preprocessed source code to the generative AI model.
[1906] Step 6:
[1907] Server: Sends API requests to the endpoint of the generated AI model.
[1908] Step 7:
[1909] Generative AI model: Generates comprehension tests based on preprocessed source code.
[1910] Extract the important parts of the code and create fill-in-the-blank questions.
[1911] Generates written questions that test whether you understand the code content.
[1912] Generate code that contains errors and create a problem that requires you to fix it.
[1913] Automatically generate similar tasks and create problems to solve them.
[1914] Step 8:
[1915] Generative AI model: Generates comprehension test data and sends it back to the server.
[1916] Step 9:
[1917] Server: Formats the comprehension test data received from the generative AI model and generates HTML for display as a web page.
[1918] Step 10:
[1919] Server: Sends the generated HTML to the terminal as an HTTP response.
[1920] Step 11:
[1921] Terminal: Display the received HTML in the browser.
[1922] Step 12:
[1923] User: Enter your answers into the assessment provided.
[1924] Step 13:
[1925] User: After answering all questions, press the "Submit" button.
[1926] Step 14:
[1927] Terminal: Generates an HTTP request containing the user's response data and sends it to the server.
[1928] Step 15:
[1929] Server: Receives the user's answer data and sends it back to the generative AI model for scoring.
[1930] Step 16:
[1931] Generative AI model: Based on the user's answers, it determines whether they are correct or incorrect and generates a score and explanation.
[1932] Step 17:
[1933] Generative AI model: Sends the scoring results and explanations back to the server.
[1934] Step 18:
[1935] Server: Formats the scoring results and explanations received from the generative AI model and generates HTML to present to the user.
[1936] Step 19:
[1937] Server: Sends the generated HTML to the terminal as an HTTP response.
[1938] Step 20:
[1939] Terminal: Display the received HTML in the browser.
[1940] Step 21:
[1941] Users: Check the marks and explanations to understand their own understanding.
[1942] Example 1
[1943] 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."
[1944] Current source code learning support systems lack a means for users to evaluate their own understanding of source code from multiple angles. Manual question creation and grading is time-consuming, making it difficult to perform rapid evaluations. This makes it difficult for users to achieve effective learning and provides feedback tailored to their individual level of understanding.
[1945] 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.
[1946] In this invention, the server includes means for a user to input source code, means for receiving the input source code and performing preprocessing, means for generating a prompt sentence based on the preprocessed source code and sending it to the generative AI model, means for generating a comprehension test using the generative AI model, means for presenting the generated comprehension test to the user's terminal, means for receiving the user's answers to the comprehension test, means for again sending the received answers to the generative AI model for scoring, and means for generating and presenting the scoring results and explanations to the user. This allows the user to quickly and automatically evaluate their level of comprehension of the source code and receive individual feedback.
[1947] A "user" is a person who uses the system to test their understanding of the source code.
[1948] The "means of input" is the interface through which the user provides source code to the system, typically a form in a web browser.
[1949] "Preprocessing means" is a process of removing unnecessary comments and whitespace from the received source code and formatting it into a form that is easy to process.
[1950] A "prompt" is an instruction or material provided to a generative AI model to generate a comprehension test.
[1951] A "generative AI model" is a type of artificial intelligence that automatically generates comprehension tests based on source code entered by the user.
[1952] A "comprehension test" is a set of questions or problems that are based on the source code entered by the user and are used to assess whether the user understands its contents and operation.
[1953] The "means of presentation" refers to the mechanism for displaying the generated comprehension test and the scoring results to the user, and is usually a web page in HTML format.
[1954] The "means for receiving answers" is the process by which the server receives the answers entered by the user to the comprehension test.
[1955] "Means of scoring" refers to the process of using a generative AI model to evaluate the received user answers and determine whether they are correct or incorrect.
[1956] The "scoring results and explanations" are the evaluation results of the user's answers and explanations based on those results, and are feedback to support the user's learning.
[1957] The present invention relates to a system for checking the comprehension level of a specific source code, and is characterized by automatically generating comprehension tests using a generative AI model. The following describes in detail an embodiment of the present invention.
[1958] System configuration
[1959] This system consists of three main components: a server, a user's device, and a generative AI model. The server receives source code, preprocesses it, generates prompts, presents comprehension tests, and displays the scoring results. The user's device inputs source code, receives comprehension tests, and sends answers. The generative AI model is responsible for generating comprehension tests based on the provided prompts.
[1960] Inputting and Preprocessing Source Code
[1961] The user accesses the specified URL using a web browser and enters the source code into the form. After entering the information, the user clicks the "Submit" button, and the source code is sent to the server as an HTTP request. The server then performs preprocessing to remove unnecessary comments and spaces from the received source code. Specifically, it removes unnecessary parts using Python's regular expression library (re) or similar.
[1962] Generate comprehension tests
[1963] The server generates a prompt based on the preprocessed source code, which includes a brief description of the source code and details of the test questions to be generated. The generated prompt is then sent to a generative AI model to generate a comprehension test.
[1964] Example prompt sentence:
[1965] Please create a comprehension test based on the source code below.
[1966] def add(a, b):
[1967] return a + b
[1968] Based on the prompt, the generative AI model generates a comprehension test of the following form:
[1969] Extract important parts of the source code and create fill-in-the-blank questions.
[1970] Generates written questions that ask about the contents of source code.
[1971] Generate source code containing errors and create problems that require the user to fix them.
[1972] Generate similar tasks and create problems to solve those tasks.
[1973] Presenting comprehension tests and receiving answers
[1974] The server receives the comprehension test and generates an HTML page to be presented to the user's device. The user checks the comprehension test on the device, enters their answers, and submits them. The answers are then sent back to the server as an HTTP request.
[1975] Grading answers
[1976] The server receives the user's answers and sends them to the generative AI model for scoring. The generative AI model determines whether the answers are correct and generates a score and explanation. The server receives this and again generates an HTML result display page and presents it to the user.
[1977] Specific examples
[1978] Example 1: Fill in the gaps for important parts of the source code
[1979] User-entered source code:
[1980] def add(a, b):
[1981] return a + b
[1982] Fill-in-the-blank questions generated by generative AI:
[1983] def add(a, b):
[1984] return a ____ b
[1985] User Answer: +
[1986] Example 2: Error correction questions
[1987] User-entered source code:
[1988] def multiply(x, y):
[1989] return xy
[1990] Problems containing errors generated by the AI:
[1991] def multiply(x, y):
[1992] return x + y needs to be corrected
[1993] User's answer:
[1994] Example 3: A problem that generates and solves a similar problem
[1995] User-entered source code:
[1996] def subtract(a, b):
[1997] return a - b
[1998] Similar problem generated by generative AI (division problem):
[1999] def divide(a, b):
[2000] return a / b User demonstrates understanding of division to answer
[2001] In this way, this system allows users to quickly evaluate their understanding of source code and achieve effective learning by receiving individual feedback.
[2002] The flow of the identification process in the first embodiment will be described with reference to FIG.
[2003] Program processing steps and their specific operations
[2004] Step 1:
[2005] The user enters and submits the source code.
[2006] Input: The user enters source code into a form on a web browser and clicks the "Submit" button.
[2007] How it works: The source code is sent to the server as an HTTP request.
[2008] Output: Source code is sent to the server and received as request data.
[2009] Step 2:
[2010] The server receives the source code and performs preprocessing.
[2011] Input: The HTTP request sent by the user.
[2012] How it works: The server extracts the source code from the request body, then uses Python's regular expressions library (re) to pre-process the source code, removing unnecessary comments and extra whitespace.
[2013] Output: Preprocessed source code.
[2014] Step 3:
[2015] The server generates a prompt sentence and sends it to the generative AI model.
[2016] Input: Preprocessed source code.
[2017] How it works: The server generates a prompt based on the preprocessed source code, then sends this prompt to the generative AI model, which includes a brief description of the source code and details of the test questions to be generated.
[2018] Example prompt sentence:
[2019] Please create a comprehension test based on the source code below.
[2020] def add(a, b):
[2021] return a + b
[2022] Output: The prompt sent to the generative AI model.
[2023] Step 4:
[2024] A generative AI model generates comprehension tests.
[2025] Input: The prompt text sent by the server.
[2026] How it works: Based on the prompt, the generative AI model generates a comprehension test that includes questions like:
[2027] Extract important parts of the source code and create fill-in-the-blank questions.
[2028] Generate content-based written questions.
[2029] Create problems to generate similar tasks and have them solved.
[2030] Output: The generated comprehension test.
[2031] Step 5:
[2032] The server presents the comprehension test to the user.
[2033] Input: Comprehension test returned by the generative AI model.
[2034] How it works: The server receives the comprehension test, generates an HTML web page containing the generated test questions and answer fields, and then sends this HTML to the user's device.
[2035] Output: The HTML page that is sent to the user's device.
[2036] Step 6:
[2037] The user answers the test and submits it.
[2038] Input: The comprehension test sent from the server.
[2039] How it works: The user reviews the test on their device, enters their answers, and then clicks the "Submit" button to send their answers to the server.
[2040] Output: The answer sent to the server.
[2041] Step 7:
[2042] The server receives the user's answers and sends them to the generative AI model for scoring.
[2043] Input: The answer submitted by the user.
[2044] How it works: The server receives the user's answer and sends it to the generative AI model for scoring. The generative AI model then determines whether the user's answer is correct or incorrect and generates a score and explanation.
[2045] Output: Data including the score and explanation.
[2046] Step 8:
[2047] The server presents the score and commentary to the user.
[2048] Input: Scores and explanations sent by the generative AI model.
[2049] How it works: The server generates an HTML result page based on the received score and explanation. This page contains the correctness of the user's answer, the score, and an explanation. Then, it sends this HTML to the user's device.
[2050] Output: The HTML page that is sent to the user's device.
[2051] Step 9:
[2052] The user checks the results.
[2053] Input: Scoring results and explanations sent from the server.
[2054] Action: The user's browser receives and displays the results page, which the user can review to assess their understanding.
[2055] Output: User sees feedback.
[2056] The above are the detailed processing steps of the program in this system. The data processing and calculations performed at each step support the effective operation of the system.
[2057] (Application example 1)
[2058] 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."
[2059] There is currently a lack of systems to effectively evaluate and improve engineers' understanding of control programs for factory robots. In particular, there is a need for an automated test system that can evaluate the understanding of control programs from multiple perspectives. Conventional methods often require manual evaluation, which is time-consuming and labor-intensive, and has problems with fairness and consistency.
[2060] 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.
[2061] In this invention, the server includes: means for inputting source code; means for generating a comprehension test based on the input source code using a generative AI model; means for presenting the generated comprehension test to a user; means for receiving the user's answers to the comprehension test; means for scoring the received answers; means for presenting the scoring results and explanations to the user; means for inputting source code for a factory robot control program and generating a comprehension test for evaluating the source code; and means for providing a user interface for inputting the factory robot control program from a smart device. This enables engineers to efficiently and fairly evaluate and further improve their comprehension of their control programs.
[2062] "Source code" means instructions in text files that make up a program, and are directives written in a programming language to perform specific actions.
[2063] A "comprehension test" is a test that includes various tasks and questions to evaluate how well a user understands the contents of the source code that they have entered.
[2064] A "generative AI model" is an artificial intelligence model trained by a machine learning algorithm that generates text based on a specific prompt.
[2065] A "factory robot" is a program-controlled mechanical device used to automate manufacturing and assembly tasks in a factory.
[2066] A "control program" is software that contains a series of instructions for directing and controlling the movements of a robot.
[2067] A "user interface" is the part of a system that provides the means or methods for a user to interact with the system.
[2068] A "smart device" is a portable electronic device equipped with Internet connectivity and high-performance processing capabilities.
[2069] A "server" is a computer system that receives requests from clients and provides services.
[2070] MODE FOR CARRYING OUT THE INVENTION
[2071] System Overview
[2072] This invention is a system for automatically generating comprehension tests for factory robot control programs to evaluate and improve engineers' technical skills. This system includes a server, a terminal used by users, and a generation AI model, and has the following configuration and functions.
[2073] Inputting and Preprocessing Source Code
[2074] 1. Using the terminal:
[2075] Users use smart devices such as smartphones, smart glasses, head-mounted displays, or robot tablets to input the source code for the factory robot's control program, which is then sent to the server via a web service.
[2076] 2. Preprocessing on the server:
[2077] The server receives the transmitted source code and pre-processes it to remove comments and unnecessary whitespace.
[2078] Generate comprehension tests
[2079] 3. Send from server to generative AI model:
[2080] The preprocessed source code is sent to a generative AI model, which is trained based on machine learning algorithms and generates text using prompt sentences.
[2081] 4. Example prompt:
[2082] Generate a test to assess your understanding of the following robot control program:
[2083] def move_robot(direction, steps):
[2084] if direction == 'forward':
[2085] robot.move_forward(steps)
[2086] elif direction == 'backward':
[2087] robot.move_backward(steps)
[2088] elif direction == 'left':
[2089] robot.turn_left(steps)
[2090] elif direction == 'right':
[2091] robot.turn_right(steps)
[2092] 5. Test generation using generative AI models:
[2093] The generative AI model generates comprehension tests based on the input source code. For example, it extracts important parts of the source code to create fill-in-the-blank questions, or generates questions that intentionally include errors in the code and require corrections.
[2094] Presenting comprehension tests and accepting answers
[2095] 6. Test presentation from server to device:
[2096] The generated comprehension test is sent to the user's terminal via the server. The user answers the displayed test and then sends the answers.
[2097] Receiving and grading answers
[2098] 7. Receiving the answer on the server:
[2099] The user's answers are received by the server, and are then sent back to the generative AI model, where they are judged correct and scored.
[2100] 8. Generative AI model for scoring and commentary generation:
[2101] The generative AI model determines whether the user's answers are correct or incorrect and generates a scoring result that includes detailed feedback and explanations.
[2102] Presentation of scoring results and explanations
[2103] 9. Displaying results from the server to the device:
[2104] The scoring results and explanations are sent to the user's device via the server, where the user can view them to check their level of understanding of the factory robot's control program and further improve their skills.
[2105] As described above, this system makes it possible to evaluate and improve the technical skills of engineers related to factory robot control programs from multiple angles.
[2106] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[2107] Step 1:
[2108] A user accesses the web service using a device (smartphone, smart glasses, head-mounted display, or a robot tablet) and enters the source code of the factory robot's control program into the input form. When the user presses the "Submit" button, the source code is sent to the server as an HTTP request.
[2109] Input: Source code for the factory robot control program
[2110] Output: Source code sent to the server as an HTTP request
[2111] Step 2:
[2112] The server extracts the source code from the received HTTP request, preprocesses it to remove comments and unnecessary whitespace, and passes the preprocessed source code on to the next step.
[2113] Input: Submitted source code
[2114] Output: Preprocessed source code
[2115] Step 3:
[2116] The server creates a prompt to send the preprocessed source code to the generative AI model, for example, "Please generate a test to assess the comprehension of the following robot control program:" and adds the source code to the prompt.
[2117] Input: Preprocessed source code
[2118] Output: A prompt to send to the generative AI model
[2119] Step 4:
[2120] The server sends a prompt to the generative AI model and asks it to generate a comprehension test. The generative AI model generates a comprehension test based on the prompt and sends the test back to the server.
[2121] Input: prompt statement
[2122] Output: Comprehension test returned by the generative AI model
[2123] Step 5:
[2124] The server generates the generated comprehension test as an HTML web page and sends it to the user's device. The user can view the comprehension test on the device screen and enter their answers.
[2125] Input: Comprehension test returned by the generative AI model
[2126] Output: HTML assessment
[2127] Step 6:
[2128] The user answers the comprehension test and sends the answers to the server via the web service, which receives the answers.
[2129] Input: User's answer
[2130] Output: The answer sent to the server
[2131] Step 7:
[2132] The server then sends the received answers to the generative AI model, which then scores the answers and generates explanations for them. The generative AI model then scores the answers and generates explanations for them, which are then sent back to the server.
[2133] Input: User's answer
[2134] Output: Scoring and commentary returned by the generative AI model
[2135] Step 8:
[2136] The server generates a web page with the score and explanations in HTML format and sends it to the user's device. The user can check the results and understand their own level of understanding.
[2137] Input: Scoring results and explanations returned by the generative AI model
[2138] Output: HTML format score and explanations
[2139] 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.
[2140] The present invention relates to a system for checking the comprehension level of specific source code, and is characterized by automatically generating comprehension tests using a generative AI model. The system also provides a system that improves the learning experience by combining it with an emotion engine that recognizes the user's emotions. An embodiment of the system is described in detail below.
[2141] System configuration
[2142] This system includes a server, a terminal used by the user, a generative AI model, and an emotion engine. The configuration and function of each element are explained below.
[2143] Inputting and Preprocessing Source Code
[2144] 1. Terminal: The user accesses the web service through a browser, enters source code into the form, and presses the "Submit" button. The entered source code is sent to the server as an HTTP request.
[2145] 2. Server: Receives this HTTP request, extracts the input source code, and performs preprocessing to remove comments and unnecessary whitespace.
[2146] Generate comprehension tests
[2147] 3. Server: Creates an API request to pass the preprocessed source code to the generative AI model and sends the API request to the generative AI model's endpoint.
[2148] 4. Generative AI model: Based on the source code, it generates comprehension tests in the following format:
[2149] Extract important parts of the code and create fill-in-the-blank questions.
[2150] Generate word questions to check your understanding of the code.
[2151] Generate code that contains errors and create a problem that requires you to fix it.
[2152] Automatically generate similar tasks and create problems to solve them.
[2153] 5. Generative AI model: Generates comprehension test data and sends it back to the server.
[2154] Presentation of comprehension tests and emotion recognition
[2155] 6. Server: Receives the generated comprehension test data, generates HTML for displaying it as a web page, and sends this HTML to the user's device.
[2156] 7. Terminal: The user enters answers to the displayed comprehension test. At this time, the emotion engine recognizes the user's emotions from their facial expressions, voice, keystrokes, etc.
[2157] 8. Emotion Engine: Collects and analyzes emotion data, which is then sent to the server in real time.
[2158] Receiving and scoring answers and emotion data
[2159] 9. Server: Receives the user's answer data and emotion data, sends it back to the generative AI model, and requests scoring.
[2160] 10. Generative AI model: Based on the user's answers, it judges whether they are correct or incorrect, and generates a score and explanation. It also adjusts the feedback content and difficulty level based on emotional data.
[2161] Presentation of scoring results and explanations
[2162] 11. Server: Formats the scoring results and explanations received from the generative AI model, as well as adjustments based on emotion data, and generates HTML to present to the user. This HTML is then sent to the user's device.
[2163] 12. Terminal: The user reviews the displayed results and gets feedback based on their understanding and emotions.
[2164] Specific examples
[2165] Example 1: Filling in the gaps in source code and emotion recognition
[2166] User-entered source code:
[2167] def add(a, b):
[2168] return a + b
[2169] Fill-in-the-blank questions generated by generative AI:
[2170] def add(a, b):
[2171] return a ____ b
[2172] User Answer:+
[2173] Emotional Engine Recognition: Recognize when the user is confused and adjust the difficulty accordingly.
[2174] Example 2: Error correction and feedback adjustment
[2175] User-entered source code:
[2176] def multiply(x, y):
[2177] return xy
[2178] Problems containing errors generated by the AI:
[2179] def multiply(x, y):
[2180] return x + y needs to be corrected
[2181] User's answer:
[2182] Emotion engine recognition: Recognizes when a user is confident in their answers and provides positive feedback.
[2183] Long-term learning progress management
[2184] 13. Server: Records the results of the comprehension test and manages the user's learning progress. It also records the user's emotional data and analyzes the long-term learning effect.
[2185] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[2186] The processing flow will be explained below.
[2187] Step 1:
[2188] User: Opens a browser, accesses the web service page, enters source code into the form, and presses the "Submit" button.
[2189] Step 2:
[2190] Terminal: Generates an HTTP request containing the input source code and sends it to the server.
[2191] Step 3:
[2192] Server: Receives the HTTP request and extracts the input source code.
[2193] Step 4:
[2194] Server: Checks the format of the extracted source code and performs preprocessing to remove comments and unnecessary whitespace.
[2195] Step 5:
[2196] Server: Makes API requests to pass the preprocessed source code to the generative AI model.
[2197] Step 6:
[2198] Server: Sends API requests to the endpoint of the generated AI model.
[2199] Step 7:
[2200] Generative AI model: Generates comprehension tests based on preprocessed source code.
[2201] Extract the important parts of the code and create fill-in-the-blank questions.
[2202] Generate word questions to check your understanding of the code.
[2203] Generate code that contains errors and create a problem that requires you to fix it.
[2204] Automatically generate similar tasks and create problems to solve them.
[2205] Step 8:
[2206] Generative AI model: Generates comprehension test data and sends it back to the server.
[2207] Step 9:
[2208] Server: Formats the comprehension test data received from the generative AI model, generates HTML for display as a web page, and sends this HTML to the user's device.
[2209] Step 10:
[2210] Terminal: Display the received HTML in the browser.
[2211] Step 11:
[2212] User: Enters answers to the displayed comprehension test. At this time, the emotion engine recognizes the user's emotions from facial expressions, voice, keystrokes, etc.
[2213] Step 12:
[2214] Emotion engine: Collects emotion data and sends it to the server in real time.
[2215] Step 13:
[2216] User: After answering all questions, press the "Submit" button.
[2217] Step 14:
[2218] Terminal: Generates an HTTP request containing the user's response data and sends it to the server.
[2219] Step 15:
[2220] Server: Receives the user's answer data and emotion data, sends it back to the generative AI model, and requests scoring.
[2221] Step 16:
[2222] Generative AI model: Based on the user's answers, it judges whether they are correct or incorrect, generates a score and explanation, and adjusts the feedback content and difficulty level based on emotional data.
[2223] Step 17:
[2224] Generative AI model: Sends the scoring results and explanations back to the server.
[2225] Step 18:
[2226] Server: Formats the scoring results and explanations received from the generative AI model, generates HTML to present to the user, and sends this HTML to the user's device.
[2227] Step 19:
[2228] Terminal: Display the received HTML in the browser.
[2229] Step 20:
[2230] Users: Review their scores and explanations to understand their own understanding and emotional feedback.
[2231] Step 21:
[2232] Server: Records the results of the comprehension test and manages the user's learning progress. It also records the user's emotional data and analyzes the long-term learning effect.
[2233] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[2234] Example 2
[2235] 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."
[2236] In conventional source code comprehension testing systems, users' comprehension assessments are uniform, making it difficult to provide feedback tailored to individual comprehension levels and emotions. Furthermore, if a user feels confused or stressed by the comprehension test, the system cannot recognize that data and respond immediately. To solve this problem, a learning support system that takes the user's emotions into account is needed.
[2237] 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.
[2238] In this invention, the server includes means for inputting source code, means for generating a comprehension test based on the input source code using a generative AI model, means for presenting the generated comprehension test to the user, means for receiving the user's answers to the comprehension test, means for scoring the received answers, means for presenting the scoring results and explanations to the user, means for recognizing the user's emotions, and means for adjusting the feedback content and the difficulty of the comprehension test based on the recognized emotion data, thereby enabling appropriate feedback and learning support to be provided according to each user's level of comprehension and emotions.
[2239] "Source code" means a textual description of a program, written in a programming language.
[2240] The "means for inputting" refers to an interface that allows a user to use a terminal to send source code to the system.
[2241] A "generative AI model" refers to an algorithm or system that uses artificial intelligence techniques to generate a specific output based on input data.
[2242] A "Comprehension Test" includes a series of questions or problems designed to assess comprehension of source code.
[2243] "Means for presenting to the user" refers to an interface for displaying information such as comprehension tests and scoring results to the user.
[2244] The term "means for receiving answers" refers to an interface that allows the system to receive answers entered by the user to the comprehension test.
[2245] "Scoring mechanism" refers to the algorithm or system used to evaluate a user's responses and generate a score or feedback.
[2246] "Means for presenting explanations" refers to an interface for displaying the results of the comprehension test and related feedback to the user.
[2247] "Means for recognizing emotions" refers to a system for analyzing a user's facial expressions, voice, input actions, etc. to identify the user's emotional state.
[2248] "Emotional data" refers to data that contains information about a user's emotional state.
[2249] "Means to tailor feedback content and test difficulty" refers to algorithms and systems that use emotional data to individually optimize a user's learning experience.
[2250] This system automatically generates comprehension tests based on source code entered by a user and evaluates the user's answers to the tests. It also has a function to recognize the user's emotions and adjust the feedback content and test difficulty accordingly. This system includes a server, a terminal used by the user, a generative AI model, and an emotion engine.
[2251] System configuration
[2252] The system includes the following components:
[2253] Server: Receives and preprocesses source code, generates comprehension tests, receives and scores answers, and processes emotion data.
[2254] Terminal: Provides an interface for users to enter source code and answer comprehension tests.
[2255] Generative AI model: Generates comprehension tests based on input source code.
[2256] Emotion engine: Recognizes user emotions and generates emotion data.
[2257] Inputting and Preprocessing Source Code
[2258] A user accesses a web service through a browser on a terminal, enters source code into a form, and presses the "Submit" button. The entered source code is sent to the server as an HTTP request. The server receives the HTTP request and extracts the entered source code. The server then performs preprocessing to remove comments and unnecessary whitespace.
[2259] Generate comprehension tests
[2260] The preprocessed source code is passed from the server to a generative AI model, which generates comprehension tests such as fill-in-the-blank questions, word problems, and error correction questions based on the received source code. The generated comprehension tests are then sent back to the server.
[2261] Present a comprehension test and receive answers
[2262] The generated comprehension test is generated as HTML by the server and sent to the user's device. The user enters their answers into the displayed comprehension test and submits it. At this time, the emotion engine recognizes the user's emotions from their facial expressions, voice, keystrokes, etc., and generates emotion data. The generated emotion data is sent to the server.
[2263] Processing and scoring of answers and sentiment data
[2264] The server receives the user's answer data and emotion data, sends them to the generative AI model, and requests scoring. The generative AI model determines whether the user's answer is correct or incorrect, generates a score and explanation, and adjusts the feedback content and test difficulty based on the emotion data.
[2265] Presentation of scoring results and explanations
[2266] The server formats the scores, explanations, and adjustments, generating an HTML file that is then sent to the user's device, where the user can view the results.
[2267] Specific examples
[2268] Example 1: Filling in the gaps in source code and emotion recognition
[2269] User-entered source code:
[2270] def add(a, b):
[2271] return a + b
[2272] Fill-in-the-blank questions generated by generative AI:
[2273] def add(a, b):
[2274] return a ____ b
[2275] User Answer:+
[2276] Emotional Engine Recognition: Recognize when the user is confused and adjust the difficulty accordingly.
[2277] Example 2: Error correction and feedback adjustment
[2278] User-entered source code:
[2279] def multiply(x, y):
[2280] return xy
[2281] Problems containing errors generated by the AI:
[2282] def multiply(x, y):
[2283] return x + y needs to be corrected
[2284] User's answer:
[2285] Emotion engine recognition: Recognizes when a user is confident in their answers and provides positive feedback.
[2286] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[2287] The flow of the identification process in the second embodiment will be described with reference to FIG.
[2288] Step 1:
[2289] The user enters and submits the source code.
[2290] Specific operation: A user accesses a web service through a web browser, enters source code into the input form on the screen, and then clicks the "Submit" button.
[2291] Input: Source code entered by the user into an input form on the device.
[2292] Output: The source code entered as an HTTP request is sent to the server.
[2293] Step 2:
[2294] The server receives the source code and performs preprocessing.
[2295] What it does: The server receives an HTTP request, extracts the source code from the request, and then pre-processes it to remove comments and unnecessary whitespace.
[2296] Input: The source code in the HTTP request sent by the user.
[2297] Output: Preprocessed source code.
[2298] Step 3:
[2299] The server sends a request to the generative AI model
[2300] Specific operation: The server prepares API request data to pass the preprocessed source code to the generative AI model, and sends the API request to the generative AI model's endpoint.
[2301] Input: Preprocessed source code.
[2302] Output: API request data to send to the generative AI model.
[2303] Step 4:
[2304] A generative AI model generates comprehension tests
[2305] How it works: The generative AI model generates comprehension tests based on the received source code, including fill-in-the-blank, essay questions, and error correction questions.
[2306] Input: Preprocessed source code sent by the server.
[2307] Output: The generated comprehension test data.
[2308] Step 5:
[2309] The server presents the comprehension test to the user.
[2310] Specific operation: The server receives the generated comprehension test data, generates HTML for displaying the comprehension test, and sends it to the user's device.
[2311] Input: Comprehension test data returned from the generative AI model.
[2312] Output: The HTML of the assessment that will be displayed on the user's device.
[2313] Step 6:
[2314] The user completes the assessment
[2315] Specific operation: The user enters answers to the comprehension test displayed on the terminal and submits it.
[2316] Input: The answers the user entered into the quiz.
[2317] Output: User response data sent to the server.
[2318] Step 7:
[2319] Emotion engine recognizes user emotions
[2320] Specific operation: The emotion engine analyzes the user's facial expressions, voice, and keystroke patterns to identify the user's emotional state, then generates emotion data and sends it to the server.
[2321] Input: User behavior data (facial expressions, voice, keystroke patterns).
[2322] Output: User emotion data.
[2323] Step 8:
[2324] The server sends the answer data and emotion data to the generative AI model.
[2325] Specific operation: The server sends the user's answer data and emotion data to the generative AI model and requests scoring.
[2326] Input: User response data and sentiment data.
[2327] Output: API data for the scoring request.
[2328] Step 9:
[2329] Generative AI model scores
[2330] How it works: The generative AI model evaluates the user's answers, determines whether they are correct, and adjusts the feedback and difficulty of the questions based on emotional data.
[2331] Input: User answer data and emotion data.
[2332] Output: Marking results and tailored feedback.
[2333] Step 10:
[2334] The server presents the score and commentary
[2335] Specific operation: The server formats the scoring results and feedback received from the generative AI model, generates HTML to present to the user, and sends it to the user's device.
[2336] Input: Scoring and feedback from the generative AI model.
[2337] Output: HTML of the score and feedback displayed on the user's device.
[2338] (Application example 2)
[2339] 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."
[2340] Conventional source code comprehension testing systems have the problem of not being able to fully grasp the user's motivation to learn or their level of understanding. Furthermore, they do not provide feedback or adjust the difficulty level based on the user's emotions, which can lead to a decrease in learning effectiveness. Therefore, there is a need for a system that recognizes the user's emotions and optimizes the learning experience based on them.
[2341] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[2342] In this invention, the server includes means for inputting source code, means for generating a comprehension test based on the input source code using a generative AI model, means for presenting the generated comprehension test to the user, means for receiving the user's answers to the comprehension test, means for scoring the received answers, means for presenting the scoring results and explanations to the user, means for collecting data using an emotion engine that recognizes the user's emotions, and means for adjusting the feedback content and the difficulty of the comprehension test based on the collected emotion data, thereby making it possible to provide feedback according to the user's emotions and optimal learning conditions.
[2343] "Source code" is a set of textual instructions written to make up a program.
[2344] A "generative AI model" is an algorithm or system that uses artificial intelligence to automatically generate source code and comprehension tests.
[2345] The "comprehension test" is a test that generates questions based on the source code entered by the user and evaluates the user's level of comprehension.
[2346] An "emotion engine" is a system that recognizes emotions from a user's facial expressions, voice, actions, etc. and collects them as data.
[2347] "Feedback" refers to evaluations and advice provided based on the user's test answers and emotional data.
[2348] "Difficulty adjustment" is a function that changes the difficulty of the questions displayed based on the user's learning situation and emotional data.
[2349] A "server" is a computer system that receives and processes user requests over a network.
[2350] The "data collection means" refers to a function or device for collecting data on the user's emotions through the emotion engine.
[2351] "Scoring" is the process of evaluating and scoring user-submitted test answers.
[2352] This invention describes the configuration and processing method of a system that allows a user to input source code and evaluate its level of understanding. The system includes a server, a terminal, a generative AI model, and an emotion engine.
[2353] System configuration
[2354] Inputting and Preprocessing Source Code
[2355] Device:
[2356] A user accesses the web service through a browser on their device, enters source code into the form, and presses the "Submit" button. This entered source code is sent to the server as an HTTP request.
[2357] server:
[2358] The server receives this HTTP request, extracts the input source code, and performs preprocessing to remove comments and unnecessary whitespace.
[2359] Generate comprehension tests
[2360] server:
[2361] Create an API request to pass the preprocessed source code to the generative AI model and send it to the generative AI model's endpoint.
[2362] Generative AI models:
[2363] Generates comprehension tests based on source code, specifically in the following formats:
[2364] Extract important parts of the code and create fill-in-the-blank questions.
[2365] Generate word questions to check your understanding of the code.
[2366] Generate code that contains errors and create a problem that requires you to fix it.
[2367] Automatically generate similar tasks and create problems to solve them.
[2368] The generated comprehension test is sent back to the server.
[2369] Presentation of comprehension tests and emotion recognition
[2370] server:
[2371] The generated comprehension test data is received, and HTML is generated to display it as a web page. This HTML is then sent to the user's device.
[2372] Device:
[2373] The user enters their answers into the displayed comprehension test. At this time, the emotion engine recognizes the user's emotions from their facial expressions, voice, keystrokes, etc. The emotion data is sent to the server in real time.
[2374] Emotion Engine:
[2375] The emotion engine collects and analyzes emotion data.
[2376] Receiving and scoring answers and emotion data
[2377] server:
[2378] The server receives the user's answer data and emotion data, and sends them again to the generative AI model to request scoring.
[2379] Generative AI models:
[2380] The generative AI model determines whether the user's answers are correct or incorrect, generates a score and explanation, and adjusts the feedback content and difficulty level based on emotional data.
[2381] Presentation of scoring results and explanations
[2382] server:
[2383] The system formats the scoring results and explanations received from the generative AI model, as well as adjustments based on emotion data, and generates HTML to present to the user. This HTML is then sent to the user's device.
[2384] Device:
[2385] The user reviews the displayed results and gets feedback based on their understanding and emotions.
[2386] Specific examples
[2387] Example 1: Filling in the gaps in source code and emotion recognition
[2388] User-entered source code:
[2389] def add(a, b):
[2390] return a + b
[2391] Fill-in-the-blank questions generated by generative AI:
[2392] def add(a, b):
[2393] return a ____ b
[2394] User Answer:+
[2395] Emotional Engine Recognition: Recognize when the user is confused and adjust the difficulty accordingly.
[2396] Example 2: Error correction and feedback adjustment
[2397] User-entered source code:
[2398] def multiply(x, y):
[2399] return xy
[2400] Problems containing errors generated by the AI:
[2401] def multiply(x, y):
[2402] return x + y needs to be corrected
[2403] User's answer:
[2404] Emotion engine recognition: Recognizes when a user is confident in their answers and provides positive feedback.
[2405] Prompt Sentence Examples
[2406] Example prompts for generating comprehension tests:
[2407] Generate a comprehension test for the following code: def subtract(a, b): return a - b
[2408] Sample grading and feedback prompts:
[2409] Grade the following answer: a - b based on the emotion data: {'confused': False, 'engaged': True}
[2410] As described above, this system can improve the learning experience by evaluating the user's understanding of source code from multiple angles and combining it with emotion recognition.
[2411] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[2412] Step 1:
[2413] A user accesses a web service through a browser, enters source code, and presses the "Submit" button. The entered source code is sent to the server as an HTTP request. The input here is the source code entered by the user, and the output is the HTTP request received by the server.
[2414] Step 2:
[2415] The server extracts source code from the received HTTP request and performs preprocessing to remove comments and unnecessary whitespace. This process transforms the source code into a preprocessed format. The input is the source code extracted from the HTTP request, and the output is the preprocessed source code.
[2416] Step 3:
[2417] Based on the preprocessed source code, the server creates an API request to the generative AI model. The server sends the API request to the endpoint of the generative AI model. The input is the preprocessed source code, and the output is the API request to the generative AI model.
[2418] Step 4:
[2419] The generative AI model automatically generates comprehension tests based on the input source code. The generated comprehension tests include fill-in-the-blank questions, essay questions, and error correction questions. The input is an API request from the server, and the output is the generated comprehension test.
[2420] Step 5:
[2421] The server receives the comprehension test data returned from the generative AI model and converts it into HTML for display as a web page. The input is the comprehension test data from the generative AI model, and the output is HTML for presentation to the user.
[2422] Step 6:
[2423] The user inputs answers to the generated comprehension test. While answering, the emotion engine recognizes the user's facial expressions and voice using the device's camera and microphone. The input here is the user's answer and emotion data, and the output is emotion data analyzed by the emotion engine.
[2424] Step 7:
[2425] The emotion engine collects user emotion data in real time and sends it to the server. The input is the user emotion data, and the output is the analyzed emotion data sent to the server.
[2426] Step 8:
[2427] The server receives the user's response data and emotion data and requests that they be sent to the generative AI model again for scoring. The input is the user's response data and emotion data, and the output is a scoring request to the generative AI model.
[2428] Step 9:
[2429] The generative AI model determines whether the user's answer is correct or incorrect, and generates a score and explanation. It also adjusts the feedback content and the difficulty of the comprehension test based on emotional data. The input is a scoring request from the server, and the output is the score, explanation, and adjusted feedback.
[2430] Step 10:
[2431] The server formats the scoring results and explanations received from the generative AI model, as well as adjustments based on emotion data, and generates HTML to present to the user. The input is the scoring results and explanations from the generative AI model, and the adjustments, and the output is HTML to present to the user.
[2432] Step 11:
[2433] The user sees the results displayed as HTML and gets feedback based on their understanding and feelings. The input is the HTML output from the server, and the output is the user's understanding and feedback.
[2434] 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.
[2435] 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.
[2436] 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.
[2437] 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.
[2438] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[2439] 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.
[2440] 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).
[2441] 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.
[2442] 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."
[2443] 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.
[2444] 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).
[2445] 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.
[2446] 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.
[2447] 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.
[2448] 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.
[2449] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[2450] 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.
[2451] 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.
[2452] 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.
[2453] 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.
[2454] 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.
[2455] The following is further disclosed regarding the above embodiment.
[2456] (Claim 1)
[2457] A means for inputting source code;
[2458] A means for generating a comprehension test based on input source code using an AI model;
[2459] means for presenting the generated comprehension test to a user;
[2460] means for receiving the user's responses to the comprehension test;
[2461] means for scoring the received responses;
[2462] A means for presenting the scoring results and explanations to the user;
[2463] A system including:
[2464] (Claim 2)
[2465] 10. The system of claim 1, further comprising means for extracting significant portions of the source code and presenting them as fill-in-the-blank questions.
[2466] (Claim 3)
[2467] 10. The system of claim 1, further comprising means for generating and presenting word problems to verify understanding of the contents of the source code.
[2468] (Claim 4)
[2469] 10. The system of claim 1, further comprising means for intentionally making portions of the source code incorrect and generating and presenting problems that require the errors to be corrected.
[2470] (Claim 5)
[2471] 10. The system of claim 1, further comprising means for generating another similar problem based on the source code and causing the problem to be solved.
[2472] (Claim 6)
[2473] 10. The system according to claim 1, further comprising means for recording the results of the comprehension test and managing the user's learning progress.
[2474] "Example 1"
[2475] (Claim 1)
[2476] a means for a user to input source code;
[2477] means for receiving and preprocessing input source code;
[2478] A means for generating a prompt sentence based on the preprocessed source code and sending it to a generative AI model;
[2479] A means for generating a comprehension test using a generative AI model;
[2480] A means for presenting the generated comprehension test on a user's terminal;
[2481] means for receiving the user's responses to the comprehension test;
[2482] A means for sending the received answers back to the generative AI model for scoring;
[2483] A means for generating and presenting a score and commentary to a user;
[2484] A system including:
[2485] (Claim 2)
[2486] 10. The system of claim 1, further comprising means for extracting significant portions of the source code and presenting them as fill-in-the-blank questions.
[2487] (Claim 3)
[2488] 10. The system of claim 1, further comprising means for generating and presenting word problems to verify understanding of the contents of the source code.
[2489] "Application Example 1"
[2490] (Claim 1)
[2491] A means for inputting source code;
[2492] A means for generating a comprehension test based on input source code using an AI model;
[2493] means for presenting the generated comprehension test to a user;
[2494] means for receiving the user's responses to the comprehension test;
[2495] means for scoring the received responses;
[2496] A means for presenting the scoring results and explanations to the user;
[2497] a means for inputting a source code of a control program for a factory robot and generating a comprehension test for evaluating the source code;
[2498] a means for providing a user interface for inputting a control program for a factory robot from a smart device;
[2499] A system including:
[2500] (Claim 2)
[2501] 10. The system of claim 1, further comprising means for extracting significant portions of the source code and presenting them as fill-in-the-blank questions.
[2502] (Claim 3)
[2503] 10. The system of claim 1, further comprising means for generating and presenting word problems to verify understanding of the contents of the source code.
[2504] "Example 2: Combining Emotion Engines"
[2505] (Claim 1)
[2506] A means for inputting source code;
[2507] A means for generating a comprehension test based on input source code using an AI model;
[2508] means for presenting the generated comprehension test to a user;
[2509] means for receiving the user's responses to the comprehension test;
[2510] means for scoring the received responses;
[2511] A means for presenting the scoring results and explanations to the user;
[2512] means for recognizing a user's emotion;
[2513] A means for adjusting the feedback content and difficulty of the comprehension test based on the recognized emotion data; and
[2514] A system including:
[2515] (Claim 2)
[2516] 10. The system of claim 1, further comprising means for extracting significant portions of the source code and presenting them as fill-in-the-blank questions.
[2517] (Claim 3)
[2518] 10. The system of claim 1, further comprising means for generating and presenting word problems to verify understanding of the contents of the source code.
[2519] "Application example 2 when combining emotion engines"
[2520] (Claim 1)
[2521] A means for inputting source code;
[2522] A means for generating a comprehension test based on input source code using an AI model;
[2523] means for presenting the generated comprehension test to a user;
[2524] means for receiving the user's responses to the comprehension test;
[2525] means for scoring the received responses;
[2526] A means for presenting the scoring results and explanations to the user;
[2527] A data collection means using an emotion engine that recognizes the user's emotions;
[2528] A means to adjust the feedback content and difficulty of comprehension tests based on collected emotional data; and
[2529] A system including:
[2530] (Claim 2)
[2531] 10. The system of claim 1, further comprising means for extracting significant portions of the source code and presenting them as fill-in-the-blank questions.
[2532] (Claim 3)
[2533] 10. The system of claim 1, further comprising means for generating and presenting word problems to verify understanding of the contents of the source code. [Explanation of symbols]
[2534] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for inputting source code; A means for generating a comprehension test based on input source code using an AI model; means for presenting the generated comprehension test to a user; means for receiving the user's responses to the comprehension test; means for scoring the received responses; A means for presenting the scoring results and explanations to the user; A system including:
2. The system of claim 1 , further comprising means for extracting important portions of the source code and presenting them as fill-in-the-blank questions.
3. 2. The system according to claim 1, further comprising means for generating and presenting word problems for verifying whether the content of the source code is understood.
4. 2. The system of claim 1, further comprising means for intentionally making a portion of the source code incorrect and generating and presenting a problem that requires the user to correct the error.
5. The system of claim 1 further comprising means for generating another similar problem based on the source code and causing the problem to be solved.
6. The system according to claim 1 , further comprising means for recording the results of the comprehension test and managing the user's learning progress.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A