system

A system with a reception, analysis, generation, and scoring unit evaluates and grades source code understanding, addressing the lack of objective assessment in programming language learning by offering comprehensive feedback for skill improvement.

JP2026072800APending Publication Date: 2026-05-01SOFTBANK GROUP CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SOFTBANK GROUP CORP
Filing Date
2024-10-18
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

There is a lack of means for objectively evaluating the degree of understanding of source code in the learning of programming languages.

Method used

A system comprising a reception unit, analysis unit, generation unit, and scoring unit that analyzes source code, generates comprehension tests, and automatically grades user responses to evaluate understanding and learning progress.

Benefits of technology

The system objectively evaluates the level of understanding of source code and tracks learning progress, providing users with feedback to improve their programming skills efficiently.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026072800000001_ABST
    Figure 2026072800000001_ABST
Patent Text Reader

Abstract

The system according to this embodiment aims to objectively evaluate the level of understanding of source code. [Solution] The system according to the embodiment comprises a reception unit, an analysis unit, a generation unit, an implementation unit, and a scoring unit. The reception unit receives source code as input. The analysis unit analyzes the source code input by the reception unit. The generation unit generates a comprehension test based on the source code analyzed by the analysis unit. The implementation unit administers the comprehension test generated by the generation unit. The scoring unit scores the test administered by the implementation unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a 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

Summary of the Invention

Problems to be Solved by the Invention

[0004] In the prior art, there is a problem that there is a lack of means for objectively evaluating the degree of understanding of source code in the learning of programming languages.

[0005] The system according to the embodiment aims to objectively evaluate the degree of understanding of source code.

Means for Solving the Problems

[0006] The system according to the embodiment comprises a reception unit, an analysis unit, a generation unit, an implementation unit, and a scoring unit. The reception unit receives source code as input. The analysis unit analyzes the source code input by the reception unit. The generation unit generates a comprehension test based on the source code analyzed by the analysis unit. The implementation unit administers the comprehension test generated by the generation unit. The scoring unit scores the test administered by the implementation unit. [Effects of the Invention]

[0007] The system according to this embodiment can objectively evaluate the level of understanding of the source code. [Brief explanation of the drawing]

[0008] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Modes for carrying out the invention]

[0009] Hereinafter, an example of an embodiment of the system relating to the technology of this disclosure will be described with reference to the attached drawings.

[0010] First, let's explain the terminology used in the following explanation.

[0011] In the following embodiments, the signed processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Furthermore, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), APU (Accelerated Processing Unit), or TPU (Tensor Processing Unit).

[0012] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.

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

[0014] In the following embodiments, the labeled communication I / F (Interface) is an interface including a communication processor, an antenna, and the like. The communication I / F manages communication between a plurality of computers. Examples of communication standards applied to the communication I / F include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).

[0015] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B". That is, "A and / or B" means that it may be only A, only B, or a combination of A and B. Also, in this specification, when expressing three or more matters connected by "and / or", the same concept as "A and / or B" is applied.

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

[0017] As shown in FIG. 1, the 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.

[0018] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. 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. Also, the database 24 and the communication I / F 26 are 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).

[0019] The smart device 14 comprises a computer 36, a receiving device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The receiving device 38, output device 40, and camera 42 are also connected to the bus 52.

[0020] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, and accepts user input. The touch panel 38A accepts user input via touch by detecting contact with an object (e.g., a pen or finger). The microphone 38B accepts user input via voice by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 (see Figure 2) acquires the data indicating the user input.

[0021] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user by outputting the data in a form perceptible to the user (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0022] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.

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

[0024] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.

[0025] Storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the user's emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.

[0026] In the smart device 14, specific processing is performed by the processor 46. The storage 50 stores a specific processing program 60. The specific processing program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 operating as a control unit 46A according to the specific processing program 60 executed on the RAM 48. The smart device 14 also has a data generation model 58 and an emotion identification model 59, similar to the data generation model and emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.

[0027] Furthermore, other devices besides the data processing device 12 may also have the data generation model 58. For example, a server device (e.g., a generation server) may have the data generation model 58. In this case, the data processing device 12 obtains processing results (such as prediction results) using the data generation model 58 by communicating with the server device having the data generation model 58. The data processing device 12 may also be a server device or a terminal device owned by a user (e.g., a mobile phone, robot, home appliance, etc.). Next, an example of processing by the data processing system 10 according to the first embodiment will be described.

[0028] (Example of form 1) The programming learning support system according to an embodiment of the present invention is a system that can test the level of understanding of source code and check the progress of learning. This system takes source code as input, creates a generative AI model that outputs an understanding test about that code, and further provides a web service that can administer and grade the test. First, the user inputs a specific source code. This source code is analyzed by the generative AI, and an understanding test is generated based on its content. The format of the understanding test includes questions that fill in the blanks for important points in the code, sentence questions that determine whether the content is understood, questions that intentionally make part of the content incorrect and require correction, and questions that generate a similar but different task for the user to solve. Next, the generated understanding test is provided on the web service, and the user can take the test. After the test is administered, the generative AI automatically grades it and provides the user with the results. This allows the user to check their level of understanding and proceed with learning as needed. This service is aimed at people who aspire to become IT engineers or who are working as IT engineers, and is particularly useful when learning new programming languages ​​or frameworks. It can also be used by companies and educational institutions as a tool to improve the skills of their employees and students. For example, if a user inputs Python source code, the generating AI can analyze the code and generate comprehension tests such as: 1. Fill-in-the-blank questions for parts of the code; 2. Text questions to determine if the user understands the content of the code; 3. Questions where parts of the code are intentionally incorrect and the user has to correct them; 4. Generates similar but different problems for the user to solve. In this way, the user can check their level of understanding and progress in their learning. Furthermore, since the generating AI automatically scores the answers, learning can progress efficiently. As a result, the programming learning support system can automatically test the user's understanding of source code and check their learning progress.

[0029] The programming learning support system according to this embodiment comprises a reception unit, an analysis unit, a generation unit, an implementation unit, and a scoring unit. The reception unit takes source code as input. The reception unit provides, for example, an interface for the user to manually input source code. The reception unit also has a file upload function, allowing the user to upload source code files. Furthermore, the reception unit can also receive source code from other systems via an API. The analysis unit analyzes the source code input by the reception unit. The analysis unit analyzes the structure and content of the source code, for example, using a generation AI. The analysis unit can detect syntax errors and logic errors in the source code. The analysis unit can also evaluate the complexity and efficiency of the source code. The generation unit generates a comprehension test based on the source code analyzed by the analysis unit. The generation unit generates questions that require the user to fill in the blanks for important points in the code, for example, using a generation AI. The generation unit can also generate text questions to determine whether the user understands the content. Furthermore, the generation unit can generate questions that intentionally contain some incorrect content for the user to correct. The implementation unit administers the comprehension test generated by the generation unit. The implementation unit provides, for example, a comprehension test on a web service. Users can take the comprehension test through a web browser. The implementation unit can monitor the progress of the test in real time and provide feedback to the user. The scoring unit scores the tests administered by the implementation unit. The scoring unit scores the tests using, for example, generative AI. The scoring unit can analyze the user's answers and evaluate the accuracy rate and quality of the answers. The scoring unit can also score the user's comprehension level and provide feedback on the results. As a result, the programming learning support system according to this embodiment can automatically test the user's comprehension level of source code and check the progress of their learning.

[0030] The reception section accepts source code input. For example, it provides an interface for users to manually input source code. Specifically, it offers a text editor that allows users to directly input code in a browser, and assists user input with features such as syntax highlighting and auto-completion. The reception section also includes a file upload function, allowing users to upload source code files. This makes it easy for users to incorporate existing projects and code into the system. Furthermore, the reception section can receive source code from other systems via APIs. For example, it provides features to retrieve code directly from Git repositories and to automatically import code in conjunction with other development tools. This allows the reception section to accept source code in diverse ways, enhancing user convenience. Additionally, the reception section manages the versions of the input source code, allowing users to revert to previous versions. This enables users to edit code with confidence and iterate through trial and error.

[0031] The analysis unit analyzes the source code entered by the reception unit. For example, the analysis unit uses generative AI to analyze the structure and content of the source code. Specifically, the generative AI uses natural language processing technology to detect syntax errors and logic errors in the code. For example, in the case of Python code, it can detect inconsistent indentation and the use of undefined variables. The analysis unit can also evaluate the complexity and efficiency of the source code. For example, it can analyze the code's execution time and memory usage to identify areas for optimization. Furthermore, the analysis unit can provide metrics to evaluate the readability and maintainability of the code and suggest areas for improvement to the user. This allows the analysis unit to comprehensively evaluate the quality of the code written by the user and provide concrete feedback. Additionally, based on past analysis results, the analysis unit can track the user's growth and visualize their progress. This makes it easier for users to feel a sense of improvement in their skills.

[0032] The generation unit generates comprehension tests based on the source code analyzed by the analysis unit. For example, the generation unit uses a generation AI to generate questions that fill in the blanks of important points in the code. Specifically, it creates questions where parts of the code are left blank and the user is asked to enter the correct code. The generation unit can also generate text questions to determine whether the user understands the content. For example, it can create questions that ask for an explanation of how the code works or the algorithm. Furthermore, the generation unit can generate questions where parts of the content are intentionally incorrect and the user is asked to correct them. This allows the user to develop the ability to find and correct errors in the code. The generation unit can automatically generate these questions and evaluate the user's comprehension from multiple perspectives. In addition, the generation unit can generate questions optimized for individual users based on the user's past answer data. This allows the user to focus on learning their weaknesses and efficiently improve their skills.

[0033] The implementation unit administers the comprehension test generated by the generation unit. The implementation unit provides the comprehension test, for example, on a web service. Specifically, users can take the comprehension test through a web browser. The implementation unit can monitor the progress of the test in real time and provide feedback to the user. For example, when a user answers a question, it can immediately determine whether the answer is correct or incorrect and display appropriate feedback. The implementation unit also records the progress of the test and allows the user to resume if they interrupt the test midway. Furthermore, the implementation unit can analyze the user's answer time and answer patterns to collect data for evaluating learning progress and comprehension. This allows the implementation unit to provide support for users to learn efficiently. In addition, the implementation unit has a function to suggest what to learn next based on the test results, thus continuously supporting the user's learning.

[0034] The scoring department grades the tests administered by the implementation department. The scoring department uses, for example, generative AI to grade the tests. Specifically, the generative AI analyzes the user's answers and evaluates the accuracy and quality of the answers. For example, it can include not only the accuracy of the code but also its efficiency and readability as evaluation criteria. The scoring department can also score the user's understanding and provide feedback on the results. For example, it can provide detailed explanations for each question, specifically showing where the user made mistakes and how to improve. Furthermore, the scoring department can provide individualized feedback based on the user's past performance and answer patterns. This allows users to identify their weaknesses and apply that knowledge to future learning. Additionally, the scoring department can compile overall scores and provide a dashboard that visualizes the user's learning progress. This makes it easier for users to feel their own progress and maintain their motivation.

[0035] The generation unit can generate problems that fill in the blanks in important parts of the code. For example, it can generate problems that fill in the blanks in the definition of a function. For example, it can also generate problems that fill in the blanks in the initialization of a variable. For example, it can also generate problems that fill in the blanks in the condition of a loop. This allows for verification of whether the user understands the important parts of the code. Some or all of the above processing in the generation unit may be performed using a generative AI, or it may be performed without a generative AI. For example, the generation unit can generate problems using a generative AI model that takes source code as input and outputs fill-in-the-blank problems.

[0036] The generation unit can generate text questions to determine whether the content is understood. For example, the generation unit can generate text questions that explain the operation of source code. The generation unit can also generate text questions that explain the intent of source code. The generation unit can also generate text questions that point out areas for improvement in source code. This allows for verification of whether the content of the code is understood. Some or all of the above processing in the generation unit may be performed using a generative AI, or it may be performed without a generative AI. For example, the generation unit can generate questions using a generative AI model that takes source code as input and outputs text questions.

[0037] The generation unit can generate problems that intentionally contain errors and require correction. For example, the generation unit can generate code containing syntax errors and generate problems that require correction. The generation unit can also generate code containing logic errors and generate problems that require correction. The generation unit can also generate code containing data type mismatches and generate problems that require correction. This allows verification of the ability to correct errors. Some or all of the above processing in the generation unit may be performed using a generative AI, or it may be performed without a generative AI. For example, the generation unit can generate problems using a generative AI model that takes source code as input and outputs code containing errors.

[0038] The generation unit can generate problems that are similar to other problems and require solving them. For example, the generation unit can generate different problems using the same algorithm. For example, the generation unit can also generate different problems using the same data structure. For example, the generation unit can also generate different problems using the same logic. This allows for verification of the ability to solve similar problems. Some or all of the above-described processes in the generation unit may be performed using a generative AI, or they may not be performed using a generative AI. For example, the generation unit can generate problems using a generative AI model that takes source code as input and outputs similar problems.

[0039] The scoring unit can grade tests using generative AI. For example, the scoring unit can analyze the user's answers and evaluate the accuracy rate. The scoring unit can also evaluate the quality of the user's answers. The scoring unit can also evaluate the user's response time. This allows for automatic test grading. Some or all of the above processes in the scoring unit may be performed using generative AI or not. For example, the scoring unit can perform grading using a generative AI model that takes the user's answers as input and outputs grading results.

[0040] The implementation unit can provide comprehension tests on a web service. The implementation unit can provide comprehension tests, for example, through a cloud-based service. The implementation unit can also provide comprehension tests, for example, through an on-premise service. The implementation unit can also provide comprehension tests, for example, through an API. This allows the tests to be administered on a web service. Some or all of the above processing in the implementation unit may be performed using generative AI, or not. For example, the implementation unit can use generative AI to build an interface for providing the generated comprehension tests on a web service.

[0041] The reception desk can analyze the user's past source code input history and select the optimal input method. For example, the reception desk may prioritize suggesting input methods that the user has frequently used in the past (such as handwriting or voice input). The reception desk can also suggest the optimal input method for a specific time period based on the user's past input history. For example, the reception desk can analyze patterns in source code previously entered by the user and suggest an efficient input method. This allows for the selection of the optimal input method based on past input history. Some or all of the above processing in the reception desk may be performed using AI or not.

[0042] The reception unit can filter source code input based on the user's current learning progress and areas of interest. For example, the reception unit can display only source code related to the topic the user is currently studying. The reception unit can also prioritize displaying relevant source code based on the user's areas of interest. The reception unit can also filter and display source code of varying difficulty levels according to the user's learning progress. This allows source code to be filtered based on learning progress and areas of interest. Some or all of the above processing in the reception unit may be performed using AI or not.

[0043] The reception unit can prioritize inputting highly relevant source code based on the user's geographical location when source code is entered. For example, if the user is in a specific region, the reception unit will prioritize displaying source code related to that region. For example, if the user is traveling, the reception unit can also prioritize displaying source code related to the travel destination. For example, if the user is participating in a specific event, the reception unit can also prioritize displaying source code related to that event. This allows for the priority input of highly relevant source code based on geographical location. Some or all of the above processing in the reception unit may be performed using AI or not.

[0044] The reception unit can analyze the user's social media activity when inputting source code and input relevant source code. For example, the reception unit can prioritize displaying source code related to topics the user has shared on social media. For example, the reception unit can prioritize displaying source code related to topics in programming communities the user follows. For example, the reception unit can prioritize displaying source code related to posts the user has "liked" on social media. This allows users to input relevant source code based on their social media activity. Some or all of the above processing in the reception unit may be performed using AI or not.

[0045] The analysis unit can adjust the level of detail of the analysis based on the importance of the code when analyzing source code. For example, the analysis unit can perform a detailed analysis on important parts of the code. For example, the analysis unit can also perform a concise analysis on less important parts of the code. For example, the analysis unit can also determine the priority of the analysis according to its importance. This allows the level of detail of the analysis to be adjusted based on the importance of the code. Some or all of the above processes in the analysis unit may be performed using a generative AI, or they may be performed without using a generative AI.

[0046] The analysis unit can apply different analysis algorithms depending on the category of the code when analyzing source code. For example, the analysis unit can apply an analysis algorithm specialized for data processing code. For example, the analysis unit can also apply an analysis algorithm specialized for web development code. For example, the analysis unit can also apply an analysis algorithm specialized for machine learning code. This allows the appropriate analysis algorithm to be applied according to the category of the code. Some or all of the above-described processes in the analysis unit may be performed using generative AI, or they may be performed without using generative AI.

[0047] The analysis unit can determine the priority of analysis based on the submission date of the code when analyzing source code. For example, the analysis unit may prioritize the analysis of recently submitted code. The analysis unit may also prioritize the analysis of code with an approaching submission deadline. The analysis unit may also adjust the priority of analysis according to the submission date. This allows the analysis priority to be determined based on the submission date. Some or all of the above processing in the analysis unit may be performed using a generative AI, or it may be performed without using a generative AI.

[0048] The analysis unit can adjust the order of analysis based on the relationships between the code when analyzing source code. For example, the analysis unit may prioritize the analysis of highly relevant code. For example, the analysis unit may postpone the analysis of less relevant code. The analysis unit can also adjust the order of analysis according to relevance. This allows the order of analysis to be adjusted based on relevance. Some or all of the above-described processes in the analysis unit may be performed using a generative AI, or they may be performed without using a generative AI.

[0049] The generation unit can adjust the level of detail of comprehension tests based on the importance of the code when generating comprehension tests. For example, the generation unit can generate detailed comprehension tests for important parts of the code. The generation unit can also generate concise comprehension tests for less important parts of the code. The generation unit can also prioritize comprehension tests according to their importance. This allows the level of detail of the tests to be adjusted based on the importance of the code. Some or all of the above processing in the generation unit may be performed using a generation AI, or it may be performed without a generation AI.

[0050] The generation unit can apply different test generation algorithms depending on the category of code when generating comprehension tests. For example, the generation unit can generate comprehension tests specialized for data processing code. The generation unit can also generate comprehension tests specialized for web development code. The generation unit can also generate comprehension tests specialized for machine learning code. This allows for the application of an appropriate test generation algorithm depending on the category of code. Some or all of the above-described processes in the generation unit may be performed using a generation AI, or they may be performed without using a generation AI.

[0051] The generation unit can determine the priority of comprehension tests based on the code submission date when generating comprehension tests. For example, the generation unit generates tests based on recently submitted code. The generation unit can also generate tests based on code with an approaching submission deadline. The generation unit can also adjust the priority of tests according to the submission date. This allows for the determination of test priority based on the submission date. Some or all of the above processing in the generation unit may be performed using a generation AI, or it may be performed without using a generation AI.

[0052] The generation unit can adjust the order of tests based on the relevance of the code when generating comprehension tests. For example, the generation unit generates tests based on highly relevant code. The generation unit can also generate tests based on less relevant code. The generation unit can also adjust the order of tests according to their relevance. This allows the order of tests to be adjusted based on relevance. Some or all of the above processing in the generation unit may be performed using a generation AI, or it may be performed without using a generation AI.

[0053] The implementation unit can select the optimal implementation method by referring to the user's past test history when conducting a test. For example, the implementation unit may prioritize providing test formats that the user has previously preferred. For example, the implementation unit may also suggest the optimal test duration based on the user's past test history. For example, the implementation unit may also provide tests of appropriate difficulty based on the user's past test results. This allows for the selection of the optimal implementation method based on past test history. Some or all of the above processing in the implementation unit may be performed using AI or not.

[0054] The implementation unit can adjust the difficulty of a test based on the user's current learning progress when administering the test. For example, if the user's learning progress is fast, the implementation unit can provide a test with a higher difficulty level. For example, if the user's learning progress is slow, the implementation unit can also provide a test with an appropriate difficulty level according to the user's learning progress. This allows the test difficulty to be adjusted based on learning progress. Some or all of the above processing in the implementation unit may be performed using AI or not.

[0055] The implementation unit can select the optimal implementation method based on the user's device information when conducting the test. For example, if the user is using a smartphone, the implementation unit can provide a test format that matches the screen size. For example, if the user is using a tablet, the implementation unit can also provide a test format optimized for a larger screen. For example, if the user is using a desktop, the implementation unit can also provide a test format that includes detailed information. This allows the implementation unit to select the optimal implementation method based on device information. Some or all of the above processing in the implementation unit may be performed using AI or not.

[0056] The implementation unit can analyze the user's social media activity and adjust the test execution method during the test. For example, the implementation unit can provide tests related to topics the user has shared on social media. For example, the implementation unit can also provide tests related to topics in programming communities the user follows. For example, the implementation unit can also provide tests related to posts the user has "liked" on social media. This allows the test execution method to be adjusted based on social media activity. Some or all of the above processing in the implementation unit may be performed using AI or not.

[0057] The scoring unit can optimize its scoring algorithm by referring to past scoring data during the scoring process. For example, the scoring unit adjusts the scoring algorithm based on past scoring data. For example, the scoring unit can also optimize its scoring algorithm by extracting specific patterns from past scoring data. For example, the scoring unit can improve the accuracy of scoring by analyzing past scoring data. This allows the scoring algorithm to be optimized based on past scoring data. Some or all of the above processes in the scoring unit may be performed using AI or not.

[0058] The scoring unit can improve the accuracy of its scoring based on the user's past test results. For example, the scoring unit can improve the accuracy of its scoring based on the user's past test results. For example, the scoring unit can also improve the accuracy of its scoring by extracting specific patterns from the user's past test results. For example, the scoring unit can also improve the accuracy of its scoring by analyzing the user's past test results. This allows the scoring accuracy to be improved based on past test results. Some or all of the above processing in the scoring unit may be performed using AI or not.

[0059] The grading department can determine the grading priority based on when the tests were submitted. For example, the grading department may prioritize grading recently submitted tests. The grading department may also prioritize grading tests with approaching submission deadlines. The grading department may also adjust the grading priority according to the submission date. This allows for the determination of grading priority based on the submission date. Some or all of the above processes in the grading department may be performed using AI or not.

[0060] The scoring unit can adjust the scoring order based on the relevance of the tests during scoring. For example, the scoring unit may prioritize scoring tests that are highly relevant. For example, the scoring unit may postpone scoring tests that are less relevant. The scoring unit can also adjust the scoring order according to relevance. This allows the scoring order to be adjusted based on relevance. Some or all of the above processing in the scoring unit may be performed using AI or not.

[0061] The system according to the embodiment is not limited to the example described above, and various modifications are possible, for example, as follows.

[0062] The analysis unit can adjust the level of detail of the analysis by referring to the user's past learning history when analyzing source code. For example, if the user has frequently made similar errors in the past, it can provide detailed analysis results for those errors. Also, if the user has a strong interest in a particular field, it can prioritize providing analysis results related to that field. Furthermore, it can adjust the difficulty of the analysis results according to the user's learning progress. This allows for the provision of optimal analysis results based on the user's past learning history. Some or all of the above processing in the analysis unit may be performed using generative AI, or it may be performed without using generative AI.

[0063] The reception desk can analyze the user's past input history and suggest the optimal input method. For example, it can prioritize suggesting input methods that the user has frequently used in the past (such as handwriting or voice input). It can also suggest the optimal input method for a specific time of day based on the user's past input history. Furthermore, it can analyze patterns in source code that the user has entered in the past and suggest efficient input methods. This allows the system to provide the optimal input method based on past input history. Some or all of the above processing in the reception desk may be performed using AI, or it may not.

[0064] The analysis unit can adjust the level of detail of the analysis based on the importance of the code when analyzing source code. For example, it can perform a detailed analysis on important parts of the code, and a concise analysis on less important parts of the code. Furthermore, it can determine the priority of the analysis according to its importance. This allows the level of detail of the analysis to be adjusted based on the importance of the code. Some or all of the above processing in the analysis unit may be performed using a generative AI, or it may be performed without using a generative AI.

[0065] The generation unit can apply different test generation algorithms depending on the category of code when generating comprehension tests. For example, it can generate comprehension tests specialized for data processing code, web development code, and machine learning code. This allows for the application of an appropriate test generation algorithm depending on the category of code. Some or all of the above-described processes in the generation unit may be performed using a generation AI, or they may be performed without a generation AI.

[0066] The implementation unit can select the optimal implementation method based on the user's device information when conducting the test. For example, if the user is using a smartphone, it can provide a test format that matches the screen size. If the user is using a tablet, it can provide a test format optimized for a larger screen. Furthermore, if the user is using a desktop, it can provide a test format that includes detailed information. This allows for the provision of the optimal implementation method based on device information. Some or all of the above processing in the implementation unit may be performed using AI or not.

[0067] The scoring unit can optimize its scoring algorithm by referring to past scoring data during the scoring process. For example, it can adjust the scoring algorithm based on past scoring data. It can also extract specific patterns from past scoring data to optimize the scoring algorithm. Furthermore, it can analyze past scoring data to improve scoring accuracy. This allows for the optimization of the scoring algorithm based on past scoring data. Some or all of the above processes in the scoring unit may be performed using AI, or they may not.

[0068] The following briefly describes the processing flow for example form 1.

[0069] Step 1: The reception desk receives source code. The reception desk provides an interface for users to manually enter source code. It also has a file upload function, allowing users to upload source code files. Furthermore, it can receive source code from other systems via an API. Step 2: The analysis unit analyzes the source code input by the reception unit. The analysis unit uses generation AI to analyze the structure and content of the source code and can detect syntax errors and logic errors. It can also evaluate the complexity and efficiency of the source code. Step 3: The generation unit generates comprehension tests based on the source code analyzed by the analysis unit. Using the generation AI, the generation unit can generate questions that require users to fill in the blanks for important points in the code, text questions that assess whether the user understands the content, and questions that intentionally contain some incorrect information for the user to correct. Step 4: The implementation unit administers the comprehension test generated by the generation unit. The implementation unit provides the comprehension test on a web service, and users can take the test through a web browser. The implementation unit can monitor the progress of the test in real time and provide feedback to the user. Step 5: The scoring unit scores the tests administered by the implementation unit. The scoring unit uses generative AI to grade the tests, analyzes user responses, and evaluates the accuracy rate and quality of responses. It can also score the user's level of understanding and provide feedback on the results.

[0070] (Example of form 2) The programming learning support system according to an embodiment of the present invention is a system that can test the level of understanding of source code and check the progress of learning. This system takes source code as input, creates a generative AI model that outputs an understanding test about that code, and further provides a web service that can administer and grade the test. First, the user inputs a specific source code. This source code is analyzed by the generative AI, and an understanding test is generated based on its content. The format of the understanding test includes questions that fill in the blanks for important points in the code, sentence questions that determine whether the content is understood, questions that intentionally make part of the content incorrect and require correction, and questions that generate a similar but different task for the user to solve. Next, the generated understanding test is provided on the web service, and the user can take the test. After the test is administered, the generative AI automatically grades it and provides the user with the results. This allows the user to check their level of understanding and proceed with learning as needed. This service is aimed at people who aspire to become IT engineers or who are working as IT engineers, and is particularly useful when learning new programming languages ​​or frameworks. It can also be used by companies and educational institutions as a tool to improve the skills of their employees and students. For example, if a user inputs Python source code, the generating AI can analyze the code and generate comprehension tests such as: 1. Fill-in-the-blank questions for parts of the code; 2. Text questions to determine if the user understands the content of the code; 3. Questions where parts of the code are intentionally incorrect and the user has to correct them; 4. Generates similar but different problems for the user to solve. In this way, the user can check their level of understanding and progress in their learning. Furthermore, since the generating AI automatically scores the answers, learning can progress efficiently. As a result, the programming learning support system can automatically test the user's understanding of source code and check their learning progress.

[0071] The programming learning support system according to this embodiment comprises a reception unit, an analysis unit, a generation unit, an implementation unit, and a scoring unit. The reception unit takes source code as input. The reception unit provides, for example, an interface for the user to manually input source code. The reception unit also has a file upload function, allowing the user to upload source code files. Furthermore, the reception unit can also receive source code from other systems via an API. The analysis unit analyzes the source code input by the reception unit. The analysis unit analyzes the structure and content of the source code, for example, using a generation AI. The analysis unit can detect syntax errors and logic errors in the source code. The analysis unit can also evaluate the complexity and efficiency of the source code. The generation unit generates a comprehension test based on the source code analyzed by the analysis unit. The generation unit generates questions that require the user to fill in the blanks for important points in the code, for example, using a generation AI. The generation unit can also generate text questions to determine whether the user understands the content. Furthermore, the generation unit can generate questions that intentionally contain some incorrect content for the user to correct. The implementation unit administers the comprehension test generated by the generation unit. The implementation unit provides, for example, a comprehension test on a web service. Users can take the comprehension test through a web browser. The implementation unit can monitor the progress of the test in real time and provide feedback to the user. The scoring unit scores the tests administered by the implementation unit. The scoring unit scores the tests using, for example, generative AI. The scoring unit can analyze the user's answers and evaluate the accuracy rate and quality of the answers. The scoring unit can also score the user's comprehension level and provide feedback on the results. As a result, the programming learning support system according to this embodiment can automatically test the user's comprehension level of source code and check the progress of their learning.

[0072] The reception section accepts source code input. For example, it provides an interface for users to manually input source code. Specifically, it offers a text editor that allows users to directly input code in a browser, and assists user input with features such as syntax highlighting and auto-completion. The reception section also includes a file upload function, allowing users to upload source code files. This makes it easy for users to incorporate existing projects and code into the system. Furthermore, the reception section can receive source code from other systems via APIs. For example, it provides features to retrieve code directly from Git repositories and to automatically import code in conjunction with other development tools. This allows the reception section to accept source code in diverse ways, enhancing user convenience. Additionally, the reception section manages the versions of the input source code, allowing users to revert to previous versions. This enables users to edit code with confidence and iterate through trial and error.

[0073] The analysis unit analyzes the source code entered by the reception unit. For example, the analysis unit uses generative AI to analyze the structure and content of the source code. Specifically, the generative AI uses natural language processing technology to detect syntax errors and logic errors in the code. For example, in the case of Python code, it can detect inconsistent indentation and the use of undefined variables. The analysis unit can also evaluate the complexity and efficiency of the source code. For example, it can analyze the code's execution time and memory usage to identify areas for optimization. Furthermore, the analysis unit can provide metrics to evaluate the readability and maintainability of the code and suggest areas for improvement to the user. This allows the analysis unit to comprehensively evaluate the quality of the code written by the user and provide concrete feedback. Additionally, based on past analysis results, the analysis unit can track the user's growth and visualize their progress. This makes it easier for users to feel a sense of improvement in their skills.

[0074] The generation unit generates comprehension tests based on the source code analyzed by the analysis unit. For example, the generation unit uses a generation AI to generate questions that fill in the blanks of important points in the code. Specifically, it creates questions where parts of the code are left blank and the user is asked to enter the correct code. The generation unit can also generate text questions to determine whether the user understands the content. For example, it can create questions that ask for an explanation of how the code works or the algorithm. Furthermore, the generation unit can generate questions where parts of the content are intentionally incorrect and the user is asked to correct them. This allows the user to develop the ability to find and correct errors in the code. The generation unit can automatically generate these questions and evaluate the user's comprehension from multiple perspectives. In addition, the generation unit can generate questions optimized for individual users based on the user's past answer data. This allows the user to focus on learning their weaknesses and efficiently improve their skills.

[0075] The implementation unit administers the comprehension test generated by the generation unit. The implementation unit provides the comprehension test, for example, on a web service. Specifically, users can take the comprehension test through a web browser. The implementation unit can monitor the progress of the test in real time and provide feedback to the user. For example, when a user answers a question, it can immediately determine whether the answer is correct or incorrect and display appropriate feedback. The implementation unit also records the progress of the test and allows the user to resume if they interrupt the test midway. Furthermore, the implementation unit can analyze the user's answer time and answer patterns to collect data for evaluating learning progress and comprehension. This allows the implementation unit to provide support for users to learn efficiently. In addition, the implementation unit has a function to suggest what to learn next based on the test results, thus continuously supporting the user's learning.

[0076] The scoring department grades the tests administered by the implementation department. The scoring department uses, for example, generative AI to grade the tests. Specifically, the generative AI analyzes the user's answers and evaluates the accuracy and quality of the answers. For example, it can include not only the accuracy of the code but also its efficiency and readability as evaluation criteria. The scoring department can also score the user's understanding and provide feedback on the results. For example, it can provide detailed explanations for each question, specifically showing where the user made mistakes and how to improve. Furthermore, the scoring department can provide individualized feedback based on the user's past performance and answer patterns. This allows users to identify their weaknesses and apply that knowledge to future learning. Additionally, the scoring department can compile overall scores and provide a dashboard that visualizes the user's learning progress. This makes it easier for users to feel their own progress and maintain their motivation.

[0077] The generation unit can generate problems that fill in the blanks in important parts of the code. For example, it can generate problems that fill in the blanks in the definition of a function. For example, it can also generate problems that fill in the blanks in the initialization of a variable. For example, it can also generate problems that fill in the blanks in the condition of a loop. This allows for verification of whether the user understands the important parts of the code. Some or all of the above processing in the generation unit may be performed using a generative AI, or it may be performed without a generative AI. For example, the generation unit can generate problems using a generative AI model that takes source code as input and outputs fill-in-the-blank problems.

[0078] The generation unit can generate text questions to determine whether the content is understood. For example, the generation unit can generate text questions that explain the operation of source code. The generation unit can also generate text questions that explain the intent of source code. The generation unit can also generate text questions that point out areas for improvement in source code. This allows for verification of whether the content of the code is understood. Some or all of the above processing in the generation unit may be performed using a generative AI, or it may be performed without a generative AI. For example, the generation unit can generate questions using a generative AI model that takes source code as input and outputs text questions.

[0079] The generation unit can generate problems that intentionally contain errors and require correction. For example, the generation unit can generate code containing syntax errors and generate problems that require correction. The generation unit can also generate code containing logic errors and generate problems that require correction. The generation unit can also generate code containing data type mismatches and generate problems that require correction. This allows verification of the ability to correct errors. Some or all of the above processing in the generation unit may be performed using a generative AI, or it may be performed without a generative AI. For example, the generation unit can generate problems using a generative AI model that takes source code as input and outputs code containing errors.

[0080] The generation unit can generate problems that are similar to other problems and require solving them. For example, the generation unit can generate different problems using the same algorithm. For example, the generation unit can also generate different problems using the same data structure. For example, the generation unit can also generate different problems using the same logic. This allows for verification of the ability to solve similar problems. Some or all of the above-described processes in the generation unit may be performed using a generative AI, or they may not be performed using a generative AI. For example, the generation unit can generate problems using a generative AI model that takes source code as input and outputs similar problems.

[0081] The scoring unit can grade tests using generative AI. For example, the scoring unit can analyze the user's answers and evaluate the accuracy rate. The scoring unit can also evaluate the quality of the user's answers. The scoring unit can also evaluate the user's response time. This allows for automatic test grading. Some or all of the above processes in the scoring unit may be performed using generative AI or not. For example, the scoring unit can perform grading using a generative AI model that takes the user's answers as input and outputs grading results.

[0082] The implementation unit can provide comprehension tests on a web service. The implementation unit can provide comprehension tests, for example, through a cloud-based service. The implementation unit can also provide comprehension tests, for example, through an on-premise service. The implementation unit can also provide comprehension tests, for example, through an API. This allows the tests to be administered on a web service. Some or all of the above processing in the implementation unit may be performed using generative AI, or not. For example, the implementation unit can use generative AI to build an interface for providing the generated comprehension tests on a web service.

[0083] The reception unit can estimate the user's emotions and adjust the timing of source code input based on the estimated emotions. For example, if the user is stressed, the reception unit can delay the input timing to allow them to relax. For example, if the user is concentrating, the reception unit can speed up the input timing to allow them to input efficiently. For example, if the user is tired, the reception unit can adjust the input timing to encourage them to take a break. This allows the input timing to be adjusted according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the reception unit may be performed using generative AI or not.

[0084] The reception desk can analyze the user's past source code input history and select the optimal input method. For example, the reception desk may prioritize suggesting input methods that the user has frequently used in the past (such as handwriting or voice input). The reception desk can also suggest the optimal input method for a specific time period based on the user's past input history. For example, the reception desk can analyze patterns in source code previously entered by the user and suggest an efficient input method. This allows for the selection of the optimal input method based on past input history. Some or all of the above processing in the reception desk may be performed using AI or not.

[0085] The reception unit can filter source code input based on the user's current learning progress and areas of interest. For example, the reception unit can display only source code related to the topic the user is currently studying. The reception unit can also prioritize displaying relevant source code based on the user's areas of interest. The reception unit can also filter and display source code of varying difficulty levels according to the user's learning progress. This allows source code to be filtered based on learning progress and areas of interest. Some or all of the above processing in the reception unit may be performed using AI or not.

[0086] The reception unit can estimate the user's emotions and determine the priority of the source code to be entered based on the estimated emotions. For example, if the user is relaxed, the reception unit may prioritize displaying source code of higher difficulty. For example, if the user is stressed, the reception unit may prioritize displaying source code of lower difficulty. For example, if the user is focused, the reception unit may prioritize displaying source code that is highly effective for learning. This allows the priority of source code to be determined according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI may be, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the reception unit may be performed using generative AI or not.

[0087] The reception unit can prioritize inputting highly relevant source code based on the user's geographical location when source code is entered. For example, if the user is in a specific region, the reception unit will prioritize displaying source code related to that region. For example, if the user is traveling, the reception unit can also prioritize displaying source code related to the travel destination. For example, if the user is participating in a specific event, the reception unit can also prioritize displaying source code related to that event. This allows for the priority input of highly relevant source code based on geographical location. Some or all of the above processing in the reception unit may be performed using AI or not.

[0088] The reception unit can analyze the user's social media activity when inputting source code and input relevant source code. For example, the reception unit can prioritize displaying source code related to topics the user has shared on social media. For example, the reception unit can prioritize displaying source code related to topics in programming communities the user follows. For example, the reception unit can prioritize displaying source code related to posts the user has "liked" on social media. This allows users to input relevant source code based on their social media activity. Some or all of the above processing in the reception unit may be performed using AI or not.

[0089] The analysis unit can estimate the user's emotions and adjust the source code analysis method based on the estimated user emotions. For example, if the user is relaxed, the analysis unit can provide detailed analysis results. For example, if the user is in a hurry, the analysis unit can also provide concise analysis results. For example, if the user is excited, the analysis unit can also provide visually easy-to-understand analysis results. This allows the analysis method to be adjusted according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI may be, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above-described processing in the analysis unit may be performed using generative AI or not using generative AI.

[0090] The analysis unit can adjust the level of detail of the analysis based on the importance of the code when analyzing source code. For example, the analysis unit can perform a detailed analysis on important parts of the code. For example, the analysis unit can also perform a concise analysis on less important parts of the code. For example, the analysis unit can also determine the priority of the analysis according to its importance. This allows the level of detail of the analysis to be adjusted based on the importance of the code. Some or all of the above processes in the analysis unit may be performed using a generative AI, or they may be performed without using a generative AI.

[0091] The analysis unit can apply different analysis algorithms depending on the category of the code when analyzing source code. For example, the analysis unit can apply an analysis algorithm specialized for data processing code. For example, the analysis unit can also apply an analysis algorithm specialized for web development code. For example, the analysis unit can also apply an analysis algorithm specialized for machine learning code. This allows the appropriate analysis algorithm to be applied according to the category of the code. Some or all of the above-described processes in the analysis unit may be performed using generative AI, or they may be performed without using generative AI.

[0092] The analysis unit can estimate the user's emotions and adjust the display method of the analysis results based on the estimated user emotions. For example, if the user is nervous, the analysis unit can provide a simple and highly visible display method. For example, if the user is relaxed, the analysis unit can also provide a display method that includes detailed information. For example, if the user is in a hurry, the analysis unit can also provide a display method that gets straight to the point. This allows the display method of the analysis results to be adjusted according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or a generative AI. The generative AI is, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above-described processing in the analysis unit may be performed using a generative AI or not.

[0093] The analysis unit can determine the priority of analysis based on the submission date of the code when analyzing source code. For example, the analysis unit may prioritize the analysis of recently submitted code. The analysis unit may also prioritize the analysis of code with an approaching submission deadline. The analysis unit may also adjust the priority of analysis according to the submission date. This allows the analysis priority to be determined based on the submission date. Some or all of the above processing in the analysis unit may be performed using a generative AI, or it may be performed without using a generative AI.

[0094] The analysis unit can adjust the order of analysis based on the relationships between the code when analyzing source code. For example, the analysis unit may prioritize the analysis of highly relevant code. For example, the analysis unit may postpone the analysis of less relevant code. The analysis unit can also adjust the order of analysis according to relevance. This allows the order of analysis to be adjusted based on relevance. Some or all of the above-described processes in the analysis unit may be performed using a generative AI, or they may be performed without using a generative AI.

[0095] The generation unit can estimate the user's emotions and adjust the method of generating comprehension tests based on the estimated user emotions. For example, if the user is relaxed, the generation unit can generate a detailed comprehension test. For example, if the user is in a hurry, the generation unit can also generate a concise comprehension test. For example, if the user is excited, the generation unit can also generate a visually stimulating comprehension test. This allows the method of generating comprehension tests to be adjusted according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or a generative AI. The generative AI is, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above-described processes in the generation unit may be performed using a generative AI or not.

[0096] The generation unit can adjust the level of detail of comprehension tests based on the importance of the code when generating comprehension tests. For example, the generation unit can generate detailed comprehension tests for important parts of the code. The generation unit can also generate concise comprehension tests for less important parts of the code. The generation unit can also prioritize comprehension tests according to their importance. This allows the level of detail of the tests to be adjusted based on the importance of the code. Some or all of the above processing in the generation unit may be performed using a generation AI, or it may be performed without a generation AI.

[0097] The generation unit can apply different test generation algorithms depending on the category of code when generating comprehension tests. For example, the generation unit can generate comprehension tests specialized for data processing code. The generation unit can also generate comprehension tests specialized for web development code. The generation unit can also generate comprehension tests specialized for machine learning code. This allows for the application of an appropriate test generation algorithm depending on the category of code. Some or all of the above-described processes in the generation unit may be performed using a generation AI, or they may be performed without using a generation AI.

[0098] The generation unit can estimate the user's emotions and adjust the length of the test based on the estimated emotions. For example, if the user is in a hurry, the generation unit can generate a short test. For example, if the user is relaxed, the generation unit can also generate a detailed test. For example, if the user is excited, the generation unit can also generate a visually stimulating test. This allows the length of the test to be adjusted according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or a generative AI. The generative AI is, but is not limited to, a text generation AI (e.g., LLM) or a multimodal generation AI. Some or all of the above processing in the generation unit may be performed using a generative AI or not.

[0099] The generation unit can determine the priority of comprehension tests based on the code submission date when generating comprehension tests. For example, the generation unit generates tests based on recently submitted code. The generation unit can also generate tests based on code with an approaching submission deadline. The generation unit can also adjust the priority of tests according to the submission date. This allows for the determination of test priority based on the submission date. Some or all of the above processing in the generation unit may be performed using a generation AI, or it may be performed without using a generation AI.

[0100] The generation unit can adjust the order of tests based on the relevance of the code when generating comprehension tests. For example, the generation unit generates tests based on highly relevant code. The generation unit can also generate tests based on less relevant code. The generation unit can also adjust the order of tests according to their relevance. This allows the order of tests to be adjusted based on relevance. Some or all of the above processing in the generation unit may be performed using a generation AI, or it may be performed without using a generation AI.

[0101] The implementation unit can estimate the user's emotions and adjust the test execution method based on the estimated user emotions. For example, if the user is nervous, the implementation unit can conduct the test in a relaxing environment. For example, if the user is relaxed, the implementation unit can also conduct the test in a focused environment. For example, if the user is in a hurry, the implementation unit can also conduct the test quickly. This allows the test execution method to be adjusted according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the implementation unit may be performed using generative AI or not using generative AI.

[0102] The implementation unit can select the optimal implementation method by referring to the user's past test history when conducting a test. For example, the implementation unit may prioritize providing test formats that the user has previously preferred. For example, the implementation unit may also suggest the optimal test duration based on the user's past test history. For example, the implementation unit may also provide tests of appropriate difficulty based on the user's past test results. This allows for the selection of the optimal implementation method based on past test history. Some or all of the above processing in the implementation unit may be performed using AI or not.

[0103] The implementation unit can adjust the difficulty of a test based on the user's current learning progress when administering the test. For example, if the user's learning progress is fast, the implementation unit can provide a test with a higher difficulty level. For example, if the user's learning progress is slow, the implementation unit can also provide a test with an appropriate difficulty level according to the user's learning progress. This allows the test difficulty to be adjusted based on learning progress. Some or all of the above processing in the implementation unit may be performed using AI or not.

[0104] The implementation unit can estimate the user's emotions and determine the order in which to administer the test based on the estimated emotions. For example, if the user is relaxed, the implementation unit may administer the questions in order from the most difficult to the least difficult. If the user is nervous, the implementation unit may administer the questions in order from the easiest to the most difficult. If the user is in a hurry, the implementation unit may administer the questions in order from the most important to the most important. This allows the implementation unit to determine the order in which to administer the test according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI may be, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the implementation unit may be performed using generative AI or not using generative AI.

[0105] The implementation unit can select the optimal implementation method based on the user's device information when conducting the test. For example, if the user is using a smartphone, the implementation unit can provide a test format that matches the screen size. For example, if the user is using a tablet, the implementation unit can also provide a test format optimized for a larger screen. For example, if the user is using a desktop, the implementation unit can also provide a test format that includes detailed information. This allows the implementation unit to select the optimal implementation method based on device information. Some or all of the above processing in the implementation unit may be performed using AI or not.

[0106] The implementation unit can analyze the user's social media activity and adjust the test execution method during the test. For example, the implementation unit can provide tests related to topics the user has shared on social media. For example, the implementation unit can also provide tests related to topics in programming communities the user follows. For example, the implementation unit can also provide tests related to posts the user has "liked" on social media. This allows the test execution method to be adjusted based on social media activity. Some or all of the above processing in the implementation unit may be performed using AI or not.

[0107] The scoring unit can estimate the user's emotions and adjust the scoring criteria based on the estimated emotions. For example, if the user is nervous, the scoring unit may apply lenient scoring criteria. For example, if the user is relaxed, the scoring unit may apply strict scoring criteria. For example, if the user is in a hurry, the scoring unit may also perform scoring quickly. This allows the scoring criteria to be adjusted according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI may be, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the scoring unit may be performed using generative AI or not using generative AI.

[0108] The scoring unit can optimize its scoring algorithm by referring to past scoring data during the scoring process. For example, the scoring unit adjusts the scoring algorithm based on past scoring data. For example, the scoring unit can also optimize its scoring algorithm by extracting specific patterns from past scoring data. For example, the scoring unit can improve the accuracy of scoring by analyzing past scoring data. This allows the scoring algorithm to be optimized based on past scoring data. Some or all of the above processes in the scoring unit may be performed using AI or not.

[0109] The scoring unit can improve the accuracy of its scoring based on the user's past test results. For example, the scoring unit can improve the accuracy of its scoring based on the user's past test results. For example, the scoring unit can also improve the accuracy of its scoring by extracting specific patterns from the user's past test results. For example, the scoring unit can also improve the accuracy of its scoring by analyzing the user's past test results. This allows the scoring accuracy to be improved based on past test results. Some or all of the above processing in the scoring unit may be performed using AI or not.

[0110] The scoring unit can estimate the user's emotions and adjust the display method of the scoring results based on the estimated user emotions. For example, if the user is nervous, the scoring unit can provide a simple and highly visible display method. For example, if the user is relaxed, the scoring unit can also provide a display method that includes detailed information. For example, if the user is in a hurry, the scoring unit can also provide a display method that gets straight to the point. This allows the display method of the scoring results to be adjusted according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the scoring unit may be performed using generative AI or not using generative AI.

[0111] The grading department can determine the grading priority based on when the tests were submitted. For example, the grading department may prioritize grading recently submitted tests. The grading department may also prioritize grading tests with approaching submission deadlines. The grading department may also adjust the grading priority according to the submission date. This allows for the determination of grading priority based on the submission date. Some or all of the above processes in the grading department may be performed using AI or not.

[0112] The scoring unit can adjust the scoring order based on the relevance of the tests during scoring. For example, the scoring unit may prioritize scoring tests that are highly relevant. For example, the scoring unit may postpone scoring tests that are less relevant. The scoring unit can also adjust the scoring order according to relevance. This allows the scoring order to be adjusted based on relevance. Some or all of the above processing in the scoring unit may be performed using AI or not.

[0113] The system according to the embodiment is not limited to the example described above, and various modifications are possible, for example, as follows.

[0114] The reception desk can estimate the user's emotions and adjust the source code input method based on the estimated emotions. For example, if the user is stressed, it can suggest a more relaxing input method, such as voice input or handwriting input. If the user is focused, it can recommend keyboard input to enable more efficient input. Furthermore, if the user is tired, it can simplify the input method and encourage a break. This allows the system to provide the optimal input method according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI may be, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the reception desk may be performed using generative AI or not.

[0115] The analysis unit can adjust the level of detail of the analysis by referring to the user's past learning history when analyzing source code. For example, if the user has frequently made similar errors in the past, it can provide detailed analysis results for those errors. Also, if the user has a strong interest in a particular field, it can prioritize providing analysis results related to that field. Furthermore, it can adjust the difficulty of the analysis results according to the user's learning progress. This allows for the provision of optimal analysis results based on the user's past learning history. Some or all of the above processing in the analysis unit may be performed using generative AI, or it may be performed without using generative AI.

[0116] The generation unit can estimate the user's emotions and adjust the difficulty of the comprehension test based on the estimated emotions. For example, if the user is relaxed, it can generate a detailed comprehension test that includes difficult questions. If the user is stressed, it can generate a comprehension test that mainly consists of easy questions. Furthermore, if the user is focused, it can generate a comprehension test that includes questions that are highly effective for learning. This allows for the provision of an optimal comprehension test according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or a generative AI. The generative AI is, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the generation unit may be performed using a generative AI or not.

[0117] The implementation unit can estimate the user's emotions and adjust the test environment based on the estimated emotions. For example, if the user is nervous, it can provide a relaxing environment, such as playing relaxing music. If the user is concentrating, it can provide a quiet environment to help them maintain their concentration. Furthermore, if the user is tired, it can display a message prompting them to take a break. This allows for the provision of an optimal test environment according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI may be, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the implementation unit may be performed using generative AI or not.

[0118] The scoring unit can estimate the user's emotions and adjust the content of the feedback based on the estimated emotions. For example, if the user is nervous, positive feedback can be prioritized to maintain motivation. If the user is relaxed, detailed feedback can be provided to enhance learning effectiveness. Furthermore, if the user is in a hurry, concise feedback can be provided to allow them to quickly move on to the next step. This allows for the provision of optimal feedback according to the user's emotions. Emotion estimation is achieved using an emotion estimation function, such as an emotion engine or generative AI. Generative AI includes, but is not limited to, text generation AI (e.g., LLM) or multimodal generation AI. Some or all of the above processing in the scoring unit may be performed using generative AI or not.

[0119] The reception desk can analyze the user's past input history and suggest the optimal input method. For example, it can prioritize suggesting input methods that the user has frequently used in the past (such as handwriting or voice input). It can also suggest the optimal input method for a specific time of day based on the user's past input history. Furthermore, it can analyze patterns in source code that the user has entered in the past and suggest efficient input methods. This allows the system to provide the optimal input method based on past input history. Some or all of the above processing in the reception desk may be performed using AI, or it may not.

[0120] The analysis unit can adjust the level of detail of the analysis based on the importance of the code when analyzing source code. For example, it can perform a detailed analysis on important parts of the code, and a concise analysis on less important parts of the code. Furthermore, it can determine the priority of the analysis according to its importance. This allows the level of detail of the analysis to be adjusted based on the importance of the code. Some or all of the above processing in the analysis unit may be performed using a generative AI, or it may be performed without using a generative AI.

[0121] The generation unit can apply different test generation algorithms depending on the category of code when generating comprehension tests. For example, it can generate comprehension tests specialized for data processing code, web development code, and machine learning code. This allows for the application of an appropriate test generation algorithm depending on the category of code. Some or all of the above-described processes in the generation unit may be performed using a generation AI, or they may be performed without a generation AI.

[0122] The implementation unit can select the optimal implementation method based on the user's device information when conducting the test. For example, if the user is using a smartphone, it can provide a test format that matches the screen size. If the user is using a tablet, it can provide a test format optimized for a larger screen. Furthermore, if the user is using a desktop, it can provide a test format that includes detailed information. This allows for the provision of the optimal implementation method based on device information. Some or all of the above processing in the implementation unit may be performed using AI or not.

[0123] The scoring unit can optimize its scoring algorithm by referring to past scoring data during the scoring process. For example, it can adjust the scoring algorithm based on past scoring data. It can also extract specific patterns from past scoring data to optimize the scoring algorithm. Furthermore, it can analyze past scoring data to improve scoring accuracy. This allows for the optimization of the scoring algorithm based on past scoring data. Some or all of the above processes in the scoring unit may be performed using AI, or they may not.

[0124] The following briefly describes the processing flow for example form 2.

[0125] Step 1: The reception desk receives source code. The reception desk provides an interface for users to manually enter source code. It also has a file upload function, allowing users to upload source code files. Furthermore, it can receive source code from other systems via an API. Step 2: The analysis unit analyzes the source code input by the reception unit. The analysis unit uses generation AI to analyze the structure and content of the source code and can detect syntax errors and logic errors. It can also evaluate the complexity and efficiency of the source code. Step 3: The generation unit generates comprehension tests based on the source code analyzed by the analysis unit. Using the generation AI, the generation unit can generate questions that require users to fill in the blanks for important points in the code, text questions that assess whether the user understands the content, and questions that intentionally contain some incorrect information for the user to correct. Step 4: The implementation unit administers the comprehension test generated by the generation unit. The implementation unit provides the comprehension test on a web service, and users can take the test through a web browser. The implementation unit can monitor the progress of the test in real time and provide feedback to the user. Step 5: The scoring unit scores the tests administered by the implementation unit. The scoring unit uses generative AI to grade the tests, analyzes user responses, and evaluates the accuracy rate and quality of responses. It can also score the user's level of understanding and provide feedback on the results.

[0126] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.

[0127] Data generation model 58 is a form of so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> Examples of generative AI include text generation AI, image generation AI, and multimodal generation AI. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats from audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVMs), k-means clustering, convolutional neural networks (CNNs), recurrent neural networks (RNNs), generative adversarial networks (GANs), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI ​​may be an AI agent. Furthermore, when the processing of each of the above parts is performed by the AI, the processing may be performed by the AI ​​in part or in whole, but is not limited to this example.Furthermore, processing performed by AI, including generative AI, may be replaced with rule-based processing, and rule-based processing may be replaced with processing performed by AI, including generative AI.

[0128] Furthermore, the processing performed by the data processing system 10 described above is carried out by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart device 14, but it may also be carried out by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart device 14. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the smart device 14 or an external device, and the smart device 14 acquires or collects information necessary for processing from the data processing device 12 or an external device.

[0129] Each of the multiple elements described above, including the reception unit, analysis unit, generation unit, implementation unit, and scoring unit, is implemented in at least one of the smart device 14 and the data processing unit 12. For example, the reception unit is implemented by the control unit 46A of the smart device 14 and provides an interface for the user to manually input source code. The analysis unit is implemented by the specific processing unit 290 of the data processing unit 12 and analyzes the structure and content of the source code using a generation AI. The generation unit is implemented by the specific processing unit 290 of the data processing unit 12 and generates a comprehension test based on the analyzed source code. The implementation unit is implemented by the control unit 46A of the smart device 14 and provides the comprehension test on a web service. The scoring unit is implemented by the specific processing unit 290 of the data processing unit 12 and scores the test using a generation AI. The correspondence between each unit and the device or control unit is not limited to the example described above and can be changed in various ways.

[0130] [Second Embodiment] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.

[0131] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0132] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN and / or LAN.

[0133] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.

[0134] The microphone 238 receives voice signals from the user and accepts instructions from the user. The microphone 238 captures the voice signals from the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0135] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, which captures images of the area around the user (for example, an imaging range defined by a field of view equivalent to the field of vision of a typical healthy person).

[0136] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0137] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing by the processor 28. The storage 32 stores the specific processing program 56.

[0138] The processor 28 reads a 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 acting as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.

[0139] Storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the user's emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.

[0140] In the smart glasses 214, specific processing is performed by the processor 46. The storage 50 stores a specific processing program 60. The processor 46 reads the specific processing program 60 from the storage 50 and executes the read specific processing program 60 on the RAM 48. The specific processing is realized by the processor 46 acting as a control unit 46A according to the specific processing program 60 executed on the RAM 48. The smart glasses 214 also have a data generation model 58 and an emotion identification model 59, similar to the data generation model and emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.

[0141] Furthermore, other devices besides the data processing device 12 may also have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 obtains processing results (such as prediction results) using the data generation model 58 by communicating with the server device that has the data generation model 58. Also, the data processing device 12 may be a server device or a terminal device owned by the user (for example, a mobile phone, robot, home appliance, etc.).

[0142] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[0143] The data generation model 58 is a so-called generative AI. An example of a data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats such as audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVM), k-means clustering, convolutional neural networks (CNN), recurrent neural networks (RNN), generative adversarial networks (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI ​​may be an AI agent. Furthermore, when the processing of each part described above is performed by the AI, the processing may be performed by the AI ​​in part or in whole, but is not limited to this example. Also, processing performed by an AI including a generative AI may be replaced by rule-based processing, and rule-based processing may be replaced by processing performed by an AI including a generative AI.

[0144] The data processing system 210 according to the second embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 210 is performed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the smart glasses 214, but it may also be performed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the smart glasses 214. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the smart glasses 214 or an external device, and the smart glasses 214 acquires or collects information necessary for processing from the data processing device 12 or an external device.

[0145] Each of the multiple elements described above, including the reception unit, analysis unit, generation unit, implementation unit, and scoring unit, is implemented by, for example, at least one of the smart glasses 214 and the data processing unit 12. For example, the reception unit is implemented by the control unit 46A of the smart glasses 214 and provides an interface for the user to manually input source code. The analysis unit is implemented by, for example, the specific processing unit 290 of the data processing unit 12 and analyzes the structure and content of the source code using a generation AI. The generation unit is implemented by, for example, the specific processing unit 290 of the data processing unit 12 and generates a comprehension test based on the analyzed source code. The implementation unit is implemented by, for example, the control unit 46A of the smart glasses 214 and provides the comprehension test on a web service. The scoring unit is implemented by, for example, the specific processing unit 290 of the data processing unit 12 and scores the test using a generation AI. The correspondence between each unit and the device or control unit is not limited to the example described above and can be changed in various ways.

[0146] [Third Embodiment] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.

[0147] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0148] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN and / or LAN.

[0149] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.

[0150] The microphone 238 receives voice signals from the user and accepts instructions from the user. The microphone 238 captures the voice signals from the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0151] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, which captures images of the area around the user (for example, an imaging range defined by a field of view equivalent to the field of vision of a typical healthy person).

[0152] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0153] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0154] The processor 28 reads a 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 acting as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.

[0155] Storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the user's emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.

[0156] In the headset terminal 314, specific processing is performed by the processor 46. The storage 50 stores a specific program 60. The processor 46 reads the specific program 60 from the storage 50 and executes the read specific program 60 on the RAM 48. The specific processing is realized by the processor 46 acting as a control unit 46A according to the specific program 60 executed on the RAM 48. The headset terminal 314 also has a data generation model 58 and an emotion identification model 59, similar to the data generation model and emotion identification model 59, and can perform processing similar to that of the specific processing unit 290 using these models.

[0157] Furthermore, other devices besides the data processing device 12 may also have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 obtains processing results (such as prediction results) using the data generation model 58 by communicating with the server device that has the data generation model 58. Also, the data processing device 12 may be a server device or a terminal device owned by the user (for example, a mobile phone, robot, home appliance, etc.).

[0158] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[0159] The data generation model 58 is a so-called generative AI. An example of a data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats such as audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVM), k-means clustering, convolutional neural networks (CNN), recurrent neural networks (RNN), generative adversarial networks (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI ​​may be an AI agent. Furthermore, when the processing of each part described above is performed by the AI, the processing may be performed by the AI ​​in part or in whole, but is not limited to this example. Also, processing performed by an AI including a generative AI may be replaced by rule-based processing, and rule-based processing may be replaced by processing performed by an AI including a generative AI.

[0160] The data processing system 310 according to the third embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 310 is performed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the headset terminal 314, but may also be performed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the headset terminal 314. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the headset terminal 314 or an external device, and the headset terminal 314 acquires or collects information necessary for processing from the data processing device 12 or an external device.

[0161] Each of the multiple elements described above, including the reception unit, analysis unit, generation unit, implementation unit, and scoring unit, is implemented by, for example, at least one of the headset terminal 314 and the data processing unit 12. For example, the reception unit is implemented by the control unit 46A of the headset terminal 314 and provides an interface for the user to manually input source code. The analysis unit is implemented by, for example, the specific processing unit 290 of the data processing unit 12 and analyzes the structure and content of the source code using a generation AI. The generation unit is implemented by, for example, the specific processing unit 290 of the data processing unit 12 and generates a comprehension test based on the analyzed source code. The implementation unit is implemented by, for example, the control unit 46A of the headset terminal 314 and provides the comprehension test on a web service. The scoring unit is implemented by, for example, the specific processing unit 290 of the data processing unit 12 and scores the test using a generation AI. The correspondence between each unit and the device or control unit is not limited to the example described above and can be changed in various ways.

[0162] [Fourth Embodiment] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

[0163] As shown in Figure 7, the 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.

[0164] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN and / or LAN.

[0165] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.

[0166] The microphone 238 receives voice signals from the user and accepts instructions from the user. The microphone 238 captures the voice signals from the user, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

[0167] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS image sensor or CCD image sensor, which captures images of the area around the user (for example, an imaging range defined by a field of view equivalent to the field of vision of a typical healthy person).

[0168] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0169] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. The robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.

[0170] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

[0171] The processor 28 reads a 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 acting as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.

[0172] Storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290. The identification processing unit 290 can estimate the user's emotions using the emotion identification model 59 and perform identification processing using the user's emotions. The emotion estimation function (emotion identification function) using the emotion identification model 59 performs various estimations and predictions regarding the user's emotions, including but not limited to these examples. Furthermore, emotion estimation and prediction also include, for example, emotion analysis.

[0173] In robot 414, specific processing is performed by processor 46. A specific program 60 is stored in storage 50. Processor 46 reads the specific program 60 from storage 50 and executes it on RAM 48. The specific processing is achieved by processor 46 acting as a control unit 46A according to the specific program 60 executed on RAM 48. Robot 414 also has data generation model 58 and emotion identification model 59, similar to those of the robot, and can perform processing similar to that of the specific processing unit 290 using these models.

[0174] Furthermore, other devices besides the data processing device 12 may also have the data generation model 58. For example, a server device may have the data generation model 58. In this case, the data processing device 12 obtains processing results (such as prediction results) using the data generation model 58 by communicating with the server device that has the data generation model 58. Also, the data processing device 12 may be a server device or a terminal device owned by the user (for example, a mobile phone, robot, home appliance, etc.).

[0175] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[0176] The data generation model 58 is a so-called generative AI. An example of a data generation model 58 is a generative AI such as ChatGPT. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and inference data such as audio data representing speech, text data representing text, and image data representing images (e.g., still image data or video data). The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference result in one or more data formats such as audio data, text data, and image data. The data generation model 58 includes, for example, text generation AI, image generation AI, and multimodal generation AI. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization. The specific processing unit 290 performs the specific processing described above using the data generation model 58. The data generation model 58 may be a fine-tuned model that outputs inference results from prompts that do not contain instructions, in which case the data generation model 58 can output inference results from prompts that do not contain instructions. In the data processing device 12, etc., there are multiple types of data generation models 58, and the data generation model 58 includes AI other than generative AI. AI other than generative AI includes, for example, linear regression, logistic regression, decision trees, random forests, support vector machines (SVM), k-means clustering, convolutional neural networks (CNN), recurrent neural networks (RNN), generative adversarial networks (GAN), or naive Bayes, and can perform various processes, but is not limited to these examples. Also, the AI ​​may be an AI agent. Furthermore, when the processing of each part described above is performed by the AI, the processing may be performed by the AI ​​in part or in whole, but is not limited to this example. Also, processing performed by an AI including a generative AI may be replaced by rule-based processing, and rule-based processing may be replaced by processing performed by an AI including a generative AI.

[0177] The data processing system 410 according to the fourth embodiment performs the same processing as the data processing system 10 according to the first embodiment. The processing by the data processing system 410 is performed by the specific processing unit 290 of the data processing device 12 or the control unit 46A of the robot 414, but it may also be performed by the specific processing unit 290 of the data processing device 12 and the control unit 46A of the robot 414. In addition, the specific processing unit 290 of the data processing device 12 acquires or collects information necessary for processing from the robot 414 or an external device, and the robot 414 acquires or collects information necessary for processing from the data processing device 12 or an external device.

[0178] Each of the multiple elements described above, including the reception unit, analysis unit, generation unit, implementation unit, and scoring unit, is implemented by, for example, at least one of the robot 414 and the data processing unit 12. For example, the reception unit is implemented by the control unit 46A of the robot 414 and provides an interface for the user to manually input source code. The analysis unit is implemented by, for example, the specific processing unit 290 of the data processing unit 12 and analyzes the structure and content of the source code using a generation AI. The generation unit is implemented by, for example, the specific processing unit 290 of the data processing unit 12 and generates a comprehension test based on the analyzed source code. The implementation unit is implemented by, for example, the control unit 46A of the robot 414 and provides the comprehension test on a web service. The scoring unit is implemented by, for example, the specific processing unit 290 of the data processing unit 12 and scores the test using a generation AI. The correspondence between each unit and the device or control unit is not limited to the example described above and can be changed in various ways.

[0179] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[0180] Figure 9 shows the emotion map 400, in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.

[0181] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.

[0182] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.

[0183] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, and motorcycles, emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated based, for example, on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.

[0184] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."

[0185] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values ​​representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.

[0186] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing method for the specific process may be used, which includes computer 22 and multiple other computers.

[0187] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.

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

[0189] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.

[0190] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.

[0191] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.

[0192] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.

[0193] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.

[0194] Furthermore, although the above-described examples were divided into four embodiments, some or all of these embodiments may be combined. Also, the smart device 14, smart glasses 214, headset terminal 314, and robot 414 are just examples, and they may be combined, or other devices may be used. Also, although the above-described examples were divided into two embodiments, Embodiment 1 and Embodiment 2, these may be combined.

[0195] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and other things that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.

[0196] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.

[0197] (Note 1) A reception area for inputting source code, An analysis unit that analyzes the source code input by the reception unit, A generation unit generates an understanding test based on the source code analyzed by the analysis unit, An implementation unit that performs the comprehension test generated by the generation unit, The system includes a scoring unit that scores the tests performed by the aforementioned implementation unit. A system characterized by the following features. (Note 2) The generating unit is Generate fill-in-the-blank questions about key aspects of the code. The system described in Appendix 1, characterized by the features described herein. (Note 3) The generating unit is Generates a text question to determine whether the content is understood. The system described in Appendix 1, characterized by the features described herein. (Note 4) The generating unit is The system generates problems that intentionally contain some incorrect information and require the user to correct it. The system described in Appendix 1, characterized by the features described herein. (Note 5) The generating unit is Generate a problem that creates a similar but different challenge and asks the user to solve it. The system described in Appendix 1, characterized by the features described herein. (Note 6) The scoring unit is, Tests are graded using a generative AI. The system described in Appendix 1, characterized by the features described herein. (Note 7) The aforementioned implementation unit is Providing comprehension tests on a web service The system described in Appendix 1, characterized by the features described herein. (Note 8) The aforementioned reception unit is It estimates the user's emotions and adjusts the timing of source code input based on the estimated user emotions. The system described in Appendix 1, characterized by the features described herein. (Note 9) The aforementioned reception unit is Analyze the user's past source code input history and select the optimal input method. The system described in Appendix 1, characterized by the features described herein. (Note 10) The aforementioned reception unit is When inputting source code, filtering is performed based on the user's current learning progress and areas of interest. The system described in Appendix 1, characterized by the features described herein. (Note 11) The aforementioned reception unit is It estimates the user's emotions and determines the priority of the source code to be input based on the estimated user emotions. The system described in Appendix 1, characterized by the features described herein. (Note 12) The aforementioned reception unit is When entering source code, the system prioritizes inputting highly relevant source code based on the user's geographical location. The system described in Appendix 1, characterized by the features described herein. (Note 13) The aforementioned reception unit is When entering source code, the system analyzes the user's social media activity and inputs relevant source code. The system described in Appendix 1, characterized by the features described herein. (Note 14) The aforementioned analysis unit, It estimates the user's emotions and adjusts the source code analysis method based on the estimated user emotions. The system described in Appendix 1, characterized by the features described herein. (Note 15) The aforementioned analysis unit, When analyzing source code, adjust the level of detail of the analysis based on the importance of the code. The system described in Appendix 1, characterized by the features described herein. (Note 16) The aforementioned analysis unit, When analyzing source code, different analysis algorithms are applied depending on the category of the code. The system described in Appendix 1, characterized by the features described herein. (Note 17) The aforementioned analysis unit, It estimates the user's emotions and adjusts how the analysis results are displayed based on the estimated emotions. The system described in Appendix 1, characterized by the features described herein. (Note 18) The aforementioned analysis unit, When analyzing source code, the priority of analysis is determined based on when the code was submitted. The system described in Appendix 1, characterized by the features described herein. (Note 19) The aforementioned analysis unit, When analyzing source code, the order of analysis is adjusted based on the relationships between the code elements. The system described in Appendix 1, characterized by the features described herein. (Note 20) The generating unit is We estimate the user's emotions and adjust how comprehension tests are generated based on those estimated emotions. The system described in Appendix 1, characterized by the features described herein. (Note 21) The generating unit is When generating comprehension tests, adjust the test detail based on the importance of the code. The system described in Appendix 1, characterized by the features described herein. (Note 22) The generating unit is When generating comprehension tests, different test generation algorithms are applied depending on the code category. The system described in Appendix 1, characterized by the features described herein. (Note 23) The generating unit is The system estimates the user's emotions and adjusts the test length based on those emotions. The system described in Appendix 1, characterized by the features described herein. (Note 24) The generating unit is When generating comprehension tests, test priorities are determined based on when the code was submitted. The system described in Appendix 1, characterized by the features described herein. (Note 25) The generating unit is When generating comprehension tests, the order of the tests is adjusted based on the relevance of the code. The system described in Appendix 1, characterized by the features described herein. (Note 26) The aforementioned implementation unit is We estimate the user's emotions and adjust the test execution method based on the estimated user emotions. The system described in Appendix 1, characterized by the features described herein. (Note 27) The aforementioned implementation unit is When conducting tests, the optimal method is selected by referring to the user's past test history. The system described in Appendix 1, characterized by the features described herein. (Note 28) The aforementioned implementation unit is When administering the test, adjust the test difficulty based on the user's current learning progress. The system described in Appendix 1, characterized by the features described herein. (Note 29) The aforementioned implementation unit is The system estimates user emotions and determines the order in which tests are performed based on the estimated user emotions. The system described in Appendix 1, characterized by the features described herein. (Note 30) The aforementioned implementation unit is During testing, the optimal testing method is selected based on the user's device information. The system described in Appendix 1, characterized by the features described herein. (Note 31) The aforementioned implementation unit is During testing, we analyze users' social media activity and adjust the testing method accordingly. The system described in Appendix 1, characterized by the features described herein. (Note 32) The scoring unit is, The system estimates the user's emotions and adjusts the scoring criteria based on those estimated emotions. The system described in Appendix 1, characterized by the features described herein. (Note 33) The scoring unit is, During the scoring process, the scoring algorithm is optimized by referring to past scoring data. The system described in Appendix 1, characterized by the features described herein. (Note 34) The scoring unit is, During the scoring process, the accuracy of the scoring is improved based on the user's past test results. The system described in Appendix 1, characterized by the features described herein. (Note 35) The scoring unit is, The system estimates the user's emotions and adjusts how the scoring results are displayed based on those estimated emotions. The system described in Appendix 1, characterized by the features described herein. (Note 36) The scoring unit is, When grading, the grading priority will be determined based on when the test was submitted. The system described in Appendix 1, characterized by the features described herein. (Note 37) The scoring unit is, During grading, the order of grading will be adjusted based on the relevance of the tests. The system described in Appendix 1, characterized by the features described herein. [Explanation of Symbols]

[0198] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots

Claims

1. A reception area for inputting source code, An analysis unit that analyzes the source code input by the reception unit, A generation unit generates an understanding test based on the source code analyzed by the analysis unit, An implementation unit that performs the comprehension test generated by the generation unit, The system includes a scoring unit that scores the tests performed by the aforementioned implementation unit. A system characterized by the following features.

2. The generating unit is Generate fill-in-the-blank questions about key aspects of the code. The system according to feature 1.

3. The generating unit is Generates a text question to determine whether the content is understood. The system according to feature 1.

4. The generating unit is The system generates problems that intentionally contain some incorrect information and require the user to correct it. The system according to feature 1.

5. The generating unit is Generate a problem that creates a similar but different challenge and asks the user to solve it. The system according to feature 1.

6. The scoring unit is, Tests are graded using a generation AI. The system according to feature 1.

7. The aforementioned implementation unit is Providing comprehension tests on a web service The system according to feature 1.

8. The aforementioned reception unit is It estimates the user's emotions and adjusts the timing of source code input based on the estimated user emotions. The system according to feature 1.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A

Cited By

  • Methods, systems, and articles for producing a film pattern on a substrate material

    US12622475B2