System

The system addresses the shortage of IT personnel by providing a comprehensive learning support system with generative AI for question-answering, project suggestion, learning plan proposal, and job-hunting tools, enhancing learner motivation and support.

JP2026021033APending Publication Date: 2026-02-10SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024122715
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-29
Publication Date
2026-02-10

AI Technical Summary

Technical Problem

The shortage of IT personnel is exacerbated by the lack of conducive learning environments, inadequate support for questions or errors, and insufficient assistance in finding employment or changing jobs, leading to reduced learner motivation.

Method used

A system incorporating generative artificial intelligence for question-answering, project proposal based on skill level, learning plan suggestion, a platform for learner communication, and job-hunting support based on skill level to provide individualized and effective learning support.

Benefits of technology

The system enhances learner motivation by offering prompt and appropriate answers, suitable project ideas, study plans, and job information, fostering a community for support and information sharing, thereby addressing the challenges of inadequate learning support and job assistance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026021033000001_ABST
    Figure 2026021033000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: This system includes a question answering means by generative artificial intelligence, a project proposing means corresponding to the skill level of a learner, a learning plan proposing means corresponding to the progress of the learner, a platform providing means for promoting communication between learners, and an employment / career change assistance means based on the skill level of the learner.SELECTED DRAWING: Figure 1
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 technology]

[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]

[0004] In modern society, the shortage of IT personnel is becoming more serious. While many people are trying to learn programming, the lack of an environment conducive to effective learning is a problem. Furthermore, it is difficult to receive prompt and appropriate support for questions or errors, making it difficult for learners to maintain their motivation. Furthermore, there is currently a lack of support for finding employment or changing jobs after completing their studies. To solve these issues, the present invention provides individual support and creates an environment where learners can help each other. [Means for solving the problem]

[0005] In order to solve the above-mentioned problems, the present invention provides a system that includes a question-answering means using generative artificial intelligence, a project proposing means based on the learner's skill level, a study plan proposing means based on the learner's progress, a platform providing means for promoting communication between learners, and a job-hunting and career change support means based on the learner's skill level.

[0006] Specifically, the generative artificial intelligence accepts questions from learners and provides quick and appropriate answers by tokenizing, natural language processing, answer generation, and decoding. The project suggestion means generates and provides appropriate project ideas based on the learner's skill level information. The learning plan suggestion means proposes learning plans according to the learner's progress and supports them in maintaining motivation. The platform provision means for promoting communication between learners encourages information sharing and creates an environment where they can help each other solve questions and errors. The employment and career change support means provides appropriate employment and career change information based on the learner's skill level.

[0007] "Generative AI" is an AI system that can use natural language processing to generate responses to user input.

[0008] A "question answering means" is a means that has the function of receiving doubts or questions from learners and generating and providing appropriate answers to them.

[0009] The "project proposal means" is a means that has the function of generating and proposing appropriate programming project ideas according to the learner's skill level.

[0010] A "learning plan suggestion means" is a means that has the function of proposing a plan for achieving learning goals based on the learner's progress and supporting learning.

[0011] "Platform provision means" refers to means that provide an online environment in which learners can communicate with each other and have the function of promoting information sharing and mutual support.

[0012] "Employment and career change support tools" are tools that provide appropriate job information according to the learner's skill level and have the function of supporting employment and career change. [Brief explanation of the drawings]

[0013] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION

[0014] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

[0015] First, the terms used in the following description will be explained.

[0016] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).

[0017] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.

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

[0019] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.

[0020] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."

[0021] [First embodiment]

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

[0023] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0024] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0025] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.

[0026] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0027] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0028] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

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

[0030] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0031] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0032] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0033] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0034] The present invention relates to a programming learning support system that allows programming learners to receive effective support for their questions and errors. This system includes a question-answering mechanism using generative artificial intelligence, a project suggestion mechanism based on the learner's skill level, a learning plan suggestion mechanism based on the learner's progress, a platform provision mechanism for promoting communication between learners, and a job-hunting / career change support mechanism based on the learner's skill level.

[0035] AI chatbot questions and answers

[0036] The user inputs and sends a question to the chatbot from their device. The device sends the question to the server, where the AI ​​chatbot on the server receives the question. The AI ​​chatbot tokenizes the question and generates an appropriate answer using natural language processing. It then decodes the generated answer and sends it to the device. The device displays the answer so the user can confirm it.

[0037] Example: When a user asks, "How do I define a function in Python?", the AI ​​chatbot responds, "In Python, you define a function using the def keyword."

[0038] Project idea proposal

[0039] The user sends their skill level from the terminal to the server. The server receives the skill level information and uses the project idea suggestion system to suggest project ideas suitable for the user's skill level. The suggested project ideas are returned to the terminal so that the user can review them.

[0040] For example, if a user's skill level is "beginner," the project idea suggestion system will suggest "web application development" or "data analysis project."

[0041] Study plan suggestions

[0042] The user sends their skill level from their device to the server. The server receives the skill level information and uses the study plan suggestion system to suggest a study plan suitable for the user. The proposed study plan is returned to the device so that the user can check it.

[0043] Example: If the user's skill level is "intermediate," the study plan suggestion system will suggest "learning applied algorithms."

[0044] Community platform provider

[0045] Users post messages to the community platform from their devices. The devices send the messages to the server, which stores them in a database. Other users can also post and view messages.

[0046] For example, if a user posts, "I have a question about a programming error," this message will be viewed by other learners and experienced users, who will provide answers and advice.

[0047] Job hunting and career change support

[0048] The user sends their skill level from their device to the server. The server receives the skill level information and uses the job-hunting and career change support system to suggest suitable job information to the user. The suggested job information is returned to the device so that the user can check it.

[0049] Example: If a user's skill level is "beginner," the job search and career change support system will suggest job information such as "junior developer" and "internship."

[0050] The processing flow will be explained below.

[0051] AI chatbot questions and answers

[0052] Step 1:

[0053] The user inputs and sends a question to the chatbot from the terminal.

[0054] Step 2:

[0055] The terminal sends a query to the server.

[0056] Step 3:

[0057] The server receives the question and passes it on to the AI ​​chatbot.

[0058] Step 4:

[0059] The server (AI chatbot) tokenizes the question content. Specifically, it breaks down the input natural language question into tokens and converts them into a format that the model can process.

[0060] Step 5:

[0061] The server (AI chatbot) generates an answer based on the tokenized question. Specifically, an AI model (e.g., GPT-3) generates an appropriate answer for the tokenized input.

[0062] Step 6:

[0063] The server (AI chatbot) decodes the generated answer, specifically by reconstructing the token sequence returned by the model as a string.

[0064] Step 7:

[0065] The server sends the decoded response to the terminal.

[0066] Step 8:

[0067] The terminal displays the answer for the user to review.

[0068] Project idea proposal

[0069] Step 1:

[0070] The user sends his / her skill level as "beginner" from the terminal.

[0071] Step 2:

[0072] The terminal transmits the skill level information to the server.

[0073] Step 3:

[0074] The server receives the skill level information and passes it to the project idea proposal system.

[0075] Step 4:

[0076] The server (project idea proposal system) extracts ideas suitable for "beginners" from a database of available project ideas. Specifically, it extracts projects suitable for beginners, such as "web application development" and "data analysis projects."

[0077] Step 5:

[0078] The server transmits the extracted project ideas to the terminal.

[0079] Step 6:

[0080] The terminal displays the proposed project ideas for the user to review.

[0081] Study plan suggestions

[0082] Step 1:

[0083] The user transmits his / her skill level as "intermediate" from the terminal.

[0084] Step 2:

[0085] The terminal transmits the skill level information to the server.

[0086] Step 3:

[0087] The server receives the skill level information and passes it to the learning plan suggestion system.

[0088] Step 4:

[0089] The server (study plan suggestion system) extracts study plans suitable for "intermediate" learners from the study plan database. Specifically, it extracts study plans for intermediate learners, such as "studying applied algorithms."

[0090] Step 5:

[0091] The server transmits the extracted study plan to the terminal.

[0092] Step 6:

[0093] The device displays the proposed lesson plan for the user to review.

[0094] Community platform provider

[0095] Step 1:

[0096] The user posts a message from the terminal to the community platform saying, "I have a question about a programming error."

[0097] Step 2:

[0098] The terminal transmits the posted content to the server.

[0099] Step 3:

[0100] The server stores the messages in the community platform database.

[0101] Step 4:

[0102] Other users can open the community platform from their devices to view all messages.

[0103] Step 5:

[0104] The server extracts all messages from the database and sends them to the terminal.

[0105] Step 6:

[0106] The terminal displays all messages and allows users to converse with each other.

[0107] Job hunting and career change support

[0108] Step 1:

[0109] The user sends his / her skill level as "beginner" from the terminal.

[0110] Step 2:

[0111] The terminal transmits the skill level information to the server.

[0112] Step 3:

[0113] The server receives the skill level information and passes it on to the job-hunting and career change support system.

[0114] Step 4:

[0115] The server (employment and career change support system) extracts job information suitable for "beginners" from the employment information database. Specifically, it extracts job information for beginners, such as "junior developers" and "internships."

[0116] Step 5:

[0117] The server transmits the extracted job information to the terminal.

[0118] Step 6:

[0119] The terminal displays the proposed job information for the user to review.

[0120] Example 1

[0121] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0122] Problems faced by programming learners include not receiving adequate support for questions or errors, not being able to find appropriate study plans or project ideas, a lack of communication that reduces motivation to learn, and not receiving support for finding employment or changing jobs based on one's skills. An effective learning support system is needed to solve these problems.

[0123] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0124] In this invention, the server includes a question-answering means using generative AI, a task suggesting means according to the learner's skill level, and a study plan suggesting means according to the learner's progress. This allows the learner to receive prompt and appropriate support for questions or errors, and to be suggested appropriate project ideas and study plans according to their own skill level.

[0125] "Generative AI" is an AI system that uses machine learning and deep learning technologies to understand natural language, answer questions, and generate dialogue.

[0126] "Question answering means" refers to a function that analyzes an input question and generates and provides an appropriate answer to it.

[0127] "Task suggestion means" refers to a function that generates and suggests appropriate learning tasks and project ideas based on the user's skill level.

[0128] The "study plan suggestion means" refers to a function that generates and suggests an effective study plan based on the user's learning progress and skill level.

[0129] "Means for providing a shared platform" refers to a function that promotes communication between users and provides an online environment where information and knowledge can be shared.

[0130] "Career support means" refers to a function that provides support information regarding employment and job changes according to the user's skill level and aptitude.

[0131] "Tokenization" is a process of breaking down input natural language sentences into semantic units such as words and phrases.

[0132] "Natural language processing" is a technology that enables computers to understand and generate natural language, and is used in question-answering and dialogue systems.

[0133] "Answer generation" is a process of automatically generating an appropriate answer to an input question.

[0134] "Decoding" is the process of returning encoded data to its original form, and in this case refers to converting the answers generated by the generative artificial intelligence into natural language text.

[0135] "Skill information" is information about the user's programming skills and knowledge level.

[0136] The present invention provides a learning support system for effectively supporting programming learners, which includes the following means.

[0137] 1. Question-answering method using generative artificial intelligence

[0138] The user inputs and sends a question to the chatbot from the device. The device sends the question to the server, where the AI ​​chatbot on the server receives the question. A server PC or cloud server is used as the hardware, and a natural language processing (NLP) model (e.g., GPT-4) is used as the software. The server tokenizes the question and generates an appropriate answer using natural language processing. The generated answer is then decoded and sent to the device. The device displays the answer so that the user can confirm it.

[0139] Examples:

[0140] When a user asks, "How do I define a function in Python?", the AI ​​chatbot responds, "In Python, you define a function using the def keyword."

[0141] Example prompt sentence:

[0142] Question: "How do I define a function in Python?"

[0143] Answer: "In Python, functions are defined using the def keyword."

[0144] 2. Methods for suggesting tasks according to the learner's skill level

[0145] The user sends their skill level from their device to the server. The server receives the skill level information and uses the project idea suggestion system to suggest project ideas appropriate for the user's skill level. The proposed project ideas are returned to the device so that the user can review them.

[0146] Examples:

[0147] If the user's skill level is "beginner," the project idea suggestion system will suggest "web application development" or "data analysis project."

[0148] Example prompt sentence:

[0149] Skill level: "beginner"

[0150] Proposal: "Web application development" "Data analysis project"

[0151] 3. A method for proposing learning plans according to the learner's progress

[0152] The user sends their skill level from their device to the server. The server receives the skill level information and uses the study plan suggestion system to suggest a study plan suitable for the user. The proposed study plan is returned to the device so that the user can check it.

[0153] Examples:

[0154] If the user's skill level is "intermediate," the study plan suggestion system suggests "learning applied algorithms."

[0155] Example prompt sentence:

[0156] Skill level: "intermediate"

[0157] Proposal: "Learning Applied Algorithms"

[0158] 4. A means of providing a shared platform to promote communication among learners

[0159] Users post messages to the sharing platform from their devices. The devices send the messages to the server, which stores them in a database. Other users can also post and view messages.

[0160] Examples:

[0161] When a user posts a message saying, "I have a question about a programming error," this message will be viewed by other learners and experienced users, who will provide replies and advice.

[0162] Example prompt sentence:

[0163] Post: "I need help with a programming error."

[0164] Answer: "This error is a typical syntax error. Please check your code again."

[0165] 5. Skill-based career support for learners

[0166] The user sends their skill level from their device to the server. The server receives the skill level information and uses the job-hunting and career change support system to suggest suitable job information to the user. The suggested job information is returned to the device so that the user can check it.

[0167] Examples:

[0168] If the user's skill level is "beginner," the job-hunting and career change support system will suggest job information such as "junior developer" and "internship."

[0169] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0170] AI chatbot questions and answers

[0171] Step 1:

[0172] The user enters a question and submits it.

[0173] Specific behavior: The user types "How do I define a function in Python" into the terminal chat window and clicks the "Send" button.

[0174] Input: The user's question text.

[0175] Output: The question text is prepared for transmission by the user's device.

[0176] Step 2:

[0177] The terminal sends a question to the server.

[0178] Specific operation: The device sends the user's question to the server as an HTTP POST request.

[0179] Input: The user's question text.

[0180] Output: HTTP request to the server.

[0181] Step 3:

[0182] The server receives the question and tokenizes it.

[0183] Specific operation: The server breaks down the received question text into tokens. For example, "Please tell me how to define a function in Python" is broken down into "Python", "in", "function", "of", "define", "how", "of", "tell me", and "please".

[0184] Input: The question text from the user.

[0185] Output: A list of tokenized questions.

[0186] Step 4:

[0187] The server generates the answer using a natural language processing model.

[0188] Specific operation: The server inputs the tokenized question into a natural language processing model (e.g., GPT-4) and generates an answer. For example, it generates the text "In Python, functions are defined using the def keyword."

[0189] Input: A list of tokenized questions.

[0190] Output: The answer text generated by the natural language processing model.

[0191] Step 5:

[0192] The server generates a response that is decoded and sent to the terminal.

[0193] Specific operation: The server decodes the generated answer and sends it to the device as a JSON-formatted response.

[0194] Input: The answer text generated by the natural language processing model.

[0195] Output: The JSON response sent to the device.

[0196] Step 6:

[0197] The device will display the answer.

[0198] Specific operation: The device displays the reply received from the server in the chat window.

[0199] Input: The answer text received from the server.

[0200] Output: The answer text that is displayed to the user.

[0201] Project idea proposal

[0202] Step 1:

[0203] The user enters the skill level and submits it.

[0204] Specific Actions: The user selects a skill level and clicks the "Submit" button.

[0205] Input: User skill level information.

[0206] Output: The user's device prepares to send the skill level information.

[0207] Step 2:

[0208] The device transmits the skill level to the server.

[0209] Specific operation: The device sends the skill level to the server as an HTTP POST request.

[0210] Input: User skill level information.

[0211] Output: HTTP request to the server.

[0212] Step 3:

[0213] A server receives the skill level information and generates appropriate project ideas.

[0214] Specific operation: Based on the received skill level information, the server selects appropriate project ideas from a database or a pre-prepared list.

[0215] Input: User skill level information.

[0216] Output: Selected project ideas.

[0217] Step 4:

[0218] The server sends the generated project ideas to the terminal.

[0219] Specific operation: The server sends the selected project idea to the terminal in JSON format.

[0220] Input: Selected project idea.

[0221] Output: Project ideas in JSON format sent to the device.

[0222] Step 5:

[0223] The device displays project ideas.

[0224] Specific behavior: Display project ideas on the device display.

[0225] Input: Project ideas received from the server.

[0226] Output: The project idea presented to the user for review.

[0227] Study plan suggestions

[0228] Step 1:

[0229] The user enters the skill level and submits it.

[0230] Specific Actions: The user selects a skill level and clicks the "Submit" button.

[0231] Input: User skill level information.

[0232] Output: The user's device prepares to send the skill level information.

[0233] Step 2:

[0234] The device transmits the skill level to the server.

[0235] Specific operation: The device sends the skill level to the server as an HTTP POST request.

[0236] Input: User skill level information.

[0237] Output: HTTP request to the server.

[0238] Step 3:

[0239] A server receives the skill level information and generates an appropriate learning plan.

[0240] Specific operation: Based on the received skill level information, the server selects an appropriate learning plan from a database or a pre-prepared list.

[0241] Input: User skill level information.

[0242] Output: The selected lesson plan.

[0243] Step 4:

[0244] The server sends the generated learning plan to the terminal.

[0245] Specific operation: The server sends the selected learning plan to the device in JSON format.

[0246] Input: The selected lesson plan.

[0247] Output: The lesson plan in JSON format that is sent to the device.

[0248] Step 5:

[0249] The device displays the lesson plan.

[0250] Specific action: Display the lesson plan on the device display.

[0251] Input: The lesson plan received from the server.

[0252] Output: The lesson plan displayed for the user to review.

[0253] Shared platform provision

[0254] Step 1:

[0255] The user types and sends a message.

[0256] Specific actions: The user enters a message into the text box on the sharing platform and clicks the "Send" button.

[0257] Input: A message posted by the user.

[0258] Output: The user's terminal prepares the message for sending.

[0259] Step 2:

[0260] The device sends a message to the server.

[0261] Specific operation: The device sends the message to the server as an HTTP POST request.

[0262] Input: The user's posted message.

[0263] Output: HTTP request to the server.

[0264] Step 3:

[0265] The server stores the message in a database.

[0266] Specific operation: The server stores the received message in a database.

[0267] Input: The message received from the user.

[0268] Output: The message stored in the database.

[0269] Step 4:

[0270] Other users view the message.

[0271] What it does: Other users can access the sharing platform and view the posted messages.

[0272] Input: Messages stored in the database.

[0273] Output: The message that other users will see.

[0274] Vocational support

[0275] Step 1:

[0276] The user enters the skill level and submits it.

[0277] Specific Actions: The user selects a skill level and clicks the "Submit" button.

[0278] Input: User skill level information.

[0279] Output: The user's device prepares to send the skill level information.

[0280] Step 2:

[0281] The device transmits the skill level to the server.

[0282] Specific operation: The device sends the skill level to the server as an HTTP POST request.

[0283] Input: User skill level information.

[0284] Output: HTTP request to the server.

[0285] Step 3:

[0286] The server receives the skill level information and suggests appropriate job offers.

[0287] Specific operation: Based on the received skill level information, the server selects appropriate job information from a database or a pre-prepared list.

[0288] Input: User skill level information.

[0289] Output: Selected job postings.

[0290] Step 4:

[0291] The server sends the generated job information to the terminal.

[0292] Specific operation: The server sends the selected job information to the terminal in JSON format.

[0293] Input: Selected job postings.

[0294] Output: The job information in JSON format sent to the device.

[0295] Step 5:

[0296] The device displays the job listing.

[0297] Specific operation: Display job information on the device display.

[0298] Input: Job information received from the server.

[0299] Output: The job listing displayed for the user to see.

[0300] (Application example 1)

[0301] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0302] Conventional programming learning support systems lack the flexibility to adapt to individual learners' skill levels and progress. Furthermore, they often lack real-time support, particularly in the operation and maintenance of factory robots, making it difficult for learners to solve problems independently. Given these circumstances, there is a need for a system that can simultaneously support efficient and effective learning and practice.

[0303] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0304] In this invention, the server includes a question-answering means using generative artificial intelligence, a project proposal means based on the learner's skill level, a learning plan proposal means based on the learner's progress, a platform provision means for promoting communication between learners, a job-hunting and career change support means based on the learner's skill level, and an application means installed on smart glasses or a head-mounted display to support the operation of factory robots. This allows learners to receive real-time question-answering and project proposals, enabling efficient and effective learning and practice. Furthermore, real-time support can be provided for robot operation and maintenance in factories, facilitating problem solving.

[0305] "Generative AI" is an AI system that has the ability to tokenize questions from learners, perform natural language processing, and generate appropriate answers.

[0306] The "question answering means" is a device or program that accepts questions from users and performs tokenization, natural language processing, answer generation, and decoding.

[0307] The "project proposal tool" is a system that generates and provides appropriate project ideas based on the learner's skill level.

[0308] The "study plan suggestion means" is a system for generating and suggesting a study plan according to the learner's skill level and progress.

[0309] "Platform provision means" refers to means for providing an online platform to promote communication between learners and exchange information.

[0310] "Employment and career change support tools" is a system that provides appropriate job information and career advice based on the learner's skill level.

[0311] "Smart glasses" are wearable devices that have the ability to display visual information, allowing learners to refer to information and guidance in real time.

[0312] A "head-mounted display" is a display device worn on the head like a helmet, allowing learners to view visual information in real time.

[0313] A "factory robot" is an automated robot designed to perform production work and maintenance within a factory.

[0314] "Application means" means software or a program for performing a specific function or service, which is installed and used on a device.

[0315] The present invention is a system that provides effective support to programming learners, and this system is composed of a combination of multiple functions, specifically including a question-answering means using generative artificial intelligence, a project suggestion means according to skill level, a learning plan suggestion means according to progress, a platform provision means for promoting communication between learners, a job-hunting and career change support means based on skill level, and an application means for supporting the operation of factory robots that is installed in smart glasses or a head-mounted display.

[0316] Hardware and software used

[0317] The hardware used to realize this system is smart glasses and a head-mounted display, which function as devices for displaying visual information.

[0318] In terms of software, the main components used are:

[0319] "openai" library: Question-answering function using generative AI models.

[0320] Database: To store and view community messages.

[0321] Data processing and calculation flow

[0322] AI chatbot questions and answers

[0323] When a user inputs a question through smart glasses or a head-mounted display, the chatbot sends it to the server, which uses the "openai" library to tokenize the question and interprets it using natural language processing. It then uses a generative AI model to generate an answer, decodes it, and returns it to the user.

[0324] Project proposal

[0325] Users submit their skill level to the server, which receives this information and generates appropriate project ideas that are returned to the user's device for review.

[0326] Study plan suggestions

[0327] Based on the user's skill level and progress, the server generates a lesson plan and sends it to the user's device, where the user can review and implement the proposed lesson plan.

[0328] Community platform provider

[0329] Users post messages to the community through smart glasses or head-mounted displays. These messages are sent to the server and stored in a database. Other users can also post and view messages.

[0330] Job hunting and career change support

[0331] When a user sends their skill level information to the server, the server generates suitable job information based on this information and sends it to the user's device. The user can then review the information and apply for the job.

[0332] As a specific example, when using the question-and-answer function of an AI chatbot, if a user inputs the question, "Please tell me the steps for initial setup of the robot," the system will generate an answer such as, "The steps for initial setup of the robot are as follows: First, turn on the power, then open the initial setup menu, then..."

[0333] Example of an input prompt for a generative AI model:

[0334] text

[0335] Question: What are the initial setup steps for the robot?

[0336] Answer: The initial setup procedure for the robot is as follows: First, turn on the power, then open the initial setup menu, then...

[0337] These features allow users to efficiently learn and practice while receiving real-time questions and project proposals. They can also receive real-time support for robot operation and maintenance in factories, making problem-solving easier.

[0338] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0339] Step 1:

[0340] The user puts on smart glasses or a head-mounted display and inputs a question.

[0341] Enter a specific question such as "Please tell me the initial setup procedure for the robot" and press the send button. The entered question will be sent to the server by the terminal.

[0342] Step 2:

[0343] The server receives the query sent by the user.

[0344] The received question is tokenized and the context is analyzed using natural language processing. At this stage, the text data is broken down into tokens and semantic analysis is performed.

[0345] Step 3:

[0346] The server generates answers to questions using a generative AI model.

[0347] After analyzing the natural language processing, the prompt sentence is input to the generative AI model (openai library) to generate the optimal answer. Example: "Question: What are the steps for initial setup of the robot?\nAnswer: The steps for initial setup of the robot are as follows. First..."

[0348] Step 4:

[0349] The server decodes the generated response and sends it to the terminal.

[0350] The generated answer is decoded as a string and returned to the terminal. At this stage, the answer is formatted to make it easier for the user to understand.

[0351] Step 5:

[0352] The terminal receives the response sent from the server and displays it to the user.

[0353] The answers are displayed in real time on the user's smart glasses or head-mounted display, allowing the user to review them and use them to solve the problem.

[0354] Step 6:

[0355] The user transmits his / her skill level to the server via the terminal.

[0356] The skill level is selected using a drop-down menu or the like and sent to the server by pressing the send button.

[0357] Step 7:

[0358] The server generates project proposals based on the skill levels and sends them to the terminals.

[0359] The project suggestion system selects appropriate project ideas based on the user's skill level information and sends them to the user's terminal. For example, for the "beginner" level, it would be "easy picking work."

[0360] Step 8:

[0361] The terminal receives the project proposal and displays it to the user.

[0362] The proposed project ideas are displayed on the user's smart glasses or head-mounted display, and the user can use them to advance their learning.

[0363] Step 9:

[0364] A user posts a message on a community platform.

[0365] Students input and send messages containing what they have learned or any questions they have via smart glasses or a head-mounted display.

[0366] Step 10:

[0367] The server receives user-submitted messages and stores them in a database.

[0368] The server stores the received messages in a database and makes them available for other learners to view.

[0369] Step 11:

[0370] Other users can view posts and respond to messages from the community platform.

[0371] Other learners can also view the messages and post replies and advice based on their own knowledge and experience.

[0372] Through the above processing steps, the user can receive effective learning support, and in particular, real-time support in operating and programming factory robots is possible.

[0373] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0374] This invention relates to a programming learning support system that allows programming learners to receive effective support for their questions and errors. This system includes a question-answering mechanism using generative artificial intelligence, a project proposal mechanism based on the learner's skill level, a study plan proposal mechanism based on the learner's progress, a platform provision mechanism for promoting communication between learners, and a job-hunting / career change support mechanism based on the learner's skill level. Furthermore, by combining this with an emotion engine that recognizes the user's emotions, the system provides appropriate support according to the user's emotional state.

[0375] AI chatbot questions and answers

[0376] The user inputs and sends a question to the chatbot from the device. The device sends the question to the server, where the AI ​​chatbot on the server receives the question. The AI ​​chatbot tokenizes the question and generates an appropriate answer using natural language processing. It then decodes the generated answer and sends it to the device. The device displays the answer so the user can confirm it. If an emotion engine is built in, it recognizes emotions from the user's input text and adjusts the answer based on those emotions.

[0377] For example, if a user asks, "How do I define a function in Python?", the AI ​​chatbot will respond, "In Python, functions are defined using the def keyword." If the AI ​​chatbot detects that the user is feeling anxious, it will provide additional explanation, such as, "If you're not sure, try a simple example."

[0378] Project idea proposal

[0379] The user sends their skill level from the device to the server. The server receives the skill level information and uses the project idea suggestion system to suggest project ideas appropriate for the user's skill level. The suggested project ideas are returned to the device so that the user can review them. If an emotion engine is built in, the difficulty and content of the project can be adjusted according to the user's emotions.

[0380] For example, if a user's skill level is "beginner," the project idea suggestion system will suggest "web application development" or "data analysis project." If the user's emotions indicate excitement or interest, the system will suggest a slightly more difficult project, such as "interactive web application development."

[0381] Study plan suggestions

[0382] The user sends their skill level from their device to the server. The server receives the skill level information and uses the study plan suggestion system to propose a study plan suitable for the user. The proposed study plan is returned to the device so that the user can review it. If an emotion engine is built in, the learning pace and content can be adjusted according to the user's emotions.

[0383] For example, if a user's skill level is "intermediate," the study plan suggestion system will suggest "studying applied algorithms." If the user is feeling stressed or pressured, the system will suggest reducing the amount of study per day and "check your progress every week as you go."

[0384] Community platform provider

[0385] Users post messages to the community platform from their devices. The devices send the posted messages to the server, which stores them in a database. Other users can also post and view messages in the same way. If an emotion engine is built in, it analyzes the emotional state of the posted message, making it easier for users to receive appropriate advice and support from other users.

[0386] For example, if a user posts, "I need your help with a programming error," this message will be viewed by other learners and experienced users, who will provide replies and advice. If the message expresses confusion or anger, a supportive message such as, "Let's calmly sort out the problem" will automatically appear.

[0387] Job hunting and career change support

[0388] The user sends their skill level from their device to the server. The server receives the skill level information and uses the job-hunting and career change support system to suggest suitable job information for the user. The suggested job information is returned to the device so that the user can check it. If an emotion engine is built in, the content of the job offer can be adjusted according to the user's emotions, and a support message can be provided.

[0389] For example, if a user's skill level is "beginner," the job-hunting and career change support system will suggest job listings such as "junior developer" or "internship." If the user's emotions indicate anxiety or stress, the system will add a comment to the suggestions, such as "This is a position that even beginners can take on with confidence."

[0390] The processing flow will be explained below.

[0391] Embodiments of the invention combining emotion engines

[0392] AI chatbot questions and answers

[0393] Step 1:

[0394] The user inputs a question to the chatbot via text input from the terminal and sends it.

[0395] Step 2:

[0396] The terminal sends a query to the server.

[0397] Step 3:

[0398] The server receives the question and sends the question to the emotion engine.

[0399] Step 4:

[0400] The server (emotion engine) analyzes the input text and identifies the user's emotion, which is then stored as an emotion tag.

[0401] Step 5:

[0402] The server passes the question and emotion tag to the AI ​​chatbot.

[0403] Step 6:

[0404] The server (AI chatbot) tokenizes the question, performs natural language processing, and generates an appropriate answer.

[0405] Step 7:

[0406] The server (AI chatbot) adjusts the generated answers based on the emotion tag, for example adding words of encouragement to anxious users.

[0407] Step 8:

[0408] The server sends the generated response to the terminal.

[0409] Step 9:

[0410] The terminal displays the answer for the user to review.

[0411] Project idea proposal

[0412] Step 1:

[0413] The user sends his / her skill level as "beginner" to the server from the terminal.

[0414] Step 2:

[0415] The terminal transmits the skill level information to the server.

[0416] Step 3:

[0417] The server receives the skill level information and queries the emotion engine for the user's current emotional state.

[0418] Step 4:

[0419] The server (emotion engine) analyzes the user's emotional state and generates emotion tags.

[0420] Step 5:

[0421] The server sends the skill level information and emotion tag to the project idea proposal system.

[0422] Step 6:

[0423] The server (project idea proposal system) extracts suitable projects from the available project ideas and adjusts the content and difficulty based on emotion tags.

[0424] Step 7:

[0425] The server transmits the extracted project ideas to the terminal.

[0426] Step 8:

[0427] The terminal displays the proposed project ideas for the user to review.

[0428] Study plan suggestions

[0429] Step 1:

[0430] The user sends his / her skill level as "intermediate" to the server from the terminal.

[0431] Step 2:

[0432] The terminal transmits the skill level information to the server.

[0433] Step 3:

[0434] The server receives the skill level information and queries the emotion engine for the user's current emotional state.

[0435] Step 4:

[0436] The server (emotion engine) analyzes the user's emotional state and generates emotion tags.

[0437] Step 5:

[0438] The server sends the skill level information and emotion tags to the learning plan suggestion system.

[0439] Step 6:

[0440] The server (study plan suggestion system) extracts study plans for intermediate learners from a study plan database and adjusts the content and pace based on emotion tags.

[0441] Step 7:

[0442] The server transmits the extracted study plan to the terminal.

[0443] Step 8:

[0444] The device displays the proposed lesson plan for the user to review.

[0445] Community platform provider

[0446] Step 1:

[0447] A user posts a message to the community platform from a terminal.

[0448] Step 2:

[0449] The terminal sends the posted message to the server.

[0450] Step 3:

[0451] The server sends the message to the emotion engine, which generates an emotion tag.

[0452] Step 4:

[0453] The server stores the messages and emotion tags in a community database.

[0454] Step 5:

[0455] Other users can open the community platform from their devices to view all messages.

[0456] Step 6:

[0457] The server extracts all messages from the database and adds supporting messages as needed based on the emotion tags.

[0458] Step 7:

[0459] The device displays all messages and allows users to communicate and receive support.

[0460] Job hunting and career change support

[0461] Step 1:

[0462] The user sends his / her skill level as "beginner" to the server from the terminal.

[0463] Step 2:

[0464] The terminal transmits the skill level information to the server.

[0465] Step 3:

[0466] The server receives the skill level information and queries the emotion engine for the user's current emotional state.

[0467] Step 4:

[0468] The server (emotion engine) analyzes the user's emotional state and generates emotion tags.

[0469] Step 5:

[0470] The server sends the skill level information and emotion tag to the job-hunting and career change support system.

[0471] Step 6:

[0472] The server (employment and career change support system) extracts job information for beginners from a job information database and adjusts the content and messages based on emotion tags.

[0473] Step 7:

[0474] The server transmits the extracted job information to the terminal.

[0475] Step 8:

[0476] The terminal displays the proposed job information for the user to review.

[0477] Example 2

[0478] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0479] Programming learners face a wide range of challenges, including the questions and errors they encounter during their studies, creating learning plans tailored to their skill level, proposing appropriate projects, promoting communication among learners, and providing support for finding employment or changing jobs. Responding quickly and appropriately to these challenges is difficult, and emotional support, in particular, is lacking. The purpose of this invention is to provide a system that comprehensively solves these challenges and enables learners to progress effectively in their studies.

[0480] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0481] In this invention, the server includes a question answering means using generative AI, a project suggestion means based on the user's skill level information, and a study plan suggestion means, which allows for quick answers to the user's questions and errors, and suggests appropriate projects and study plans according to the user's skill level, thereby enabling more efficient and effective support for learning.

[0482] "Generative AI" is an AI technology that automatically generates answers to questions posed by users.

[0483] The "question answering means" is a means for accepting questions from users and generating and providing appropriate answers.

[0484] The "project proposal means" is a means for generating and providing appropriate project ideas based on the user's skill level.

[0485] The "study plan suggestion means" is a means for suggesting an optimal study plan according to the user's progress and skill level.

[0486] "Platform provision means" refers to a means of providing an online platform to promote communication between learners.

[0487] "Employment and career change support tools" are tools that suggest appropriate job information based on the user's skill level and support employment and career changes.

[0488] An "emotion engine" is a technology that recognizes emotions from user input and behavior and provides appropriate support based on that.

[0489] A "server" is a computer system that analyzes input data from a user and generates appropriate processing and results.

[0490] A "terminal" is a device through which a user inputs information, communicates with a server, and receives and displays the processing results.

[0491] MODE FOR CARRYING OUT THE INVENTION

[0492] This invention is a programming learning support system that provides comprehensive support to programming learners, including assistance with questions and errors they encounter during their learning process, planning based on their learning progress, project suggestions, and even employment and career change support. This system is equipped with functions such as question answering using generative artificial intelligence, project suggestions based on the user's skill level, study plan suggestions, a platform that promotes communication between users, and employment and career change support. Furthermore, by incorporating an emotion engine, appropriate support is provided according to the user's emotional state.

[0493] composition

[0494] The system includes the following main measures:

[0495] 1. Question-answering method using generative artificial intelligence

[0496] 2. Project proposal method based on user skill level

[0497] 3. A method for suggesting learning plans based on learning progress

[0498] 4. Providing a platform to promote communication between learners

[0499] 5. Job-hunting and career change support based on user skill level

[0500] 6. Support provision method using an emotion engine to recognize user emotions

[0501] Hardware and software used

[0502] The server performs processes such as tokenizing questions, natural language processing, answer generation, and decoding. The software used for this includes generative artificial intelligence models and natural language processing libraries, and the database system stores user information and messages.

[0503] The terminal allows users to input information, communicates with the server, and receives and displays the processing results. The applications running on the terminal have functions such as a chatbot interface, a project proposal interface, a learning plan interface, and a communication platform.

[0504] Specific examples

[0505] AI chatbot questions and answers

[0506] The user types a question into the terminal, such as "How do I define a function in Python?" and submits it. The terminal then sends this question to the server, where an AI chatbot uses natural language processing to generate the answer, "In Python, you define a function using the def keyword." The answer is then returned to the terminal, which displays it. If the user's emotion is recognized as being uncertain, a supplementary explanation is provided: "If you're not sure, try a simple example."

[0507] Project idea proposal

[0508] When a user submits their skill level from their device, the server uses that information to generate appropriate project ideas using a project suggestion system. For example, if a user's skill level is "beginner," it might suggest "web application development" or "data analysis projects." Furthermore, if the emotion engine detects the user's excitement or interest, it might suggest projects with a slightly higher level of difficulty, such as "interactive web application development."

[0509] Study plan suggestions

[0510] When a user inputs their skill level on their device, the server generates a learning plan based on the received information. Specifically, if the user is at an "intermediate" level, "applied algorithm learning" is suggested. If the emotion engine detects stress, the server suggests "continue to check your progress every week as you go."

[0511] Community platform provider

[0512] When a user posts a message saying, "I need help with a programming error," other users can view the message and provide answers and advice. If the emotion engine detects confusion or anger, a support message such as, "Let's try to sort out the problem calmly" will be displayed.

[0513] Job hunting and career change support

[0514] When a user submits their skill level information, the server suggests appropriate job listings. For example, if the user is a "beginner," job listings such as "junior developer" or "internship" will be suggested. For users who are feeling anxious or stressed, a comment such as "This is a position you can take on with confidence even if it's your first time" will be added.

[0515] Prompt Sentence Examples

[0516] 1. "How do I define a function in Python?"

[0517] 2. "What projects are appropriate for me at a beginner skill level?"

[0518] 3. "I'd like some suggestions for my current study plan."

[0519] 4. "I'd like to discuss a programming error with the community."

[0520] 5. "Please tell me about job postings I can apply for with entry-level skills."

[0521] This invention allows programming learners to receive prompt and appropriate support for questions and errors, and to implement optimal learning plans and projects according to their skill level. Furthermore, by receiving support for finding employment or changing jobs, it is possible to give back the results of their learning to society.

[0522] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0523] Specific processing steps of the program

[0524] AI chatbot questions and answers

[0525] Step 1:

[0526] A user opens a chat application from a terminal, types a question, and sends it. If the typed question is an example text such as "How do I define a function in Python?", the terminal captures this input text.

[0527] Input: A text question from the user

[0528] Output: Text data sent to the terminal

[0529] Specific operation:

[0530] The user enters a question in the text box on the chat screen and clicks the send button.

[0531] Step 2:

[0532] The terminal sends the acquired input text to the server. The data sent is in the form of an HTTP request.

[0533] Input: A text question from the user

[0534] Output: HTTP request sent to the server

[0535] Specific operation:

[0536] The click event of the submit button is triggered to form an HTTP request containing text data.

[0537] Step 3:

[0538] The server parses the input text from the received HTTP request and passes it to a generative AI model, which then tokenizes the question and uses natural language processing (NLP) to generate an appropriate answer.

[0539] Input: Text question in HTTP request

[0540] Output: Answer text generated by the AI ​​model

[0541] Specific operation:

[0542] The server receives the HTTP request, retrieves the text data, and feeds it into the NLP model, which generates an answer.

[0543] Step 4:

[0544] The server decodes the generated response and sends it back to the device. The returned data is in HTTP response format.

[0545] Input: Answer text generated by the AI ​​model

[0546] Output: Answer data as an HTTP response

[0547] Specific operation:

[0548] The server includes the generated answer in the response body and sends an HTTP response to the terminal.

[0549] Step 5:

[0550] The device analyzes the received response and displays it on the chat screen.

[0551] Input: Response data from the server in the HTTP response

[0552] Output: Response displayed on the chat screen

[0553] Specific operation:

[0554] The device receives the HTTP response and renders the answer text on the screen, allowing the user to check the answer.

[0555] Project idea proposal

[0556] Step 1:

[0557] The user selects and transmits his / her skill level from the terminal. For example, if the user selects the skill level "beginner," that information is entered into the terminal.

[0558] Input: Skill level information

[0559] Output: Skill level data entered into the device

[0560] Specific operation:

[0561] The user selects a skill level from the pull-down menu and presses the send button.

[0562] Step 2:

[0563] The terminal transmits the selected skill level information to the server. The transmitted data is in the form of an HTTP request.

[0564] Input: Skill level information

[0565] Output: HTTP request sent to the server

[0566] Specific operation:

[0567] The click event on the submit button triggers an HTTP request that includes skill level data.

[0568] Step 3:

[0569] The server passes the received skill level information to a project proposal system to generate appropriate project ideas.

[0570] Input: Skill level information in the HTTP request

[0571] Output: Generated project ideas

[0572] Specific operation:

[0573] The server analyzes the skill level information and inputs it into a proposal algorithm to generate project ideas.

[0574] Step 4:

[0575] The server returns the generated project ideas to the device in HTTP response format.

[0576] Input: Generated project ideas

[0577] Output: Project idea data as an HTTP response

[0578] Specific operation:

[0579] The server includes the generated project idea in the response body and sends an HTTP response to the terminal.

[0580] Step 5:

[0581] The terminal analyzes and displays the received project idea.

[0582] Input: Project idea data in the HTTP response from the server

[0583] Output: Project ideas displayed on screen

[0584] Specific operation:

[0585] The device receives the HTTP response and renders the project idea on the screen, allowing the user to review the proposal.

[0586] Study plan suggestions

[0587] Step 1:

[0588] The user inputs his / her skill level from the terminal and transmits it. For example, if the user selects "intermediate," that information is input to the terminal.

[0589] Input: Skill level information

[0590] Output: Skill level data entered into the device

[0591] Specific operation:

[0592] The user enters the skill level and presses the send button.

[0593] Step 2:

[0594] The terminal transmits the selected skill level information to the server. The transmitted data is in the form of an HTTP request.

[0595] Input: Skill level information

[0596] Output: HTTP request sent to the server

[0597] Specific operation:

[0598] The click event on the submit button triggers an HTTP request that includes skill level data.

[0599] Step 3:

[0600] The server passes the received skill level information to the study plan suggestion system, which then generates an appropriate study plan.

[0601] Input: Skill level information in the HTTP request

[0602] Output: The generated learning plan

[0603] Specific operation:

[0604] The server analyzes the skill level information and inputs it into the proposed algorithm to generate a learning plan.

[0605] Step 4:

[0606] The server returns the generated learning plan to the device. The returned data is in HTTP response format.

[0607] Input: Generated learning plan

[0608] Output: Lesson plan data as an HTTP response

[0609] Specific operation:

[0610] The server includes the generated learning plan in the response body and sends an HTTP response to the terminal.

[0611] Step 5:

[0612] The terminal analyzes and displays the received learning plan.

[0613] Input: Lesson plan data in the HTTP response from the server

[0614] Output: The lesson plan displayed on the screen

[0615] Specific operation:

[0616] The device receives the HTTP response and renders the plan on the screen, where the user can review the proposal.

[0617] Community platform provider

[0618] Step 1:

[0619] A user posts a message to the community platform from their device. For example, the user types, "I have a question about a programming error," and sends it.

[0620] Input: Message text

[0621] Output: Message data entered on the terminal

[0622] Specific operation:

[0623] The user enters a message in the text box and presses the send button.

[0624] Step 2:

[0625] The terminal sends the posted message to the server. The data sent is in the form of an HTTP request.

[0626] Input: Message text

[0627] Output: HTTP request sent to the server

[0628] Specific operation:

[0629] The click event on the send button triggers the creation of an HTTP request containing the message data.

[0630] Step 3:

[0631] The server stores the received message in a database, and the stored data includes the message text and user information.

[0632] Input: Message text in the HTTP request

[0633] Output: Message data stored in the database

[0634] Specific operation:

[0635] The server parses the HTTP request and executes a query to insert the message data into a database.

[0636] Step 4:

[0637] Other users send requests to the server to view their messages, which then executes a database query to retrieve the message data and sends it back.

[0638] Input: View request

[0639] Output: Message data retrieved from the database

[0640] Specific operation:

[0641] The server issues a database query to retrieve the corresponding message data.

[0642] Step 5:

[0643] The other users' devices analyze the received message data and display it on the community platform.

[0644] Input: Message data in the HTTP response from the server

[0645] Output: Messages displayed on the screen

[0646] Specific operation:

[0647] The device receives the HTTP response and renders the message on the screen, where other users can read and respond to the message.

[0648] Job hunting and career change support

[0649] Step 1:

[0650] The user inputs his / her skill level from the terminal and transmits it. For example, if the user selects "beginner," that information is input to the terminal.

[0651] Input: Skill level information

[0652] Output: Skill level data entered into the device

[0653] Specific operation:

[0654] The user enters the skill level and presses the send button.

[0655] Step 2:

[0656] The terminal transmits the selected skill level information to the server. The transmitted data is in the form of an HTTP request.

[0657] Input: Skill level information

[0658] Output: HTTP request sent to the server

[0659] Specific operation:

[0660] The click event on the submit button triggers an HTTP request that includes skill level data.

[0661] Step 3:

[0662] The server passes the received skill level information to the employment and career change support system and generates appropriate job information.

[0663] Input: Skill level information in the HTTP request

[0664] Output: Generated job listings

[0665] Specific operation:

[0666] The server analyzes the skill level information and inputs it into a corresponding algorithm to generate job information.

[0667] Step 4:

[0668] The server returns the generated job information to the terminal. The returned data is in HTTP response format.

[0669] Input: Generated job posting

[0670] Output: Job data as an HTTP response

[0671] Specific operation:

[0672] The server includes the generated job information in the response body and sends an HTTP response to the terminal.

[0673] Step 5:

[0674] The terminal analyzes the received job information and displays it.

[0675] Input: Job information data in the HTTP response from the server

[0676] Output: Job listing displayed on screen

[0677] Specific operation:

[0678] The device receives the HTTP response and displays the job information on the screen. The user can then review the information and consider applying.

[0679] (Application example 2)

[0680] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0681] Conventional programming learning support systems struggle to provide immediate and appropriate support for learners' questions and errors. Furthermore, they lack personalized learning support that takes into account the learner's emotional state, making it difficult to improve learning efficiency and maintain motivation. Furthermore, they offer limited project suggestions and learning plans tailored to each learner's skill level, and lack effective means to promote communication between users.

[0682] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[0683] In this invention, the server includes a question-answering means using generative artificial intelligence, a project suggestion means according to the learner's skill level, a study plan suggestion means according to the learner's progress, a platform provision means for promoting communication between learners, a job-hunting and career change support means based on the learner's skill level, a response adjustment means using emotion recognition means, and a means for adjusting project suggestions and study plans based on the user's emotional state. This allows for immediate and appropriate support for questions and errors faced by learners, as well as individualized study support that takes into account the learner's emotional state, making it possible to improve learning efficiency and maintain motivation.

[0684] "Generative AI" is an AI system that performs natural language processing based on user input and generates appropriate answers.

[0685] "Emotion recognition means" is a technology that analyzes emotions from user input and behavior and makes appropriate responses and adjustments based on that.

[0686] A "question answering means" is a system that accepts questions from users and provides answers to those questions.

[0687] The "project suggestion means" is a system that suggests appropriate learning projects based on the user's skill level and situation.

[0688] The "study plan suggestion means" is a system that suggests an effective study plan according to the user's progress and skill level.

[0689] A "platform provision means" is a system that provides an online environment and interface to promote communication between learners.

[0690] "Employment and career change support tool" is a system that provides appropriate employment and career change support information according to the user's skill level and wishes.

[0691] The "response adjustment means" is a function that adjusts the generated response to suit the emotional state of the user based on the information obtained by the emotion recognition means.

[0692] This invention relates to a programming learning support system, which includes a question-answering system using generative artificial intelligence, a project suggestion system based on a learner's skill level, a study plan suggestion system based on a learner's progress, a platform provision system for promoting communication between learners, a job-hunting and career change support system based on a learner's skill level, a response adjustment system using emotion recognition system, and a system for adjusting project suggestions and study plans based on a user's emotional state.

[0693] Question and Answering Tools

[0694] The server receives questions entered by users from their devices as text data. The server's AI generates tokens from the received questions and generates appropriate answers using natural language processing. The emotion recognition means recognizes emotions from the question text entered by the user and adjusts the generated answers accordingly.

[0695] example:

[0696] If a user asks, "How do I define a function in Python?", the generative AI will respond, "In Python, functions are defined using the def keyword." If the emotion recognition means identifies the user's emotion as anxiety, it will add additional explanation such as, "If you're not sure, try a simple example."

[0697] Project proposal method

[0698] Users send their skill level information from their devices to the server. The server generates appropriate project ideas based on the received skill level information. The emotion recognition means analyzes the user's emotional state and adjusts the difficulty and content of the proposed projects.

[0699] example:

[0700] If the user's skill level is "beginner," the server will suggest "web application development" or "data analysis project." If the emotion recognition means recognizes the user's emotion as excitement, the server will suggest a slightly more difficult project, such as "interactive web application development."

[0701] Learning plan suggestion tool

[0702] The user sends their skill level information from their device to the server. The server then proposes a learning plan suitable for the user based on the received skill level information. The emotion recognition means analyzes the user's emotional state and adjusts the pace and content of the proposed learning plan.

[0703] example:

[0704] If the user's skill level is "intermediate," the server suggests "applied algorithm learning." If the emotion recognition means identifies the user's emotion as stress, the server suggests reducing the amount of daily learning and "continue to check your progress every week."

[0705] Communication platform provision means

[0706] Users can post messages to the community platform from their devices. The server stores the received messages in a database so that other users can view and reply to them. The emotion recognition system analyzes the emotional state of the posted messages and adds appropriate advice or support messages.

[0707] example:

[0708] When a user posts, "I need help with a programming error," other users can post replies and advice. If the emotion recognition system detects the user's emotion as confusion or anger, it automatically displays a support message such as, "Let's try to sort out the problem calmly."

[0709] Employment and career change support

[0710] Users send their skill level information from their devices to the server. The server then suggests appropriate job offers based on the received skill level information. The emotion recognition means analyzes the user's emotional state and adjusts the proposed job offers or adds support messages.

[0711] example:

[0712] If the user's skill level is "beginner," the generative AI will suggest job listings such as "junior developer" or "internship." If the emotion recognition means recognizes the user's emotion as anxiety, it will add a comment such as "This is a position that even beginners can take on with confidence."

[0713] Prompt Sentence Examples

[0714] Question prompt:

[0715] How do I define a function in Python?

[0716] As a result, the present invention realizes a programming learning support system that makes full use of emotion recognition to provide users with more appropriate and personalized support.

[0717] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0718] Step 1:

[0719] The user inputs a question from the learning terminal.

[0720] Input: The user enters the question in text format.

[0721] Operation: The terminal sends the entered question to the server.

[0722] Step 2:

[0723] The server receives the question and sends the question to a generative artificial intelligence (generative AI model).

[0724] Input: Question text submitted by the user

[0725] How it works: The server tokenizes the question and passes it to a generative AI model to perform natural language processing.

[0726] Step 3:

[0727] A generative AI model generates answers to questions.

[0728] Input: Tokenized question text

[0729] Data processing: Uses natural language processing to understand the intent of the question and generate appropriate answers

[0730] Output: Generated answer text

[0731] Step 4:

[0732] The server recognizes the user's emotion from the question text using an emotion recognition means.

[0733] Input: User question text

[0734] Action: Analyzing emotional states from text using emotion recognition algorithms

[0735] Output: Perceived emotional state (e.g., anxiety, excitement, stress, etc.)

[0736] Step 5:

[0737] The server adjusts the answers from the generative AI model based on the perceived emotional state.

[0738] Input: Generated answer text and the user's emotional state

[0739] Data calculation: Add additional explanations or support messages to the answer text based on the emotional state

[0740] Output: Adjusted answer text

[0741] Step 6:

[0742] The server sends the adjusted answer text to the terminal.

[0743] Input: Adjusted answer text

[0744] Operation: The server sends the tailored response to the user's terminal.

[0745] Step 7:

[0746] The terminal displays the received response on its screen.

[0747] Input: Answer text sent from the server

[0748] Output: The answer that is displayed to the user

[0749] Step 8:

[0750] The user checks the displayed answers.

[0751] Action: The user reviews the displayed answer and returns to step 1 if they wish to ask the question again.

[0752] This allows the generative AI model to generate an answer to the question entered by the user, make appropriate adjustments using emotion recognition, and then provide the answer to the user.

[0753] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0754] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0755] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.

[0756] [Second embodiment]

[0757] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0758] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0759] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0761] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

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

[0763] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0764] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0765] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0766] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0767] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0768] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."

[0769] The present invention relates to a programming learning support system that allows programming learners to receive effective support for their questions and errors. This system includes a question-answering mechanism using generative artificial intelligence, a project suggestion mechanism based on the learner's skill level, a learning plan suggestion mechanism based on the learner's progress, a platform provision mechanism for promoting communication between learners, and a job-hunting / career change support mechanism based on the learner's skill level.

[0770] AI chatbot questions and answers

[0771] The user inputs and sends a question to the chatbot from their device. The device sends the question to the server, where the AI ​​chatbot on the server receives the question. The AI ​​chatbot tokenizes the question and generates an appropriate answer using natural language processing. It then decodes the generated answer and sends it to the device. The device displays the answer so the user can confirm it.

[0772] Example: When a user asks, "How do I define a function in Python?", the AI ​​chatbot responds, "In Python, you define a function using the def keyword."

[0773] Project idea proposal

[0774] The user sends their skill level from the terminal to the server. The server receives the skill level information and uses the project idea suggestion system to suggest project ideas suitable for the user's skill level. The suggested project ideas are returned to the terminal so that the user can review them.

[0775] For example, if a user's skill level is "beginner," the project idea suggestion system will suggest "web application development" or "data analysis project."

[0776] Study plan suggestions

[0777] The user sends their skill level from their device to the server. The server receives the skill level information and uses the study plan suggestion system to suggest a study plan suitable for the user. The proposed study plan is returned to the device so that the user can check it.

[0778] Example: If the user's skill level is "intermediate," the study plan suggestion system will suggest "learning applied algorithms."

[0779] Community platform provider

[0780] Users post messages to the community platform from their devices. The devices send the messages to the server, which stores them in a database. Other users can also post and view messages.

[0781] For example, if a user posts, "I have a question about a programming error," this message will be viewed by other learners and experienced users, who will provide answers and advice.

[0782] Job hunting and career change support

[0783] The user sends their skill level from their device to the server. The server receives the skill level information and uses the job-hunting and career change support system to suggest suitable job information to the user. The suggested job information is returned to the device so that the user can check it.

[0784] Example: If a user's skill level is "beginner," the job search and career change support system will suggest job information such as "junior developer" and "internship."

[0785] The processing flow will be explained below.

[0786] AI chatbot questions and answers

[0787] Step 1:

[0788] The user inputs and sends a question to the chatbot from the terminal.

[0789] Step 2:

[0790] The terminal sends a query to the server.

[0791] Step 3:

[0792] The server receives the question and passes it on to the AI ​​chatbot.

[0793] Step 4:

[0794] The server (AI chatbot) tokenizes the question content. Specifically, it breaks down the input natural language question into tokens and converts them into a format that the model can process.

[0795] Step 5:

[0796] The server (AI chatbot) generates an answer based on the tokenized question. Specifically, an AI model (e.g., GPT-3) generates an appropriate answer for the tokenized input.

[0797] Step 6:

[0798] The server (AI chatbot) decodes the generated answer, specifically by reconstructing the token sequence returned by the model as a string.

[0799] Step 7:

[0800] The server sends the decoded response to the terminal.

[0801] Step 8:

[0802] The terminal displays the answer for the user to review.

[0803] Project idea proposal

[0804] Step 1:

[0805] The user sends his / her skill level as "beginner" from the terminal.

[0806] Step 2:

[0807] The terminal transmits the skill level information to the server.

[0808] Step 3:

[0809] The server receives the skill level information and passes it to the project idea proposal system.

[0810] Step 4:

[0811] The server (project idea proposal system) extracts ideas suitable for "beginners" from a database of available project ideas. Specifically, it extracts projects suitable for beginners, such as "web application development" and "data analysis projects."

[0812] Step 5:

[0813] The server transmits the extracted project ideas to the terminal.

[0814] Step 6:

[0815] The terminal displays the proposed project ideas for the user to review.

[0816] Study plan suggestions

[0817] Step 1:

[0818] The user transmits his / her skill level as "intermediate" from the terminal.

[0819] Step 2:

[0820] The terminal transmits the skill level information to the server.

[0821] Step 3:

[0822] The server receives the skill level information and passes it to the learning plan suggestion system.

[0823] Step 4:

[0824] The server (study plan suggestion system) extracts study plans suitable for "intermediate" learners from the study plan database. Specifically, it extracts study plans for intermediate learners, such as "studying applied algorithms."

[0825] Step 5:

[0826] The server transmits the extracted study plan to the terminal.

[0827] Step 6:

[0828] The device displays the proposed lesson plan for the user to review.

[0829] Community platform provider

[0830] Step 1:

[0831] The user posts a message from the terminal to the community platform saying, "I have a question about a programming error."

[0832] Step 2:

[0833] The terminal transmits the posted content to the server.

[0834] Step 3:

[0835] The server stores the messages in the community platform database.

[0836] Step 4:

[0837] Other users can open the community platform from their devices to view all messages.

[0838] Step 5:

[0839] The server extracts all messages from the database and sends them to the terminal.

[0840] Step 6:

[0841] The terminal displays all messages and allows users to converse with each other.

[0842] Job hunting and career change support

[0843] Step 1:

[0844] The user sends his / her skill level as "beginner" from the terminal.

[0845] Step 2:

[0846] The terminal transmits the skill level information to the server.

[0847] Step 3:

[0848] The server receives the skill level information and passes it on to the job-hunting and career change support system.

[0849] Step 4:

[0850] The server (employment and career change support system) extracts job information suitable for "beginners" from the employment information database. Specifically, it extracts job information for beginners, such as "junior developers" and "internships."

[0851] Step 5:

[0852] The server transmits the extracted job information to the terminal.

[0853] Step 6:

[0854] The terminal displays the proposed job information for the user to review.

[0855] Example 1

[0856] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0857] Problems faced by programming learners include not receiving adequate support for questions or errors, not being able to find appropriate study plans or project ideas, a lack of communication that reduces motivation to learn, and not receiving support for finding employment or changing jobs based on one's skills. An effective learning support system is needed to solve these problems.

[0858] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0859] In this invention, the server includes a question-answering means using generative AI, a task suggesting means according to the learner's skill level, and a study plan suggesting means according to the learner's progress. This allows the learner to receive prompt and appropriate support for questions or errors, and to be suggested appropriate project ideas and study plans according to their own skill level.

[0860] "Generative AI" is an AI system that uses machine learning and deep learning technologies to understand natural language, answer questions, and generate dialogue.

[0861] "Question answering means" refers to a function that analyzes an input question and generates and provides an appropriate answer to it.

[0862] "Task suggestion means" refers to a function that generates and suggests appropriate learning tasks and project ideas based on the user's skill level.

[0863] The "study plan suggestion means" refers to a function that generates and suggests an effective study plan based on the user's learning progress and skill level.

[0864] "Means for providing a shared platform" refers to a function that promotes communication between users and provides an online environment where information and knowledge can be shared.

[0865] "Career support means" refers to a function that provides support information regarding employment and job changes according to the user's skill level and aptitude.

[0866] "Tokenization" is a process of breaking down input natural language sentences into semantic units such as words and phrases.

[0867] "Natural language processing" is a technology that enables computers to understand and generate natural language, and is used in question-answering and dialogue systems.

[0868] "Answer generation" is a process of automatically generating an appropriate answer to an input question.

[0869] "Decoding" is the process of returning encoded data to its original form, and in this case refers to converting the answers generated by the generative artificial intelligence into natural language text.

[0870] "Skill information" is information about the user's programming skills and knowledge level.

[0871] The present invention provides a learning support system for effectively supporting programming learners, which includes the following means.

[0872] 1. Question-answering method using generative artificial intelligence

[0873] The user inputs and sends a question to the chatbot from the device. The device sends the question to the server, where the AI ​​chatbot on the server receives the question. A server PC or cloud server is used as the hardware, and a natural language processing (NLP) model (e.g., GPT-4) is used as the software. The server tokenizes the question and generates an appropriate answer using natural language processing. The generated answer is then decoded and sent to the device. The device displays the answer so that the user can confirm it.

[0874] Examples:

[0875] When a user asks, "How do I define a function in Python?", the AI ​​chatbot responds, "In Python, you define a function using the def keyword."

[0876] Example prompt sentence:

[0877] Question: "How do I define a function in Python?"

[0878] Answer: "In Python, functions are defined using the def keyword."

[0879] 2. Methods for suggesting tasks according to the learner's skill level

[0880] The user sends their skill level from their device to the server. The server receives the skill level information and uses the project idea suggestion system to suggest project ideas appropriate for the user's skill level. The proposed project ideas are returned to the device so that the user can review them.

[0881] Examples:

[0882] If the user's skill level is "beginner," the project idea suggestion system will suggest "web application development" or "data analysis project."

[0883] Example prompt sentence:

[0884] Skill level: "beginner"

[0885] Proposal: "Web application development" "Data analysis project"

[0886] 3. A method for proposing learning plans according to the learner's progress

[0887] The user sends their skill level from their device to the server. The server receives the skill level information and uses the study plan suggestion system to suggest a study plan suitable for the user. The proposed study plan is returned to the device so that the user can check it.

[0888] Examples:

[0889] If the user's skill level is "intermediate," the study plan suggestion system suggests "learning applied algorithms."

[0890] Example prompt sentence:

[0891] Skill level: "intermediate"

[0892] Proposal: "Learning Applied Algorithms"

[0893] 4. A means of providing a shared platform to promote communication among learners

[0894] Users post messages to the sharing platform from their devices. The devices send the messages to the server, which stores them in a database. Other users can also post and view messages.

[0895] Examples:

[0896] When a user posts a message saying, "I have a question about a programming error," this message will be viewed by other learners and experienced users, who will provide replies and advice.

[0897] Example prompt sentence:

[0898] Post: "I need help with a programming error."

[0899] Answer: "This error is a typical syntax error. Please check your code again."

[0900] 5. Skill-based career support for learners

[0901] The user sends their skill level from their device to the server. The server receives the skill level information and uses the job-hunting and career change support system to suggest suitable job information to the user. The suggested job information is returned to the device so that the user can check it.

[0902] Examples:

[0903] If the user's skill level is "beginner," the job-hunting and career change support system will suggest job information such as "junior developer" and "internship."

[0904] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0905] AI chatbot questions and answers

[0906] Step 1:

[0907] The user enters a question and submits it.

[0908] Specific behavior: The user types "How do I define a function in Python" into the terminal chat window and clicks the "Send" button.

[0909] Input: The user's question text.

[0910] Output: The question text is prepared for transmission by the user's device.

[0911] Step 2:

[0912] The terminal sends a question to the server.

[0913] Specific operation: The device sends the user's question to the server as an HTTP POST request.

[0914] Input: The user's question text.

[0915] Output: HTTP request to the server.

[0916] Step 3:

[0917] The server receives the question and tokenizes it.

[0918] Specific operation: The server breaks down the received question text into tokens. For example, "Please tell me how to define a function in Python" is broken down into "Python", "in", "function", "of", "define", "how", "of", "tell me", and "please".

[0919] Input: The question text from the user.

[0920] Output: A list of tokenized questions.

[0921] Step 4:

[0922] The server generates the answer using a natural language processing model.

[0923] Specific operation: The server inputs the tokenized question into a natural language processing model (e.g., GPT-4) and generates an answer. For example, it generates the text "In Python, functions are defined using the def keyword."

[0924] Input: A list of tokenized questions.

[0925] Output: The answer text generated by the natural language processing model.

[0926] Step 5:

[0927] The server generates a response that is decoded and sent to the terminal.

[0928] Specific operation: The server decodes the generated answer and sends it to the device as a JSON-formatted response.

[0929] Input: The answer text generated by the natural language processing model.

[0930] Output: The JSON response sent to the device.

[0931] Step 6:

[0932] The device will display the answer.

[0933] Specific operation: The device displays the reply received from the server in the chat window.

[0934] Input: The answer text received from the server.

[0935] Output: The answer text that is displayed to the user.

[0936] Project idea proposal

[0937] Step 1:

[0938] The user enters the skill level and submits it.

[0939] Specific Actions: The user selects a skill level and clicks the "Submit" button.

[0940] Input: User skill level information.

[0941] Output: The user's device prepares to send the skill level information.

[0942] Step 2:

[0943] The device transmits the skill level to the server.

[0944] Specific operation: The device sends the skill level to the server as an HTTP POST request.

[0945] Input: User skill level information.

[0946] Output: HTTP request to the server.

[0947] Step 3:

[0948] A server receives the skill level information and generates appropriate project ideas.

[0949] Specific operation: Based on the received skill level information, the server selects appropriate project ideas from a database or a pre-prepared list.

[0950] Input: User skill level information.

[0951] Output: Selected project ideas.

[0952] Step 4:

[0953] The server sends the generated project ideas to the terminal.

[0954] Specific operation: The server sends the selected project idea to the terminal in JSON format.

[0955] Input: Selected project idea.

[0956] Output: Project ideas in JSON format sent to the device.

[0957] Step 5:

[0958] The device displays project ideas.

[0959] Specific behavior: Display project ideas on the device display.

[0960] Input: Project ideas received from the server.

[0961] Output: The project idea presented to the user for review.

[0962] Study plan suggestions

[0963] Step 1:

[0964] The user enters the skill level and submits it.

[0965] Specific Actions: The user selects a skill level and clicks the "Submit" button.

[0966] Input: User skill level information.

[0967] Output: The user's device prepares to send the skill level information.

[0968] Step 2:

[0969] The device transmits the skill level to the server.

[0970] Specific operation: The device sends the skill level to the server as an HTTP POST request.

[0971] Input: User skill level information.

[0972] Output: HTTP request to the server.

[0973] Step 3:

[0974] A server receives the skill level information and generates an appropriate learning plan.

[0975] Specific operation: Based on the received skill level information, the server selects an appropriate learning plan from a database or a pre-prepared list.

[0976] Input: User skill level information.

[0977] Output: The selected lesson plan.

[0978] Step 4:

[0979] The server sends the generated learning plan to the terminal.

[0980] Specific operation: The server sends the selected learning plan to the device in JSON format.

[0981] Input: The selected lesson plan.

[0982] Output: The lesson plan in JSON format that is sent to the device.

[0983] Step 5:

[0984] The device displays the lesson plan.

[0985] Specific action: Display the lesson plan on the device display.

[0986] Input: The lesson plan received from the server.

[0987] Output: The lesson plan displayed for the user to review.

[0988] Shared platform provision

[0989] Step 1:

[0990] The user types and sends a message.

[0991] Specific actions: The user enters a message into the text box on the sharing platform and clicks the "Send" button.

[0992] Input: A message posted by the user.

[0993] Output: The user's terminal prepares the message for sending.

[0994] Step 2:

[0995] The device sends a message to the server.

[0996] Specific operation: The device sends the message to the server as an HTTP POST request.

[0997] Input: The user's posted message.

[0998] Output: HTTP request to the server.

[0999] Step 3:

[1000] The server stores the message in a database.

[1001] Specific operation: The server stores the received message in a database.

[1002] Input: The message received from the user.

[1003] Output: The message stored in the database.

[1004] Step 4:

[1005] Other users view the message.

[1006] What it does: Other users can access the sharing platform and view the posted messages.

[1007] Input: Messages stored in the database.

[1008] Output: The message that other users will see.

[1009] Vocational support

[1010] Step 1:

[1011] The user enters the skill level and submits it.

[1012] Specific Actions: The user selects a skill level and clicks the "Submit" button.

[1013] Input: User skill level information.

[1014] Output: The user's device prepares to send the skill level information.

[1015] Step 2:

[1016] The device transmits the skill level to the server.

[1017] Specific operation: The device sends the skill level to the server as an HTTP POST request.

[1018] Input: User skill level information.

[1019] Output: HTTP request to the server.

[1020] Step 3:

[1021] The server receives the skill level information and suggests appropriate job offers.

[1022] Specific operation: Based on the received skill level information, the server selects appropriate job information from a database or a pre-prepared list.

[1023] Input: User skill level information.

[1024] Output: Selected job postings.

[1025] Step 4:

[1026] The server sends the generated job information to the terminal.

[1027] Specific operation: The server sends the selected job information to the terminal in JSON format.

[1028] Input: Selected job postings.

[1029] Output: The job information in JSON format sent to the device.

[1030] Step 5:

[1031] The device displays the job listing.

[1032] Specific operation: Display job information on the device display.

[1033] Input: Job information received from the server.

[1034] Output: The job listing displayed for the user to see.

[1035] (Application example 1)

[1036] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[1037] Conventional programming learning support systems lack the flexibility to adapt to individual learners' skill levels and progress. Furthermore, they often lack real-time support, particularly in the operation and maintenance of factory robots, making it difficult for learners to solve problems independently. Given these circumstances, there is a need for a system that can simultaneously support efficient and effective learning and practice.

[1038] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1039] In this invention, the server includes a question-answering means using generative artificial intelligence, a project proposal means based on the learner's skill level, a learning plan proposal means based on the learner's progress, a platform provision means for promoting communication between learners, a job-hunting and career change support means based on the learner's skill level, and an application means installed on smart glasses or a head-mounted display to support the operation of factory robots. This allows learners to receive real-time question-answering and project proposals, enabling efficient and effective learning and practice. Furthermore, real-time support can be provided for robot operation and maintenance in factories, facilitating problem solving.

[1040] "Generative AI" is an AI system that has the ability to tokenize questions from learners, perform natural language processing, and generate appropriate answers.

[1041] The "question answering means" is a device or program that accepts questions from users and performs tokenization, natural language processing, answer generation, and decoding.

[1042] The "project proposal tool" is a system that generates and provides appropriate project ideas based on the learner's skill level.

[1043] The "study plan suggestion means" is a system for generating and suggesting a study plan according to the learner's skill level and progress.

[1044] "Platform provision means" refers to means for providing an online platform to promote communication between learners and exchange information.

[1045] "Employment and career change support tools" is a system that provides appropriate job information and career advice based on the learner's skill level.

[1046] "Smart glasses" are wearable devices that have the ability to display visual information, allowing learners to refer to information and guidance in real time.

[1047] A "head-mounted display" is a display device worn on the head like a helmet, allowing learners to view visual information in real time.

[1048] A "factory robot" is an automated robot designed to perform production work and maintenance within a factory.

[1049] "Application means" means software or a program for performing a specific function or service, which is installed and used on a device.

[1050] The present invention is a system that provides effective support to programming learners, and this system is composed of a combination of multiple functions, specifically including a question-answering means using generative artificial intelligence, a project suggestion means according to skill level, a learning plan suggestion means according to progress, a platform provision means for promoting communication between learners, a job-hunting and career change support means based on skill level, and an application means for supporting the operation of factory robots that is installed in smart glasses or a head-mounted display.

[1051] Hardware and software used

[1052] The hardware used to realize this system is smart glasses and a head-mounted display, which function as devices for displaying visual information.

[1053] In terms of software, the main components used are:

[1054] "openai" library: Question-answering function using generative AI models.

[1055] Database: To store and view community messages.

[1056] Data processing and calculation flow

[1057] AI chatbot questions and answers

[1058] When a user inputs a question through smart glasses or a head-mounted display, the chatbot sends it to the server, which uses the "openai" library to tokenize the question and interprets it using natural language processing. It then uses a generative AI model to generate an answer, decodes it, and returns it to the user.

[1059] Project proposal

[1060] Users submit their skill level to the server, which receives this information and generates appropriate project ideas that are returned to the user's device for review.

[1061] Study plan suggestions

[1062] Based on the user's skill level and progress, the server generates a lesson plan and sends it to the user's device, where the user can review and implement the proposed lesson plan.

[1063] Community platform provider

[1064] Users post messages to the community through smart glasses or head-mounted displays. These messages are sent to the server and stored in a database. Other users can also post and view messages.

[1065] Job hunting and career change support

[1066] When a user sends their skill level information to the server, the server generates suitable job information based on this information and sends it to the user's device. The user can then review the information and apply for the job.

[1067] As a specific example, when using the question-and-answer function of an AI chatbot, if a user inputs the question, "Please tell me the steps for initial setup of the robot," the system will generate an answer such as, "The steps for initial setup of the robot are as follows: First, turn on the power, then open the initial setup menu, then..."

[1068] Example of an input prompt for a generative AI model:

[1069] text

[1070] Question: What are the initial setup steps for the robot?

[1071] Answer: The initial setup procedure for the robot is as follows: First, turn on the power, then open the initial setup menu, then...

[1072] These features allow users to efficiently learn and practice while receiving real-time questions and project proposals. They can also receive real-time support for robot operation and maintenance in factories, making problem-solving easier.

[1073] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1074] Step 1:

[1075] The user puts on smart glasses or a head-mounted display and inputs a question.

[1076] Enter a specific question such as "Please tell me the initial setup procedure for the robot" and press the send button. The entered question will be sent to the server by the terminal.

[1077] Step 2:

[1078] The server receives the query sent by the user.

[1079] The received question is tokenized and the context is analyzed using natural language processing. At this stage, the text data is broken down into tokens and semantic analysis is performed.

[1080] Step 3:

[1081] The server generates answers to questions using a generative AI model.

[1082] After analyzing the natural language processing, the prompt sentence is input to the generative AI model (openai library) to generate the optimal answer. Example: "Question: What are the steps for initial setup of the robot?\nAnswer: The steps for initial setup of the robot are as follows. First..."

[1083] Step 4:

[1084] The server decodes the generated response and sends it to the terminal.

[1085] The generated answer is decoded as a string and returned to the terminal. At this stage, the answer is formatted to make it easier for the user to understand.

[1086] Step 5:

[1087] The terminal receives the response sent from the server and displays it to the user.

[1088] The answers are displayed in real time on the user's smart glasses or head-mounted display, allowing the user to review them and use them to solve the problem.

[1089] Step 6:

[1090] The user transmits his / her skill level to the server via the terminal.

[1091] The skill level is selected using a drop-down menu or the like and sent to the server by pressing the send button.

[1092] Step 7:

[1093] The server generates project proposals based on the skill levels and sends them to the terminals.

[1094] The project suggestion system selects appropriate project ideas based on the user's skill level information and sends them to the user's terminal. For example, for the "beginner" level, it would be "easy picking work."

[1095] Step 8:

[1096] The terminal receives the project proposal and displays it to the user.

[1097] The proposed project ideas are displayed on the user's smart glasses or head-mounted display, and the user can use them to advance their learning.

[1098] Step 9:

[1099] A user posts a message on a community platform.

[1100] Students input and send messages containing what they have learned or any questions they have via smart glasses or a head-mounted display.

[1101] Step 10:

[1102] The server receives user-submitted messages and stores them in a database.

[1103] The server stores the received messages in a database and makes them available for other learners to view.

[1104] Step 11:

[1105] Other users can view posts and respond to messages from the community platform.

[1106] Other learners can also view the messages and post replies and advice based on their own knowledge and experience.

[1107] Through the above processing steps, the user can receive effective learning support, and in particular, real-time support in operating and programming factory robots is possible.

[1108] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1109] This invention relates to a programming learning support system that allows programming learners to receive effective support for their questions and errors. This system includes a question-answering mechanism using generative artificial intelligence, a project proposal mechanism based on the learner's skill level, a study plan proposal mechanism based on the learner's progress, a platform provision mechanism for promoting communication between learners, and a job-hunting / career change support mechanism based on the learner's skill level. Furthermore, by combining this with an emotion engine that recognizes the user's emotions, the system provides appropriate support according to the user's emotional state.

[1110] AI chatbot questions and answers

[1111] The user inputs and sends a question to the chatbot from the device. The device sends the question to the server, where the AI ​​chatbot on the server receives the question. The AI ​​chatbot tokenizes the question and generates an appropriate answer using natural language processing. It then decodes the generated answer and sends it to the device. The device displays the answer so the user can confirm it. If an emotion engine is built in, it recognizes emotions from the user's input text and adjusts the answer based on those emotions.

[1112] For example, if a user asks, "How do I define a function in Python?", the AI ​​chatbot will respond, "In Python, functions are defined using the def keyword." If the AI ​​chatbot detects that the user is feeling anxious, it will provide additional explanation, such as, "If you're not sure, try a simple example."

[1113] Project idea proposal

[1114] The user sends their skill level from the device to the server. The server receives the skill level information and uses the project idea suggestion system to suggest project ideas appropriate for the user's skill level. The suggested project ideas are returned to the device so that the user can review them. If an emotion engine is built in, the difficulty and content of the project can be adjusted according to the user's emotions.

[1115] For example, if a user's skill level is "beginner," the project idea suggestion system will suggest "web application development" or "data analysis project." If the user's emotions indicate excitement or interest, the system will suggest a slightly more difficult project, such as "interactive web application development."

[1116] Study plan suggestions

[1117] The user sends their skill level from their device to the server. The server receives the skill level information and uses the study plan suggestion system to propose a study plan suitable for the user. The proposed study plan is returned to the device so that the user can review it. If an emotion engine is built in, the learning pace and content can be adjusted according to the user's emotions.

[1118] For example, if a user's skill level is "intermediate," the study plan suggestion system will suggest "studying applied algorithms." If the user is feeling stressed or pressured, the system will suggest reducing the amount of study per day and "check your progress every week as you go."

[1119] Community platform provider

[1120] Users post messages to the community platform from their devices. The devices send the posted messages to the server, which stores them in a database. Other users can also post and view messages in the same way. If an emotion engine is built in, it analyzes the emotional state of the posted message, making it easier for users to receive appropriate advice and support from other users.

[1121] For example, if a user posts, "I need your help with a programming error," this message will be viewed by other learners and experienced users, who will provide replies and advice. If the message expresses confusion or anger, a supportive message such as, "Let's calmly sort out the problem" will automatically appear.

[1122] Job hunting and career change support

[1123] The user sends their skill level from their device to the server. The server receives the skill level information and uses the job-hunting and career change support system to suggest suitable job information for the user. The suggested job information is returned to the device so that the user can check it. If an emotion engine is built in, the content of the job offer can be adjusted according to the user's emotions, and a support message can be provided.

[1124] For example, if a user's skill level is "beginner," the job-hunting and career change support system will suggest job listings such as "junior developer" or "internship." If the user's emotions indicate anxiety or stress, the system will add a comment to the suggestions, such as "This is a position that even beginners can take on with confidence."

[1125] The processing flow will be explained below.

[1126] Embodiments of the invention combining emotion engines

[1127] AI chatbot questions and answers

[1128] Step 1:

[1129] The user inputs a question to the chatbot via text input from the terminal and sends it.

[1130] Step 2:

[1131] The terminal sends a query to the server.

[1132] Step 3:

[1133] The server receives the question and sends the question to the emotion engine.

[1134] Step 4:

[1135] The server (emotion engine) analyzes the input text and identifies the user's emotion, which is then stored as an emotion tag.

[1136] Step 5:

[1137] The server passes the question and emotion tag to the AI ​​chatbot.

[1138] Step 6:

[1139] The server (AI chatbot) tokenizes the question, performs natural language processing, and generates an appropriate answer.

[1140] Step 7:

[1141] The server (AI chatbot) adjusts the generated answers based on the emotion tag, for example adding words of encouragement to anxious users.

[1142] Step 8:

[1143] The server sends the generated response to the terminal.

[1144] Step 9:

[1145] The terminal displays the answer for the user to review.

[1146] Project idea proposal

[1147] Step 1:

[1148] The user sends his / her skill level as "beginner" to the server from the terminal.

[1149] Step 2:

[1150] The terminal transmits the skill level information to the server.

[1151] Step 3:

[1152] The server receives the skill level information and queries the emotion engine for the user's current emotional state.

[1153] Step 4:

[1154] The server (emotion engine) analyzes the user's emotional state and generates emotion tags.

[1155] Step 5:

[1156] The server sends the skill level information and emotion tag to the project idea proposal system.

[1157] Step 6:

[1158] The server (project idea proposal system) extracts suitable projects from the available project ideas and adjusts the content and difficulty based on emotion tags.

[1159] Step 7:

[1160] The server transmits the extracted project ideas to the terminal.

[1161] Step 8:

[1162] The terminal displays the proposed project ideas for the user to review.

[1163] Study plan suggestions

[1164] Step 1:

[1165] The user sends his / her skill level as "intermediate" to the server from the terminal.

[1166] Step 2:

[1167] The terminal transmits the skill level information to the server.

[1168] Step 3:

[1169] The server receives the skill level information and queries the emotion engine for the user's current emotional state.

[1170] Step 4:

[1171] The server (emotion engine) analyzes the user's emotional state and generates emotion tags.

[1172] Step 5:

[1173] The server sends the skill level information and emotion tags to the learning plan suggestion system.

[1174] Step 6:

[1175] The server (study plan suggestion system) extracts study plans for intermediate learners from a study plan database and adjusts the content and pace based on emotion tags.

[1176] Step 7:

[1177] The server transmits the extracted study plan to the terminal.

[1178] Step 8:

[1179] The device displays the proposed lesson plan for the user to review.

[1180] Community platform provider

[1181] Step 1:

[1182] A user posts a message to the community platform from a terminal.

[1183] Step 2:

[1184] The terminal sends the posted message to the server.

[1185] Step 3:

[1186] The server sends the message to the emotion engine, which generates an emotion tag.

[1187] Step 4:

[1188] The server stores the messages and emotion tags in a community database.

[1189] Step 5:

[1190] Other users can open the community platform from their devices to view all messages.

[1191] Step 6:

[1192] The server extracts all messages from the database and adds supporting messages as needed based on the emotion tags.

[1193] Step 7:

[1194] The device displays all messages and allows users to communicate and receive support.

[1195] Job hunting and career change support

[1196] Step 1:

[1197] The user sends his / her skill level as "beginner" to the server from the terminal.

[1198] Step 2:

[1199] The terminal transmits the skill level information to the server.

[1200] Step 3:

[1201] The server receives the skill level information and queries the emotion engine for the user's current emotional state.

[1202] Step 4:

[1203] The server (emotion engine) analyzes the user's emotional state and generates emotion tags.

[1204] Step 5:

[1205] The server sends the skill level information and emotion tag to the job-hunting and career change support system.

[1206] Step 6:

[1207] The server (employment and career change support system) extracts job information for beginners from a job information database and adjusts the content and messages based on emotion tags.

[1208] Step 7:

[1209] The server transmits the extracted job information to the terminal.

[1210] Step 8:

[1211] The terminal displays the proposed job information for the user to review.

[1212] Example 2

[1213] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[1214] Programming learners face a wide range of challenges, including the questions and errors they encounter during their studies, creating learning plans tailored to their skill level, proposing appropriate projects, promoting communication among learners, and providing support for finding employment or changing jobs. Responding quickly and appropriately to these challenges is difficult, and emotional support, in particular, is lacking. The purpose of this invention is to provide a system that comprehensively solves these challenges and enables learners to progress effectively in their studies.

[1215] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1216] In this invention, the server includes a question answering means using generative AI, a project suggestion means based on the user's skill level information, and a study plan suggestion means, which allows for quick answers to the user's questions and errors, and suggests appropriate projects and study plans according to the user's skill level, thereby enabling more efficient and effective support for learning.

[1217] "Generative AI" is an AI technology that automatically generates answers to questions posed by users.

[1218] The "question answering means" is a means for accepting questions from users and generating and providing appropriate answers.

[1219] The "project proposal means" is a means for generating and providing appropriate project ideas based on the user's skill level.

[1220] The "study plan suggestion means" is a means for suggesting an optimal study plan according to the user's progress and skill level.

[1221] "Platform provision means" refers to a means of providing an online platform to promote communication between learners.

[1222] "Employment and career change support tools" are tools that suggest appropriate job information based on the user's skill level and support employment and career changes.

[1223] An "emotion engine" is a technology that recognizes emotions from user input and behavior and provides appropriate support based on that.

[1224] A "server" is a computer system that analyzes input data from a user and generates appropriate processing and results.

[1225] A "terminal" is a device through which a user inputs information, communicates with a server, and receives and displays the processing results.

[1226] MODE FOR CARRYING OUT THE INVENTION

[1227] This invention is a programming learning support system that provides comprehensive support to programming learners, including assistance with questions and errors they encounter during their learning process, planning based on their learning progress, project suggestions, and even employment and career change support. This system is equipped with functions such as question answering using generative artificial intelligence, project suggestions based on the user's skill level, study plan suggestions, a platform that promotes communication between users, and employment and career change support. Furthermore, by incorporating an emotion engine, appropriate support is provided according to the user's emotional state.

[1228] composition

[1229] The system includes the following main measures:

[1230] 1. Question-answering method using generative artificial intelligence

[1231] 2. Project proposal method based on user skill level

[1232] 3. A method for suggesting learning plans based on learning progress

[1233] 4. Providing a platform to promote communication between learners

[1234] 5. Job-hunting and career change support based on user skill level

[1235] 6. Support provision method using an emotion engine to recognize user emotions

[1236] Hardware and software used

[1237] The server performs processes such as tokenizing questions, natural language processing, answer generation, and decoding. The software used for this includes generative artificial intelligence models and natural language processing libraries, and the database system stores user information and messages.

[1238] The terminal allows users to input information, communicates with the server, and receives and displays the processing results. The applications running on the terminal have functions such as a chatbot interface, a project proposal interface, a learning plan interface, and a communication platform.

[1239] Specific examples

[1240] AI chatbot questions and answers

[1241] The user types a question into the terminal, such as "How do I define a function in Python?" and submits it. The terminal then sends this question to the server, where an AI chatbot uses natural language processing to generate the answer, "In Python, you define a function using the def keyword." The answer is then returned to the terminal, which displays it. If the user's emotion is recognized as being uncertain, a supplementary explanation is provided: "If you're not sure, try a simple example."

[1242] Project idea proposal

[1243] When a user submits their skill level from their device, the server uses that information to generate appropriate project ideas using a project suggestion system. For example, if a user's skill level is "beginner," it might suggest "web application development" or "data analysis projects." Furthermore, if the emotion engine detects the user's excitement or interest, it might suggest projects with a slightly higher level of difficulty, such as "interactive web application development."

[1244] Study plan suggestions

[1245] When a user inputs their skill level on their device, the server generates a learning plan based on the received information. Specifically, if the user is at an "intermediate" level, "applied algorithm learning" is suggested. If the emotion engine detects stress, the server suggests "continue to check your progress every week as you go."

[1246] Community platform provider

[1247] When a user posts a message saying, "I need help with a programming error," other users can view the message and provide answers and advice. If the emotion engine detects confusion or anger, a support message such as, "Let's try to sort out the problem calmly" will be displayed.

[1248] Job hunting and career change support

[1249] When a user submits their skill level information, the server suggests appropriate job listings. For example, if the user is a "beginner," job listings such as "junior developer" or "internship" will be suggested. For users who are feeling anxious or stressed, a comment such as "This is a position you can take on with confidence even if it's your first time" will be added.

[1250] Prompt Sentence Examples

[1251] 1. "How do I define a function in Python?"

[1252] 2. "What projects are appropriate for me at a beginner skill level?"

[1253] 3. "I'd like some suggestions for my current study plan."

[1254] 4. "I'd like to discuss a programming error with the community."

[1255] 5. "Please tell me about job postings I can apply for with entry-level skills."

[1256] This invention allows programming learners to receive prompt and appropriate support for questions and errors, and to implement optimal learning plans and projects according to their skill level. Furthermore, by receiving support for finding employment or changing jobs, it is possible to give back the results of their learning to society.

[1257] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1258] Specific processing steps of the program

[1259] AI chatbot questions and answers

[1260] Step 1:

[1261] A user opens a chat application from a terminal, types a question, and sends it. If the typed question is an example text such as "How do I define a function in Python?", the terminal captures this input text.

[1262] Input: A text question from the user

[1263] Output: Text data sent to the terminal

[1264] Specific operation:

[1265] The user enters a question in the text box on the chat screen and clicks the send button.

[1266] Step 2:

[1267] The terminal sends the acquired input text to the server. The data sent is in the form of an HTTP request.

[1268] Input: A text question from the user

[1269] Output: HTTP request sent to the server

[1270] Specific operation:

[1271] The click event of the submit button is triggered to form an HTTP request containing text data.

[1272] Step 3:

[1273] The server parses the input text from the received HTTP request and passes it to a generative AI model, which then tokenizes the question and uses natural language processing (NLP) to generate an appropriate answer.

[1274] Input: Text question in HTTP request

[1275] Output: Answer text generated by the AI ​​model

[1276] Specific operation:

[1277] The server receives the HTTP request, retrieves the text data, and feeds it into the NLP model, which generates an answer.

[1278] Step 4:

[1279] The server decodes the generated response and sends it back to the device. The returned data is in HTTP response format.

[1280] Input: Answer text generated by the AI ​​model

[1281] Output: Answer data as an HTTP response

[1282] Specific operation:

[1283] The server includes the generated answer in the response body and sends an HTTP response to the terminal.

[1284] Step 5:

[1285] The device analyzes the received response and displays it on the chat screen.

[1286] Input: Response data from the server in the HTTP response

[1287] Output: Response displayed on the chat screen

[1288] Specific operation:

[1289] The device receives the HTTP response and renders the answer text on the screen, allowing the user to check the answer.

[1290] Project idea proposal

[1291] Step 1:

[1292] The user selects and transmits his / her skill level from the terminal. For example, if the user selects the skill level "beginner," that information is entered into the terminal.

[1293] Input: Skill level information

[1294] Output: Skill level data entered into the device

[1295] Specific operation:

[1296] The user selects a skill level from the pull-down menu and presses the send button.

[1297] Step 2:

[1298] The terminal transmits the selected skill level information to the server. The transmitted data is in the form of an HTTP request.

[1299] Input: Skill level information

[1300] Output: HTTP request sent to the server

[1301] Specific operation:

[1302] The click event on the submit button triggers an HTTP request that includes skill level data.

[1303] Step 3:

[1304] The server passes the received skill level information to a project proposal system to generate appropriate project ideas.

[1305] Input: Skill level information in the HTTP request

[1306] Output: Generated project ideas

[1307] Specific operation:

[1308] The server analyzes the skill level information and inputs it into a proposal algorithm to generate project ideas.

[1309] Step 4:

[1310] The server returns the generated project ideas to the device in HTTP response format.

[1311] Input: Generated project ideas

[1312] Output: Project idea data as an HTTP response

[1313] Specific operation:

[1314] The server includes the generated project idea in the response body and sends an HTTP response to the terminal.

[1315] Step 5:

[1316] The terminal analyzes and displays the received project idea.

[1317] Input: Project idea data in the HTTP response from the server

[1318] Output: Project ideas displayed on screen

[1319] Specific operation:

[1320] The device receives the HTTP response and renders the project idea on the screen, allowing the user to review the proposal.

[1321] Study plan suggestions

[1322] Step 1:

[1323] The user inputs his / her skill level from the terminal and transmits it. For example, if the user selects "intermediate," that information is input to the terminal.

[1324] Input: Skill level information

[1325] Output: Skill level data entered into the device

[1326] Specific operation:

[1327] The user enters the skill level and presses the send button.

[1328] Step 2:

[1329] The terminal transmits the selected skill level information to the server. The transmitted data is in the form of an HTTP request.

[1330] Input: Skill level information

[1331] Output: HTTP request sent to the server

[1332] Specific operation:

[1333] The click event on the submit button triggers an HTTP request that includes skill level data.

[1334] Step 3:

[1335] The server passes the received skill level information to the study plan suggestion system, which then generates an appropriate study plan.

[1336] Input: Skill level information in the HTTP request

[1337] Output: The generated learning plan

[1338] Specific operation:

[1339] The server analyzes the skill level information and inputs it into the proposed algorithm to generate a learning plan.

[1340] Step 4:

[1341] The server returns the generated learning plan to the device. The returned data is in HTTP response format.

[1342] Input: Generated learning plan

[1343] Output: Lesson plan data as an HTTP response

[1344] Specific operation:

[1345] The server includes the generated learning plan in the response body and sends an HTTP response to the terminal.

[1346] Step 5:

[1347] The terminal analyzes and displays the received learning plan.

[1348] Input: Lesson plan data in the HTTP response from the server

[1349] Output: The lesson plan displayed on the screen

[1350] Specific operation:

[1351] The device receives the HTTP response and renders the plan on the screen, where the user can review the proposal.

[1352] Community platform provider

[1353] Step 1:

[1354] A user posts a message to the community platform from their device. For example, the user types, "I have a question about a programming error," and sends it.

[1355] Input: Message text

[1356] Output: Message data entered on the terminal

[1357] Specific operation:

[1358] The user enters a message in the text box and presses the send button.

[1359] Step 2:

[1360] The terminal sends the posted message to the server. The data sent is in the form of an HTTP request.

[1361] Input: Message text

[1362] Output: HTTP request sent to the server

[1363] Specific operation:

[1364] The click event on the send button triggers the creation of an HTTP request containing the message data.

[1365] Step 3:

[1366] The server stores the received message in a database, and the stored data includes the message text and user information.

[1367] Input: Message text in the HTTP request

[1368] Output: Message data stored in the database

[1369] Specific operation:

[1370] The server parses the HTTP request and executes a query to insert the message data into a database.

[1371] Step 4:

[1372] Other users send requests to the server to view their messages, which then executes a database query to retrieve the message data and sends it back.

[1373] Input: View request

[1374] Output: Message data retrieved from the database

[1375] Specific operation:

[1376] The server issues a database query to retrieve the corresponding message data.

[1377] Step 5:

[1378] The other users' devices analyze the received message data and display it on the community platform.

[1379] Input: Message data in the HTTP response from the server

[1380] Output: Messages displayed on the screen

[1381] Specific operation:

[1382] The device receives the HTTP response and renders the message on the screen, where other users can read and respond to the message.

[1383] Job hunting and career change support

[1384] Step 1:

[1385] The user inputs his / her skill level from the terminal and transmits it. For example, if the user selects "beginner," that information is input to the terminal.

[1386] Input: Skill level information

[1387] Output: Skill level data entered into the device

[1388] Specific operation:

[1389] The user enters the skill level and presses the send button.

[1390] Step 2:

[1391] The terminal transmits the selected skill level information to the server. The transmitted data is in the form of an HTTP request.

[1392] Input: Skill level information

[1393] Output: HTTP request sent to the server

[1394] Specific operation:

[1395] The click event on the submit button triggers an HTTP request that includes skill level data.

[1396] Step 3:

[1397] The server passes the received skill level information to the employment and career change support system and generates appropriate job information.

[1398] Input: Skill level information in the HTTP request

[1399] Output: Generated job listings

[1400] Specific operation:

[1401] The server analyzes the skill level information and inputs it into a corresponding algorithm to generate job information.

[1402] Step 4:

[1403] The server returns the generated job information to the terminal. The returned data is in HTTP response format.

[1404] Input: Generated job posting

[1405] Output: Job data as an HTTP response

[1406] Specific operation:

[1407] The server includes the generated job information in the response body and sends an HTTP response to the terminal.

[1408] Step 5:

[1409] The terminal analyzes the received job information and displays it.

[1410] Input: Job information data in the HTTP response from the server

[1411] Output: Job listing displayed on screen

[1412] Specific operation:

[1413] The device receives the HTTP response and displays the job information on the screen. The user can then review the information and consider applying.

[1414] (Application example 2)

[1415] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[1416] Conventional programming learning support systems struggle to provide immediate and appropriate support for learners' questions and errors. Furthermore, they lack personalized learning support that takes into account the learner's emotional state, making it difficult to improve learning efficiency and maintain motivation. Furthermore, they offer limited project suggestions and learning plans tailored to each learner's skill level, and lack effective means to promote communication between users.

[1417] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[1418] In this invention, the server includes a question-answering means using generative artificial intelligence, a project suggestion means according to the learner's skill level, a study plan suggestion means according to the learner's progress, a platform provision means for promoting communication between learners, a job-hunting and career change support means based on the learner's skill level, a response adjustment means using emotion recognition means, and a means for adjusting project suggestions and study plans based on the user's emotional state. This allows for immediate and appropriate support for questions and errors faced by learners, as well as individualized study support that takes into account the learner's emotional state, making it possible to improve learning efficiency and maintain motivation.

[1419] "Generative AI" is an AI system that performs natural language processing based on user input and generates appropriate answers.

[1420] "Emotion recognition means" is a technology that analyzes emotions from user input and behavior and makes appropriate responses and adjustments based on that.

[1421] A "question answering means" is a system that accepts questions from users and provides answers to those questions.

[1422] The "project suggestion means" is a system that suggests appropriate learning projects based on the user's skill level and situation.

[1423] The "study plan suggestion means" is a system that suggests an effective study plan according to the user's progress and skill level.

[1424] A "platform provision means" is a system that provides an online environment and interface to promote communication between learners.

[1425] "Employment and career change support tool" is a system that provides appropriate employment and career change support information according to the user's skill level and wishes.

[1426] The "response adjustment means" is a function that adjusts the generated response to suit the emotional state of the user based on the information obtained by the emotion recognition means.

[1427] This invention relates to a programming learning support system, which includes a question-answering system using generative artificial intelligence, a project suggestion system based on a learner's skill level, a study plan suggestion system based on a learner's progress, a platform provision system for promoting communication between learners, a job-hunting and career change support system based on a learner's skill level, a response adjustment system using emotion recognition system, and a system for adjusting project suggestions and study plans based on a user's emotional state.

[1428] Question and Answering Tools

[1429] The server receives questions entered by users from their devices as text data. The server's AI generates tokens from the received questions and generates appropriate answers using natural language processing. The emotion recognition means recognizes emotions from the question text entered by the user and adjusts the generated answers accordingly.

[1430] example:

[1431] If a user asks, "How do I define a function in Python?", the generative AI will respond, "In Python, functions are defined using the def keyword." If the emotion recognition means identifies the user's emotion as anxiety, it will add additional explanation such as, "If you're not sure, try a simple example."

[1432] Project proposal method

[1433] Users send their skill level information from their devices to the server. The server generates appropriate project ideas based on the received skill level information. The emotion recognition means analyzes the user's emotional state and adjusts the difficulty and content of the proposed projects.

[1434] example:

[1435] If the user's skill level is "beginner," the server will suggest "web application development" or "data analysis project." If the emotion recognition means recognizes the user's emotion as excitement, the server will suggest a slightly more difficult project, such as "interactive web application development."

[1436] Learning plan suggestion tool

[1437] The user sends their skill level information from their device to the server. The server then proposes a learning plan suitable for the user based on the received skill level information. The emotion recognition means analyzes the user's emotional state and adjusts the pace and content of the proposed learning plan.

[1438] example:

[1439] If the user's skill level is "intermediate," the server suggests "applied algorithm learning." If the emotion recognition means identifies the user's emotion as stress, the server suggests reducing the amount of daily learning and "continue to check your progress every week."

[1440] Communication platform provision means

[1441] Users can post messages to the community platform from their devices. The server stores the received messages in a database so that other users can view and reply to them. The emotion recognition system analyzes the emotional state of the posted messages and adds appropriate advice or support messages.

[1442] example:

[1443] When a user posts, "I need help with a programming error," other users can post replies and advice. If the emotion recognition system detects the user's emotion as confusion or anger, it automatically displays a support message such as, "Let's try to sort out the problem calmly."

[1444] Employment and career change support

[1445] Users send their skill level information from their devices to the server. The server then suggests appropriate job offers based on the received skill level information. The emotion recognition means analyzes the user's emotional state and adjusts the proposed job offers or adds support messages.

[1446] example:

[1447] If the user's skill level is "beginner," the generative AI will suggest job listings such as "junior developer" or "internship." If the emotion recognition means recognizes the user's emotion as anxiety, it will add a comment such as "This is a position that even beginners can take on with confidence."

[1448] Prompt Sentence Examples

[1449] Question prompt:

[1450] How do I define a function in Python?

[1451] As a result, the present invention realizes a programming learning support system that makes full use of emotion recognition to provide users with more appropriate and personalized support.

[1452] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1453] Step 1:

[1454] The user inputs a question from the learning terminal.

[1455] Input: The user enters the question in text format.

[1456] Operation: The terminal sends the entered question to the server.

[1457] Step 2:

[1458] The server receives the question and sends the question to a generative artificial intelligence (generative AI model).

[1459] Input: Question text submitted by the user

[1460] How it works: The server tokenizes the question and passes it to a generative AI model to perform natural language processing.

[1461] Step 3:

[1462] A generative AI model generates answers to questions.

[1463] Input: Tokenized question text

[1464] Data processing: Uses natural language processing to understand the intent of the question and generate appropriate answers

[1465] Output: Generated answer text

[1466] Step 4:

[1467] The server recognizes the user's emotion from the question text using an emotion recognition means.

[1468] Input: User question text

[1469] Action: Analyzing emotional states from text using emotion recognition algorithms

[1470] Output: Perceived emotional state (e.g., anxiety, excitement, stress, etc.)

[1471] Step 5:

[1472] The server adjusts the answers from the generative AI model based on the perceived emotional state.

[1473] Input: Generated answer text and the user's emotional state

[1474] Data calculation: Add additional explanations or support messages to the answer text based on the emotional state

[1475] Output: Adjusted answer text

[1476] Step 6:

[1477] The server sends the adjusted answer text to the terminal.

[1478] Input: Adjusted answer text

[1479] Operation: The server sends the tailored response to the user's terminal.

[1480] Step 7:

[1481] The terminal displays the received response on its screen.

[1482] Input: Answer text sent from the server

[1483] Output: The answer that is displayed to the user

[1484] Step 8:

[1485] The user checks the displayed answers.

[1486] Action: The user reviews the displayed answer and returns to step 1 if they wish to ask the question again.

[1487] This allows the generative AI model to generate an answer to the question entered by the user, make appropriate adjustments using emotion recognition, and then provide the answer to the user.

[1488] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[1489] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1490] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.

[1491] [Third embodiment]

[1492] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[1493] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.

[1494] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[1496] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

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

[1498] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[1499] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[1500] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[1501] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[1502] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[1503] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."

[1504] The present invention relates to a programming learning support system that allows programming learners to receive effective support for their questions and errors. This system includes a question-answering mechanism using generative artificial intelligence, a project suggestion mechanism based on the learner's skill level, a learning plan suggestion mechanism based on the learner's progress, a platform provision mechanism for promoting communication between learners, and a job-hunting / career change support mechanism based on the learner's skill level.

[1505] AI chatbot questions and answers

[1506] The user inputs and sends a question to the chatbot from their device. The device sends the question to the server, where the AI ​​chatbot on the server receives the question. The AI ​​chatbot tokenizes the question and generates an appropriate answer using natural language processing. It then decodes the generated answer and sends it to the device. The device displays the answer so the user can confirm it.

[1507] Example: When a user asks, "How do I define a function in Python?", the AI ​​chatbot responds, "In Python, you define a function using the def keyword."

[1508] Project idea proposal

[1509] The user sends their skill level from the terminal to the server. The server receives the skill level information and uses the project idea suggestion system to suggest project ideas suitable for the user's skill level. The suggested project ideas are returned to the terminal so that the user can review them.

[1510] For example, if a user's skill level is "beginner," the project idea suggestion system will suggest "web application development" or "data analysis project."

[1511] Study plan suggestions

[1512] The user sends their skill level from their device to the server. The server receives the skill level information and uses the study plan suggestion system to suggest a study plan suitable for the user. The proposed study plan is returned to the device so that the user can check it.

[1513] Example: If the user's skill level is "intermediate," the study plan suggestion system will suggest "learning applied algorithms."

[1514] Community platform provider

[1515] Users post messages to the community platform from their devices. The devices send the messages to the server, which stores them in a database. Other users can also post and view messages.

[1516] For example, if a user posts, "I have a question about a programming error," this message will be viewed by other learners and experienced users, who will provide answers and advice.

[1517] Job hunting and career change support

[1518] The user sends their skill level from their device to the server. The server receives the skill level information and uses the job-hunting and career change support system to suggest suitable job information to the user. The suggested job information is returned to the device so that the user can check it.

[1519] Example: If a user's skill level is "beginner," the job search and career change support system will suggest job information such as "junior developer" and "internship."

[1520] The processing flow will be explained below.

[1521] AI chatbot questions and answers

[1522] Step 1:

[1523] The user inputs and sends a question to the chatbot from the terminal.

[1524] Step 2:

[1525] The terminal sends a query to the server.

[1526] Step 3:

[1527] The server receives the question and passes it on to the AI ​​chatbot.

[1528] Step 4:

[1529] The server (AI chatbot) tokenizes the question content. Specifically, it breaks down the input natural language question into tokens and converts them into a format that the model can process.

[1530] Step 5:

[1531] The server (AI chatbot) generates an answer based on the tokenized question. Specifically, an AI model (e.g., GPT-3) generates an appropriate answer for the tokenized input.

[1532] Step 6:

[1533] The server (AI chatbot) decodes the generated answer, specifically by reconstructing the token sequence returned by the model as a string.

[1534] Step 7:

[1535] The server sends the decoded response to the terminal.

[1536] Step 8:

[1537] The terminal displays the answer for the user to review.

[1538] Project idea proposal

[1539] Step 1:

[1540] The user sends his / her skill level as "beginner" from the terminal.

[1541] Step 2:

[1542] The terminal transmits the skill level information to the server.

[1543] Step 3:

[1544] The server receives the skill level information and passes it to the project idea proposal system.

[1545] Step 4:

[1546] The server (project idea proposal system) extracts ideas suitable for "beginners" from a database of available project ideas. Specifically, it extracts projects suitable for beginners, such as "web application development" and "data analysis projects."

[1547] Step 5:

[1548] The server transmits the extracted project ideas to the terminal.

[1549] Step 6:

[1550] The terminal displays the proposed project ideas for the user to review.

[1551] Study plan suggestions

[1552] Step 1:

[1553] The user transmits his / her skill level as "intermediate" from the terminal.

[1554] Step 2:

[1555] The terminal transmits the skill level information to the server.

[1556] Step 3:

[1557] The server receives the skill level information and passes it to the learning plan suggestion system.

[1558] Step 4:

[1559] The server (study plan suggestion system) extracts study plans suitable for "intermediate" learners from the study plan database. Specifically, it extracts study plans for intermediate learners, such as "studying applied algorithms."

[1560] Step 5:

[1561] The server transmits the extracted study plan to the terminal.

[1562] Step 6:

[1563] The device displays the proposed lesson plan for the user to review.

[1564] Community platform provider

[1565] Step 1:

[1566] The user posts a message from the terminal to the community platform saying, "I have a question about a programming error."

[1567] Step 2:

[1568] The terminal transmits the posted content to the server.

[1569] Step 3:

[1570] The server stores the messages in the community platform database.

[1571] Step 4:

[1572] Other users can open the community platform from their devices to view all messages.

[1573] Step 5:

[1574] The server extracts all messages from the database and sends them to the terminal.

[1575] Step 6:

[1576] The terminal displays all messages and allows users to converse with each other.

[1577] Job hunting and career change support

[1578] Step 1:

[1579] The user sends his / her skill level as "beginner" from the terminal.

[1580] Step 2:

[1581] The terminal transmits the skill level information to the server.

[1582] Step 3:

[1583] The server receives the skill level information and passes it on to the job-hunting and career change support system.

[1584] Step 4:

[1585] The server (employment and career change support system) extracts job information suitable for "beginners" from the employment information database. Specifically, it extracts job information for beginners, such as "junior developers" and "internships."

[1586] Step 5:

[1587] The server transmits the extracted job information to the terminal.

[1588] Step 6:

[1589] The terminal displays the proposed job information for the user to review.

[1590] Example 1

[1591] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1592] Problems faced by programming learners include not receiving adequate support for questions or errors, not being able to find appropriate study plans or project ideas, a lack of communication that reduces motivation to learn, and not receiving support for finding employment or changing jobs based on one's skills. An effective learning support system is needed to solve these problems.

[1593] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[1594] In this invention, the server includes a question-answering means using generative AI, a task suggesting means according to the learner's skill level, and a study plan suggesting means according to the learner's progress. This allows the learner to receive prompt and appropriate support for questions or errors, and to be suggested appropriate project ideas and study plans according to their own skill level.

[1595] "Generative AI" is an AI system that uses machine learning and deep learning technologies to understand natural language, answer questions, and generate dialogue.

[1596] "Question answering means" refers to a function that analyzes an input question and generates and provides an appropriate answer to it.

[1597] "Task suggestion means" refers to a function that generates and suggests appropriate learning tasks and project ideas based on the user's skill level.

[1598] The "study plan suggestion means" refers to a function that generates and suggests an effective study plan based on the user's learning progress and skill level.

[1599] "Means for providing a shared platform" refers to a function that promotes communication between users and provides an online environment where information and knowledge can be shared.

[1600] "Career support means" refers to a function that provides support information regarding employment and job changes according to the user's skill level and aptitude.

[1601] "Tokenization" is a process of breaking down input natural language sentences into semantic units such as words and phrases.

[1602] "Natural language processing" is a technology that enables computers to understand and generate natural language, and is used in question-answering and dialogue systems.

[1603] "Answer generation" is a process of automatically generating an appropriate answer to an input question.

[1604] "Decoding" is the process of returning encoded data to its original form, and in this case refers to converting the answers generated by the generative artificial intelligence into natural language text.

[1605] "Skill information" is information about the user's programming skills and knowledge level.

[1606] The present invention provides a learning support system for effectively supporting programming learners, which includes the following means.

[1607] 1. Question-answering method using generative artificial intelligence

[1608] The user inputs and sends a question to the chatbot from the device. The device sends the question to the server, where the AI ​​chatbot on the server receives the question. A server PC or cloud server is used as the hardware, and a natural language processing (NLP) model (e.g., GPT-4) is used as the software. The server tokenizes the question and generates an appropriate answer using natural language processing. The generated answer is then decoded and sent to the device. The device displays the answer so that the user can confirm it.

[1609] Examples:

[1610] When a user asks, "How do I define a function in Python?", the AI ​​chatbot responds, "In Python, you define a function using the def keyword."

[1611] Example prompt sentence:

[1612] Question: "How do I define a function in Python?"

[1613] Answer: "In Python, functions are defined using the def keyword."

[1614] 2. Methods for suggesting tasks according to the learner's skill level

[1615] The user sends their skill level from their device to the server. The server receives the skill level information and uses the project idea suggestion system to suggest project ideas appropriate for the user's skill level. The proposed project ideas are returned to the device so that the user can review them.

[1616] Examples:

[1617] If the user's skill level is "beginner," the project idea suggestion system will suggest "web application development" or "data analysis project."

[1618] Example prompt sentence:

[1619] Skill level: "beginner"

[1620] Proposal: "Web application development" "Data analysis project"

[1621] 3. A method for proposing learning plans according to the learner's progress

[1622] The user sends their skill level from their device to the server. The server receives the skill level information and uses the study plan suggestion system to suggest a study plan suitable for the user. The proposed study plan is returned to the device so that the user can check it.

[1623] Examples:

[1624] If the user's skill level is "intermediate," the study plan suggestion system suggests "learning applied algorithms."

[1625] Example prompt sentence:

[1626] Skill level: "intermediate"

[1627] Proposal: "Learning Applied Algorithms"

[1628] 4. A means of providing a shared platform to promote communication among learners

[1629] Users post messages to the sharing platform from their devices. The devices send the messages to the server, which stores them in a database. Other users can also post and view messages.

[1630] Examples:

[1631] When a user posts a message saying, "I have a question about a programming error," this message will be viewed by other learners and experienced users, who will provide replies and advice.

[1632] Example prompt sentence:

[1633] Post: "I need help with a programming error."

[1634] Answer: "This error is a typical syntax error. Please check your code again."

[1635] 5. Skill-based career support for learners

[1636] The user sends their skill level from their device to the server. The server receives the skill level information and uses the job-hunting and career change support system to suggest suitable job information to the user. The suggested job information is returned to the device so that the user can check it.

[1637] Examples:

[1638] If the user's skill level is "beginner," the job-hunting and career change support system will suggest job information such as "junior developer" and "internship."

[1639] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1640] AI chatbot questions and answers

[1641] Step 1:

[1642] The user enters a question and submits it.

[1643] Specific behavior: The user types "How do I define a function in Python" into the terminal chat window and clicks the "Send" button.

[1644] Input: The user's question text.

[1645] Output: The question text is prepared for transmission by the user's device.

[1646] Step 2:

[1647] The terminal sends a question to the server.

[1648] Specific operation: The device sends the user's question to the server as an HTTP POST request.

[1649] Input: The user's question text.

[1650] Output: HTTP request to the server.

[1651] Step 3:

[1652] The server receives the question and tokenizes it.

[1653] Specific operation: The server breaks down the received question text into tokens. For example, "Please tell me how to define a function in Python" is broken down into "Python", "in", "function", "of", "define", "how", "of", "tell me", and "please".

[1654] Input: The question text from the user.

[1655] Output: A list of tokenized questions.

[1656] Step 4:

[1657] The server generates the answer using a natural language processing model.

[1658] Specific operation: The server inputs the tokenized question into a natural language processing model (e.g., GPT-4) and generates an answer. For example, it generates the text "In Python, functions are defined using the def keyword."

[1659] Input: A list of tokenized questions.

[1660] Output: The answer text generated by the natural language processing model.

[1661] Step 5:

[1662] The server generates a response that is decoded and sent to the terminal.

[1663] Specific operation: The server decodes the generated answer and sends it to the device as a JSON-formatted response.

[1664] Input: The answer text generated by the natural language processing model.

[1665] Output: The JSON response sent to the device.

[1666] Step 6:

[1667] The device will display the answer.

[1668] Specific operation: The device displays the reply received from the server in the chat window.

[1669] Input: The answer text received from the server.

[1670] Output: The answer text that is displayed to the user.

[1671] Project idea proposal

[1672] Step 1:

[1673] The user enters the skill level and submits it.

[1674] Specific Actions: The user selects a skill level and clicks the "Submit" button.

[1675] Input: User skill level information.

[1676] Output: The user's device prepares to send the skill level information.

[1677] Step 2:

[1678] The device transmits the skill level to the server.

[1679] Specific operation: The device sends the skill level to the server as an HTTP POST request.

[1680] Input: User skill level information.

[1681] Output: HTTP request to the server.

[1682] Step 3:

[1683] A server receives the skill level information and generates appropriate project ideas.

[1684] Specific operation: Based on the received skill level information, the server selects appropriate project ideas from a database or a pre-prepared list.

[1685] Input: User skill level information.

[1686] Output: Selected project ideas.

[1687] Step 4:

[1688] The server sends the generated project ideas to the terminal.

[1689] Specific operation: The server sends the selected project idea to the terminal in JSON format.

[1690] Input: Selected project idea.

[1691] Output: Project ideas in JSON format sent to the device.

[1692] Step 5:

[1693] The device displays project ideas.

[1694] Specific behavior: Display project ideas on the device display.

[1695] Input: Project ideas received from the server.

[1696] Output: The project idea presented to the user for review.

[1697] Study plan suggestions

[1698] Step 1:

[1699] The user enters the skill level and submits it.

[1700] Specific Actions: The user selects a skill level and clicks the "Submit" button.

[1701] Input: User skill level information.

[1702] Output: The user's device prepares to send the skill level information.

[1703] Step 2:

[1704] The device transmits the skill level to the server.

[1705] Specific operation: The device sends the skill level to the server as an HTTP POST request.

[1706] Input: User skill level information.

[1707] Output: HTTP request to the server.

[1708] Step 3:

[1709] A server receives the skill level information and generates an appropriate learning plan.

[1710] Specific operation: Based on the received skill level information, the server selects an appropriate learning plan from a database or a pre-prepared list.

[1711] Input: User skill level information.

[1712] Output: The selected lesson plan.

[1713] Step 4:

[1714] The server sends the generated learning plan to the terminal.

[1715] Specific operation: The server sends the selected learning plan to the device in JSON format.

[1716] Input: The selected lesson plan.

[1717] Output: The lesson plan in JSON format that is sent to the device.

[1718] Step 5:

[1719] The device displays the lesson plan.

[1720] Specific action: Display the lesson plan on the device display.

[1721] Input: The lesson plan received from the server.

[1722] Output: The lesson plan displayed for the user to review.

[1723] Shared platform provision

[1724] Step 1:

[1725] The user types and sends a message.

[1726] Specific actions: The user enters a message into the text box on the sharing platform and clicks the "Send" button.

[1727] Input: A message posted by the user.

[1728] Output: The user's terminal prepares the message for sending.

[1729] Step 2:

[1730] The device sends a message to the server.

[1731] Specific operation: The device sends the message to the server as an HTTP POST request.

[1732] Input: The user's posted message.

[1733] Output: HTTP request to the server.

[1734] Step 3:

[1735] The server stores the message in a database.

[1736] Specific operation: The server stores the received message in a database.

[1737] Input: The message received from the user.

[1738] Output: The message stored in the database.

[1739] Step 4:

[1740] Other users view the message.

[1741] What it does: Other users can access the sharing platform and view the posted messages.

[1742] Input: Messages stored in the database.

[1743] Output: The message that other users will see.

[1744] Vocational support

[1745] Step 1:

[1746] The user enters the skill level and submits it.

[1747] Specific Actions: The user selects a skill level and clicks the "Submit" button.

[1748] Input: User skill level information.

[1749] Output: The user's device prepares to send the skill level information.

[1750] Step 2:

[1751] The device transmits the skill level to the server.

[1752] Specific operation: The device sends the skill level to the server as an HTTP POST request.

[1753] Input: User skill level information.

[1754] Output: HTTP request to the server.

[1755] Step 3:

[1756] The server receives the skill level information and suggests appropriate job offers.

[1757] Specific operation: Based on the received skill level information, the server selects appropriate job information from a database or a pre-prepared list.

[1758] Input: User skill level information.

[1759] Output: Selected job postings.

[1760] Step 4:

[1761] The server sends the generated job information to the terminal.

[1762] Specific operation: The server sends the selected job information to the terminal in JSON format.

[1763] Input: Selected job postings.

[1764] Output: The job information in JSON format sent to the device.

[1765] Step 5:

[1766] The device displays the job listing.

[1767] Specific operation: Display job information on the device display.

[1768] Input: Job information received from the server.

[1769] Output: The job listing displayed for the user to see.

[1770] (Application example 1)

[1771] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1772] Conventional programming learning support systems lack the flexibility to adapt to individual learners' skill levels and progress. Furthermore, they often lack real-time support, particularly in the operation and maintenance of factory robots, making it difficult for learners to solve problems independently. Given these circumstances, there is a need for a system that can simultaneously support efficient and effective learning and practice.

[1773] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1774] In this invention, the server includes a question-answering means using generative artificial intelligence, a project proposal means based on the learner's skill level, a learning plan proposal means based on the learner's progress, a platform provision means for promoting communication between learners, a job-hunting and career change support means based on the learner's skill level, and an application means installed on smart glasses or a head-mounted display to support the operation of factory robots. This allows learners to receive real-time question-answering and project proposals, enabling efficient and effective learning and practice. Furthermore, real-time support can be provided for robot operation and maintenance in factories, facilitating problem solving.

[1775] "Generative AI" is an AI system that has the ability to tokenize questions from learners, perform natural language processing, and generate appropriate answers.

[1776] The "question answering means" is a device or program that accepts questions from users and performs tokenization, natural language processing, answer generation, and decoding.

[1777] The "project proposal tool" is a system that generates and provides appropriate project ideas based on the learner's skill level.

[1778] The "study plan suggestion means" is a system for generating and suggesting a study plan according to the learner's skill level and progress.

[1779] "Platform provision means" refers to means for providing an online platform to promote communication between learners and exchange information.

[1780] "Employment and career change support tools" is a system that provides appropriate job information and career advice based on the learner's skill level.

[1781] "Smart glasses" are wearable devices that have the ability to display visual information, allowing learners to refer to information and guidance in real time.

[1782] A "head-mounted display" is a display device worn on the head like a helmet, allowing learners to view visual information in real time.

[1783] A "factory robot" is an automated robot designed to perform production work and maintenance within a factory.

[1784] "Application means" means software or a program for performing a specific function or service, which is installed and used on a device.

[1785] The present invention is a system that provides effective support to programming learners, and this system is composed of a combination of multiple functions, specifically including a question-answering means using generative artificial intelligence, a project suggestion means according to skill level, a learning plan suggestion means according to progress, a platform provision means for promoting communication between learners, a job-hunting and career change support means based on skill level, and an application means for supporting the operation of factory robots that is installed in smart glasses or a head-mounted display.

[1786] Hardware and software used

[1787] The hardware used to realize this system is smart glasses and a head-mounted display, which function as devices for displaying visual information.

[1788] In terms of software, the main components used are:

[1789] "openai" library: Question-answering function using generative AI models.

[1790] Database: To store and view community messages.

[1791] Data processing and calculation flow

[1792] AI chatbot questions and answers

[1793] When a user inputs a question through smart glasses or a head-mounted display, the chatbot sends it to the server, which uses the "openai" library to tokenize the question and interprets it using natural language processing. It then uses a generative AI model to generate an answer, decodes it, and returns it to the user.

[1794] Project proposal

[1795] Users submit their skill level to the server, which receives this information and generates appropriate project ideas that are returned to the user's device for review.

[1796] Study plan suggestions

[1797] Based on the user's skill level and progress, the server generates a lesson plan and sends it to the user's device, where the user can review and implement the proposed lesson plan.

[1798] Community platform provider

[1799] Users post messages to the community through smart glasses or head-mounted displays. These messages are sent to the server and stored in a database. Other users can also post and view messages.

[1800] Job hunting and career change support

[1801] When a user sends their skill level information to the server, the server generates suitable job information based on this information and sends it to the user's device. The user can then review the information and apply for the job.

[1802] As a specific example, when using the question-and-answer function of an AI chatbot, if a user inputs the question, "Please tell me the steps for initial setup of the robot," the system will generate an answer such as, "The steps for initial setup of the robot are as follows: First, turn on the power, then open the initial setup menu, then..."

[1803] Example of an input prompt for a generative AI model:

[1804] text

[1805] Question: What are the initial setup steps for the robot?

[1806] Answer: The initial setup procedure for the robot is as follows: First, turn on the power, then open the initial setup menu, then...

[1807] These features allow users to efficiently learn and practice while receiving real-time questions and project proposals. They can also receive real-time support for robot operation and maintenance in factories, making problem-solving easier.

[1808] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1809] Step 1:

[1810] The user puts on smart glasses or a head-mounted display and inputs a question.

[1811] Enter a specific question such as "Please tell me the initial setup procedure for the robot" and press the send button. The entered question will be sent to the server by the terminal.

[1812] Step 2:

[1813] The server receives the query sent by the user.

[1814] The received question is tokenized and the context is analyzed using natural language processing. At this stage, the text data is broken down into tokens and semantic analysis is performed.

[1815] Step 3:

[1816] The server generates answers to questions using a generative AI model.

[1817] After analyzing the natural language processing, the prompt sentence is input to the generative AI model (openai library) to generate the optimal answer. Example: "Question: What are the steps for initial setup of the robot?\nAnswer: The steps for initial setup of the robot are as follows. First..."

[1818] Step 4:

[1819] The server decodes the generated response and sends it to the terminal.

[1820] The generated answer is decoded as a string and returned to the terminal. At this stage, the answer is formatted to make it easier for the user to understand.

[1821] Step 5:

[1822] The terminal receives the response sent from the server and displays it to the user.

[1823] The answers are displayed in real time on the user's smart glasses or head-mounted display, allowing the user to review them and use them to solve the problem.

[1824] Step 6:

[1825] The user transmits his / her skill level to the server via the terminal.

[1826] The skill level is selected using a drop-down menu or the like and sent to the server by pressing the send button.

[1827] Step 7:

[1828] The server generates project proposals based on the skill levels and sends them to the terminals.

[1829] The project suggestion system selects appropriate project ideas based on the user's skill level information and sends them to the user's terminal. For example, for the "beginner" level, it would be "easy picking work."

[1830] Step 8:

[1831] The terminal receives the project proposal and displays it to the user.

[1832] The proposed project ideas are displayed on the user's smart glasses or head-mounted display, and the user can use them to advance their learning.

[1833] Step 9:

[1834] A user posts a message on a community platform.

[1835] Students input and send messages containing what they have learned or any questions they have via smart glasses or a head-mounted display.

[1836] Step 10:

[1837] The server receives user-submitted messages and stores them in a database.

[1838] The server stores the received messages in a database and makes them available for other learners to view.

[1839] Step 11:

[1840] Other users can view posts and respond to messages from the community platform.

[1841] Other learners can also view the messages and post replies and advice based on their own knowledge and experience.

[1842] Through the above processing steps, the user can receive effective learning support, and in particular, real-time support in operating and programming factory robots is possible.

[1843] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1844] This invention relates to a programming learning support system that allows programming learners to receive effective support for their questions and errors. This system includes a question-answering mechanism using generative artificial intelligence, a project proposal mechanism based on the learner's skill level, a study plan proposal mechanism based on the learner's progress, a platform provision mechanism for promoting communication between learners, and a job-hunting / career change support mechanism based on the learner's skill level. Furthermore, by combining this with an emotion engine that recognizes the user's emotions, the system provides appropriate support according to the user's emotional state.

[1845] AI chatbot questions and answers

[1846] The user inputs and sends a question to the chatbot from the device. The device sends the question to the server, where the AI ​​chatbot on the server receives the question. The AI ​​chatbot tokenizes the question and generates an appropriate answer using natural language processing. It then decodes the generated answer and sends it to the device. The device displays the answer so the user can confirm it. If an emotion engine is built in, it recognizes emotions from the user's input text and adjusts the answer based on those emotions.

[1847] For example, if a user asks, "How do I define a function in Python?", the AI ​​chatbot will respond, "In Python, functions are defined using the def keyword." If the AI ​​chatbot detects that the user is feeling anxious, it will provide additional explanation, such as, "If you're not sure, try a simple example."

[1848] Project idea proposal

[1849] The user sends their skill level from the device to the server. The server receives the skill level information and uses the project idea suggestion system to suggest project ideas appropriate for the user's skill level. The suggested project ideas are returned to the device so that the user can review them. If an emotion engine is built in, the difficulty and content of the project can be adjusted according to the user's emotions.

[1850] For example, if a user's skill level is "beginner," the project idea suggestion system will suggest "web application development" or "data analysis project." If the user's emotions indicate excitement or interest, the system will suggest a slightly more difficult project, such as "interactive web application development."

[1851] Study plan suggestions

[1852] The user sends their skill level from their device to the server. The server receives the skill level information and uses the study plan suggestion system to propose a study plan suitable for the user. The proposed study plan is returned to the device so that the user can review it. If an emotion engine is built in, the learning pace and content can be adjusted according to the user's emotions.

[1853] For example, if a user's skill level is "intermediate," the study plan suggestion system will suggest "studying applied algorithms." If the user is feeling stressed or pressured, the system will suggest reducing the amount of study per day and "check your progress every week as you go."

[1854] Community platform provider

[1855] Users post messages to the community platform from their devices. The devices send the posted messages to the server, which stores them in a database. Other users can also post and view messages in the same way. If an emotion engine is built in, it analyzes the emotional state of the posted message, making it easier for users to receive appropriate advice and support from other users.

[1856] For example, if a user posts, "I need your help with a programming error," this message will be viewed by other learners and experienced users, who will provide replies and advice. If the message expresses confusion or anger, a supportive message such as, "Let's calmly sort out the problem" will automatically appear.

[1857] Job hunting and career change support

[1858] The user sends their skill level from their device to the server. The server receives the skill level information and uses the job-hunting and career change support system to suggest suitable job information for the user. The suggested job information is returned to the device so that the user can check it. If an emotion engine is built in, the content of the job offer can be adjusted according to the user's emotions, and a support message can be provided.

[1859] For example, if a user's skill level is "beginner," the job-hunting and career change support system will suggest job listings such as "junior developer" or "internship." If the user's emotions indicate anxiety or stress, the system will add a comment to the suggestions, such as "This is a position that even beginners can take on with confidence."

[1860] The processing flow will be explained below.

[1861] Embodiments of the invention combining emotion engines

[1862] AI chatbot questions and answers

[1863] Step 1:

[1864] The user inputs a question to the chatbot via text input from the terminal and sends it.

[1865] Step 2:

[1866] The terminal sends a query to the server.

[1867] Step 3:

[1868] The server receives the question and sends the question to the emotion engine.

[1869] Step 4:

[1870] The server (emotion engine) analyzes the input text and identifies the user's emotion, which is then stored as an emotion tag.

[1871] Step 5:

[1872] The server passes the question and emotion tag to the AI ​​chatbot.

[1873] Step 6:

[1874] The server (AI chatbot) tokenizes the question, performs natural language processing, and generates an appropriate answer.

[1875] Step 7:

[1876] The server (AI chatbot) adjusts the generated answers based on the emotion tag, for example adding words of encouragement to anxious users.

[1877] Step 8:

[1878] The server sends the generated response to the terminal.

[1879] Step 9:

[1880] The terminal displays the answer for the user to review.

[1881] Project idea proposal

[1882] Step 1:

[1883] The user sends his / her skill level as "beginner" to the server from the terminal.

[1884] Step 2:

[1885] The terminal transmits the skill level information to the server.

[1886] Step 3:

[1887] The server receives the skill level information and queries the emotion engine for the user's current emotional state.

[1888] Step 4:

[1889] The server (emotion engine) analyzes the user's emotional state and generates emotion tags.

[1890] Step 5:

[1891] The server sends the skill level information and emotion tag to the project idea proposal system.

[1892] Step 6:

[1893] The server (project idea proposal system) extracts suitable projects from the available project ideas and adjusts the content and difficulty based on emotion tags.

[1894] Step 7:

[1895] The server transmits the extracted project ideas to the terminal.

[1896] Step 8:

[1897] The terminal displays the proposed project ideas for the user to review.

[1898] Study plan suggestions

[1899] Step 1:

[1900] The user sends his / her skill level as "intermediate" to the server from the terminal.

[1901] Step 2:

[1902] The terminal transmits the skill level information to the server.

[1903] Step 3:

[1904] The server receives the skill level information and queries the emotion engine for the user's current emotional state.

[1905] Step 4:

[1906] The server (emotion engine) analyzes the user's emotional state and generates emotion tags.

[1907] Step 5:

[1908] The server sends the skill level information and emotion tags to the learning plan suggestion system.

[1909] Step 6:

[1910] The server (study plan suggestion system) extracts study plans for intermediate learners from a study plan database and adjusts the content and pace based on emotion tags.

[1911] Step 7:

[1912] The server transmits the extracted study plan to the terminal.

[1913] Step 8:

[1914] The device displays the proposed lesson plan for the user to review.

[1915] Community platform provider

[1916] Step 1:

[1917] A user posts a message to the community platform from a terminal.

[1918] Step 2:

[1919] The terminal sends the posted message to the server.

[1920] Step 3:

[1921] The server sends the message to the emotion engine, which generates an emotion tag.

[1922] Step 4:

[1923] The server stores the messages and emotion tags in a community database.

[1924] Step 5:

[1925] Other users can open the community platform from their devices to view all messages.

[1926] Step 6:

[1927] The server extracts all messages from the database and adds supporting messages as needed based on the emotion tags.

[1928] Step 7:

[1929] The device displays all messages and allows users to communicate and receive support.

[1930] Job hunting and career change support

[1931] Step 1:

[1932] The user sends his / her skill level as "beginner" to the server from the terminal.

[1933] Step 2:

[1934] The terminal transmits the skill level information to the server.

[1935] Step 3:

[1936] The server receives the skill level information and queries the emotion engine for the user's current emotional state.

[1937] Step 4:

[1938] The server (emotion engine) analyzes the user's emotional state and generates emotion tags.

[1939] Step 5:

[1940] The server sends the skill level information and emotion tag to the job-hunting and career change support system.

[1941] Step 6:

[1942] The server (employment and career change support system) extracts job information for beginners from a job information database and adjusts the content and messages based on emotion tags.

[1943] Step 7:

[1944] The server transmits the extracted job information to the terminal.

[1945] Step 8:

[1946] The terminal displays the proposed job information for the user to review.

[1947] Example 2

[1948] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1949] Programming learners face a wide range of challenges, including the questions and errors they encounter during their studies, creating learning plans tailored to their skill level, proposing appropriate projects, promoting communication among learners, and providing support for finding employment or changing jobs. Responding quickly and appropriately to these challenges is difficult, and emotional support, in particular, is lacking. The purpose of this invention is to provide a system that comprehensively solves these challenges and enables learners to progress effectively in their studies.

[1950] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1951] In this invention, the server includes a question answering means using generative AI, a project suggestion means based on the user's skill level information, and a study plan suggestion means, which allows for quick answers to the user's questions and errors, and suggests appropriate projects and study plans according to the user's skill level, thereby enabling more efficient and effective support for learning.

[1952] "Generative AI" is an AI technology that automatically generates answers to questions posed by users.

[1953] The "question answering means" is a means for accepting questions from users and generating and providing appropriate answers.

[1954] The "project proposal means" is a means for generating and providing appropriate project ideas based on the user's skill level.

[1955] The "study plan suggestion means" is a means for suggesting an optimal study plan according to the user's progress and skill level.

[1956] "Platform provision means" refers to a means of providing an online platform to promote communication between learners.

[1957] "Employment and career change support tools" are tools that suggest appropriate job information based on the user's skill level and support employment and career changes.

[1958] An "emotion engine" is a technology that recognizes emotions from user input and behavior and provides appropriate support based on that.

[1959] A "server" is a computer system that analyzes input data from a user and generates appropriate processing and results.

[1960] A "terminal" is a device through which a user inputs information, communicates with a server, and receives and displays the processing results.

[1961] MODE FOR CARRYING OUT THE INVENTION

[1962] This invention is a programming learning support system that provides comprehensive support to programming learners, including assistance with questions and errors they encounter during their learning process, planning based on their learning progress, project suggestions, and even employment and career change support. This system is equipped with functions such as question answering using generative artificial intelligence, project suggestions based on the user's skill level, study plan suggestions, a platform that promotes communication between users, and employment and career change support. Furthermore, by incorporating an emotion engine, appropriate support is provided according to the user's emotional state.

[1963] composition

[1964] The system includes the following main measures:

[1965] 1. Question-answering method using generative artificial intelligence

[1966] 2. Project proposal method based on user skill level

[1967] 3. A method for suggesting learning plans based on learning progress

[1968] 4. Providing a platform to promote communication between learners

[1969] 5. Job-hunting and career change support based on user skill level

[1970] 6. Support provision method using an emotion engine to recognize user emotions

[1971] Hardware and software used

[1972] The server performs processes such as tokenizing questions, natural language processing, answer generation, and decoding. The software used for this includes generative artificial intelligence models and natural language processing libraries, and the database system stores user information and messages.

[1973] The terminal allows users to input information, communicates with the server, and receives and displays the processing results. The applications running on the terminal have functions such as a chatbot interface, a project proposal interface, a learning plan interface, and a communication platform.

[1974] Specific examples

[1975] AI chatbot questions and answers

[1976] The user types a question into the terminal, such as "How do I define a function in Python?" and submits it. The terminal then sends this question to the server, where an AI chatbot uses natural language processing to generate the answer, "In Python, you define a function using the def keyword." The answer is then returned to the terminal, which displays it. If the user's emotion is recognized as being uncertain, a supplementary explanation is provided: "If you're not sure, try a simple example."

[1977] Project idea proposal

[1978] When a user submits their skill level from their device, the server uses that information to generate appropriate project ideas using a project suggestion system. For example, if a user's skill level is "beginner," it might suggest "web application development" or "data analysis projects." Furthermore, if the emotion engine detects the user's excitement or interest, it might suggest projects with a slightly higher level of difficulty, such as "interactive web application development."

[1979] Study plan suggestions

[1980] When a user inputs their skill level on their device, the server generates a learning plan based on the received information. Specifically, if the user is at an "intermediate" level, "applied algorithm learning" is suggested. If the emotion engine detects stress, the server suggests "continue to check your progress every week as you go."

[1981] Community platform provider

[1982] When a user posts a message saying, "I need help with a programming error," other users can view the message and provide answers and advice. If the emotion engine detects confusion or anger, a support message such as, "Let's try to sort out the problem calmly" will be displayed.

[1983] Job hunting and career change support

[1984] When a user submits their skill level information, the server suggests appropriate job listings. For example, if the user is a "beginner," job listings such as "junior developer" or "internship" will be suggested. For users who are feeling anxious or stressed, a comment such as "This is a position you can take on with confidence even if it's your first time" will be added.

[1985] Prompt Sentence Examples

[1986] 1. "How do I define a function in Python?"

[1987] 2. "What projects are appropriate for me at a beginner skill level?"

[1988] 3. "I'd like some suggestions for my current study plan."

[1989] 4. "I'd like to discuss a programming error with the community."

[1990] 5. "Please tell me about job postings I can apply for with entry-level skills."

[1991] This invention allows programming learners to receive prompt and appropriate support for questions and errors, and to implement optimal learning plans and projects according to their skill level. Furthermore, by receiving support for finding employment or changing jobs, it is possible to give back the results of their learning to society.

[1992] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1993] Specific processing steps of the program

[1994] AI chatbot questions and answers

[1995] Step 1:

[1996] A user opens a chat application from a terminal, types a question, and sends it. If the typed question is an example text such as "How do I define a function in Python?", the terminal captures this input text.

[1997] Input: A text question from the user

[1998] Output: Text data sent to the terminal

[1999] Specific operation:

[2000] The user enters a question in the text box on the chat screen and clicks the send button.

[2001] Step 2:

[2002] The terminal sends the acquired input text to the server. The data sent is in the form of an HTTP request.

[2003] Input: A text question from the user

[2004] Output: HTTP request sent to the server

[2005] Specific operation:

[2006] The click event of the submit button is triggered to form an HTTP request containing text data.

[2007] Step 3:

[2008] The server parses the input text from the received HTTP request and passes it to a generative AI model, which then tokenizes the question and uses natural language processing (NLP) to generate an appropriate answer.

[2009] Input: Text question in HTTP request

[2010] Output: Answer text generated by the AI ​​model

[2011] Specific operation:

[2012] The server receives the HTTP request, retrieves the text data, and feeds it into the NLP model, which generates an answer.

[2013] Step 4:

[2014] The server decodes the generated response and sends it back to the device. The returned data is in HTTP response format.

[2015] Input: Answer text generated by the AI ​​model

[2016] Output: Answer data as an HTTP response

[2017] Specific operation:

[2018] The server includes the generated answer in the response body and sends an HTTP response to the terminal.

[2019] Step 5:

[2020] The device analyzes the received response and displays it on the chat screen.

[2021] Input: Response data from the server in the HTTP response

[2022] Output: Response displayed on the chat screen

[2023] Specific operation:

[2024] The device receives the HTTP response and renders the answer text on the screen, allowing the user to check the answer.

[2025] Project idea proposal

[2026] Step 1:

[2027] The user selects and transmits his / her skill level from the terminal. For example, if the user selects the skill level "beginner," that information is entered into the terminal.

[2028] Input: Skill level information

[2029] Output: Skill level data entered into the device

[2030] Specific operation:

[2031] The user selects a skill level from the pull-down menu and presses the send button.

[2032] Step 2:

[2033] The terminal transmits the selected skill level information to the server. The transmitted data is in the form of an HTTP request.

[2034] Input: Skill level information

[2035] Output: HTTP request sent to the server

[2036] Specific operation:

[2037] The click event on the submit button triggers an HTTP request that includes skill level data.

[2038] Step 3:

[2039] The server passes the received skill level information to a project proposal system to generate appropriate project ideas.

[2040] Input: Skill level information in the HTTP request

[2041] Output: Generated project ideas

[2042] Specific operation:

[2043] The server analyzes the skill level information and inputs it into a proposal algorithm to generate project ideas.

[2044] Step 4:

[2045] The server returns the generated project ideas to the device in HTTP response format.

[2046] Input: Generated project ideas

[2047] Output: Project idea data as an HTTP response

[2048] Specific operation:

[2049] The server includes the generated project idea in the response body and sends an HTTP response to the terminal.

[2050] Step 5:

[2051] The terminal analyzes and displays the received project idea.

[2052] Input: Project idea data in the HTTP response from the server

[2053] Output: Project ideas displayed on screen

[2054] Specific operation:

[2055] The device receives the HTTP response and renders the project idea on the screen, allowing the user to review the proposal.

[2056] Study plan suggestions

[2057] Step 1:

[2058] The user inputs his / her skill level from the terminal and transmits it. For example, if the user selects "intermediate," that information is input to the terminal.

[2059] Input: Skill level information

[2060] Output: Skill level data entered into the device

[2061] Specific operation:

[2062] The user enters the skill level and presses the send button.

[2063] Step 2:

[2064] The terminal transmits the selected skill level information to the server. The transmitted data is in the form of an HTTP request.

[2065] Input: Skill level information

[2066] Output: HTTP request sent to the server

[2067] Specific operation:

[2068] The click event on the submit button triggers an HTTP request that includes skill level data.

[2069] Step 3:

[2070] The server passes the received skill level information to the study plan suggestion system, which then generates an appropriate study plan.

[2071] Input: Skill level information in the HTTP request

[2072] Output: The generated learning plan

[2073] Specific operation:

[2074] The server analyzes the skill level information and inputs it into the proposed algorithm to generate a learning plan.

[2075] Step 4:

[2076] The server returns the generated learning plan to the device. The returned data is in HTTP response format.

[2077] Input: Generated learning plan

[2078] Output: Lesson plan data as an HTTP response

[2079] Specific operation:

[2080] The server includes the generated learning plan in the response body and sends an HTTP response to the terminal.

[2081] Step 5:

[2082] The terminal analyzes and displays the received learning plan.

[2083] Input: Lesson plan data in the HTTP response from the server

[2084] Output: The lesson plan displayed on the screen

[2085] Specific operation:

[2086] The device receives the HTTP response and renders the plan on the screen, where the user can review the proposal.

[2087] Community platform provider

[2088] Step 1:

[2089] A user posts a message to the community platform from their device. For example, the user types, "I have a question about a programming error," and sends it.

[2090] Input: Message text

[2091] Output: Message data entered on the terminal

[2092] Specific operation:

[2093] The user enters a message in the text box and presses the send button.

[2094] Step 2:

[2095] The terminal sends the posted message to the server. The data sent is in the form of an HTTP request.

[2096] Input: Message text

[2097] Output: HTTP request sent to the server

[2098] Specific operation:

[2099] The click event on the send button triggers the creation of an HTTP request containing the message data.

[2100] Step 3:

[2101] The server stores the received message in a database, and the stored data includes the message text and user information.

[2102] Input: Message text in the HTTP request

[2103] Output: Message data stored in the database

[2104] Specific operation:

[2105] The server parses the HTTP request and executes a query to insert the message data into a database.

[2106] Step 4:

[2107] Other users send requests to the server to view their messages, which then executes a database query to retrieve the message data and sends it back.

[2108] Input: View request

[2109] Output: Message data retrieved from the database

[2110] Specific operation:

[2111] The server issues a database query to retrieve the corresponding message data.

[2112] Step 5:

[2113] The other users' devices analyze the received message data and display it on the community platform.

[2114] Input: Message data in the HTTP response from the server

[2115] Output: Messages displayed on the screen

[2116] Specific operation:

[2117] The device receives the HTTP response and renders the message on the screen, where other users can read and respond to the message.

[2118] Job hunting and career change support

[2119] Step 1:

[2120] The user inputs his / her skill level from the terminal and transmits it. For example, if the user selects "beginner," that information is input to the terminal.

[2121] Input: Skill level information

[2122] Output: Skill level data entered into the device

[2123] Specific operation:

[2124] The user enters the skill level and presses the send button.

[2125] Step 2:

[2126] The terminal transmits the selected skill level information to the server. The transmitted data is in the form of an HTTP request.

[2127] Input: Skill level information

[2128] Output: HTTP request sent to the server

[2129] Specific operation:

[2130] The click event on the submit button triggers an HTTP request that includes skill level data.

[2131] Step 3:

[2132] The server passes the received skill level information to the employment and career change support system and generates appropriate job information.

[2133] Input: Skill level information in the HTTP request

[2134] Output: Generated job listings

[2135] Specific operation:

[2136] The server analyzes the skill level information and inputs it into a corresponding algorithm to generate job information.

[2137] Step 4:

[2138] The server returns the generated job information to the terminal. The returned data is in HTTP response format.

[2139] Input: Generated job posting

[2140] Output: Job data as an HTTP response

[2141] Specific operation:

[2142] The server includes the generated job information in the response body and sends an HTTP response to the terminal.

[2143] Step 5:

[2144] The terminal analyzes the received job information and displays it.

[2145] Input: Job information data in the HTTP response from the server

[2146] Output: Job listing displayed on screen

[2147] Specific operation:

[2148] The device receives the HTTP response and displays the job information on the screen. The user can then review the information and consider applying.

[2149] (Application example 2)

[2150] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[2151] Conventional programming learning support systems struggle to provide immediate and appropriate support for learners' questions and errors. Furthermore, they lack personalized learning support that takes into account the learner's emotional state, making it difficult to improve learning efficiency and maintain motivation. Furthermore, they offer limited project suggestions and learning plans tailored to each learner's skill level, and lack effective means to promote communication between users.

[2152] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[2153] In this invention, the server includes a question-answering means using generative artificial intelligence, a project suggestion means according to the learner's skill level, a study plan suggestion means according to the learner's progress, a platform provision means for promoting communication between learners, a job-hunting and career change support means based on the learner's skill level, a response adjustment means using emotion recognition means, and a means for adjusting project suggestions and study plans based on the user's emotional state. This allows for immediate and appropriate support for questions and errors faced by learners, as well as individualized study support that takes into account the learner's emotional state, making it possible to improve learning efficiency and maintain motivation.

[2154] "Generative AI" is an AI system that performs natural language processing based on user input and generates appropriate answers.

[2155] "Emotion recognition means" is a technology that analyzes emotions from user input and behavior and makes appropriate responses and adjustments based on that.

[2156] A "question answering means" is a system that accepts questions from users and provides answers to those questions.

[2157] The "project suggestion means" is a system that suggests appropriate learning projects based on the user's skill level and situation.

[2158] The "study plan suggestion means" is a system that suggests an effective study plan according to the user's progress and skill level.

[2159] A "platform provision means" is a system that provides an online environment and interface to promote communication between learners.

[2160] "Employment and career change support tool" is a system that provides appropriate employment and career change support information according to the user's skill level and wishes.

[2161] The "response adjustment means" is a function that adjusts the generated response to suit the emotional state of the user based on the information obtained by the emotion recognition means.

[2162] This invention relates to a programming learning support system, which includes a question-answering system using generative artificial intelligence, a project suggestion system based on a learner's skill level, a study plan suggestion system based on a learner's progress, a platform provision system for promoting communication between learners, a job-hunting and career change support system based on a learner's skill level, a response adjustment system using emotion recognition system, and a system for adjusting project suggestions and study plans based on a user's emotional state.

[2163] Question and Answering Tools

[2164] The server receives questions entered by users from their devices as text data. The server's AI generates tokens from the received questions and generates appropriate answers using natural language processing. The emotion recognition means recognizes emotions from the question text entered by the user and adjusts the generated answers accordingly.

[2165] example:

[2166] If a user asks, "How do I define a function in Python?", the generative AI will respond, "In Python, functions are defined using the def keyword." If the emotion recognition means identifies the user's emotion as anxiety, it will add additional explanation such as, "If you're not sure, try a simple example."

[2167] Project proposal method

[2168] Users send their skill level information from their devices to the server. The server generates appropriate project ideas based on the received skill level information. The emotion recognition means analyzes the user's emotional state and adjusts the difficulty and content of the proposed projects.

[2169] example:

[2170] If the user's skill level is "beginner," the server will suggest "web application development" or "data analysis project." If the emotion recognition means recognizes the user's emotion as excitement, the server will suggest a slightly more difficult project, such as "interactive web application development."

[2171] Learning plan suggestion tool

[2172] The user sends their skill level information from their device to the server. The server then proposes a learning plan suitable for the user based on the received skill level information. The emotion recognition means analyzes the user's emotional state and adjusts the pace and content of the proposed learning plan.

[2173] example:

[2174] If the user's skill level is "intermediate," the server suggests "applied algorithm learning." If the emotion recognition means identifies the user's emotion as stress, the server suggests reducing the amount of daily learning and "continue to check your progress every week."

[2175] Communication platform provision means

[2176] Users can post messages to the community platform from their devices. The server stores the received messages in a database so that other users can view and reply to them. The emotion recognition system analyzes the emotional state of the posted messages and adds appropriate advice or support messages.

[2177] example:

[2178] When a user posts, "I need help with a programming error," other users can post replies and advice. If the emotion recognition system detects the user's emotion as confusion or anger, it automatically displays a support message such as, "Let's try to sort out the problem calmly."

[2179] Employment and career change support

[2180] The user sends their skill level information from their device to the server. The server then proposes appropriate job information based on the received skill level information. The emotion recognition means analyzes the user's emotional state and adjusts the proposed job information or adds a support message.

[2181] example:

[2182] If the user's skill level is "beginner," the generative AI will suggest job listings such as "junior developer" or "internship." If the emotion recognition means recognizes the user's emotion as anxiety, it will add a comment such as "This is a position that even beginners can take on with confidence."

[2183] Prompt Sentence Examples

[2184] Question prompt:

[2185] How do I define a function in Python?

[2186] As a result, the present invention realizes a programming learning support system that makes full use of emotion recognition to provide users with more appropriate and personalized support.

[2187] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[2188] Step 1:

[2189] The user inputs a question from the learning terminal.

[2190] Input: The user enters the question in text format.

[2191] Operation: The terminal sends the entered question to the server.

[2192] Step 2:

[2193] The server receives the question and sends the question to a generative artificial intelligence (generative AI model).

[2194] Input: Question text submitted by the user

[2195] How it works: The server tokenizes the question and passes it to a generative AI model to perform natural language processing.

[2196] Step 3:

[2197] A generative AI model generates answers to questions.

[2198] Input: Tokenized question text

[2199] Data processing: Uses natural language processing to understand the intent of the question and generate appropriate answers

[2200] Output: Generated answer text

[2201] Step 4:

[2202] The server recognizes the user's emotion from the question text using an emotion recognition means.

[2203] Input: User question text

[2204] Action: Analyzing emotional states from text using emotion recognition algorithms

[2205] Output: Perceived emotional state (e.g., anxiety, excitement, stress, etc.)

[2206] Step 5:

[2207] The server adjusts the answers from the generative AI model based on the perceived emotional state.

[2208] Input: Generated answer text and the user's emotional state

[2209] Data calculation: Add additional explanations or support messages to the answer text based on the emotional state

[2210] Output: Adjusted answer text

[2211] Step 6:

[2212] The server sends the adjusted answer text to the terminal.

[2213] Input: Adjusted answer text

[2214] Operation: The server sends the tailored response to the user's terminal.

[2215] Step 7:

[2216] The terminal displays the received response on its screen.

[2217] Input: Answer text sent from the server

[2218] Output: The answer that is displayed to the user

[2219] Step 8:

[2220] The user checks the displayed answers.

[2221] Action: The user reviews the displayed answer and returns to step 1 if they wish to ask the question again.

[2222] This allows the generative AI model to generate an answer to the question entered by the user, make appropriate adjustments using emotion recognition, and then provide the answer to the user.

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

[2224] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[2225] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.

[2226] [Fourth embodiment]

[2227] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[2228] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[2229] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[2230] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.

[2231] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

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

[2233] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[2234] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.

[2235] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[2236] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[2237] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[2238] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[2239] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[2240] The present invention relates to a programming learning support system that allows programming learners to receive effective support for their questions and errors. This system includes a question-answering mechanism using generative artificial intelligence, a project suggestion mechanism based on the learner's skill level, a learning plan suggestion mechanism based on the learner's progress, a platform provision mechanism for promoting communication between learners, and a job-hunting / career change support mechanism based on the learner's skill level.

[2241] AI chatbot questions and answers

[2242] The user inputs and sends a question to the chatbot from their device. The device sends the question to the server, where the AI ​​chatbot on the server receives the question. The AI ​​chatbot tokenizes the question and generates an appropriate answer using natural language processing. It then decodes the generated answer and sends it to the device. The device displays the answer so the user can confirm it.

[2243] Example: When a user asks, "How do I define a function in Python?", the AI ​​chatbot responds, "In Python, you define a function using the def keyword."

[2244] Project idea proposal

[2245] The user sends their skill level from the terminal to the server. The server receives the skill level information and uses the project idea suggestion system to suggest project ideas suitable for the user's skill level. The suggested project ideas are returned to the terminal so that the user can review them.

[2246] For example, if a user's skill level is "beginner," the project idea suggestion system will suggest "web application development" or "data analysis project."

[2247] Study plan suggestions

[2248] The user sends their skill level from their device to the server. The server receives the skill level information and uses the study plan suggestion system to suggest a study plan suitable for the user. The proposed study plan is returned to the device so that the user can check it.

[2249] Example: If the user's skill level is "intermediate," the study plan suggestion system will suggest "learning applied algorithms."

[2250] Community platform provider

[2251] Users post messages to the community platform from their devices. The devices send the messages to the server, which stores them in a database. Other users can also post and view messages.

[2252] For example, if a user posts, "I have a question about a programming error," this message will be viewed by other learners and experienced users, who will provide answers and advice.

[2253] Job hunting and career change support

[2254] The user sends their skill level from their device to the server. The server receives the skill level information and uses the job-hunting and career change support system to suggest suitable job information to the user. The suggested job information is returned to the device so that the user can check it.

[2255] Example: If a user's skill level is "beginner," the job search and career change support system will suggest job information such as "junior developer" and "internship."

[2256] The processing flow will be explained below.

[2257] AI chatbot questions and answers

[2258] Step 1:

[2259] The user inputs and sends a question to the chatbot from the terminal.

[2260] Step 2:

[2261] The terminal sends a query to the server.

[2262] Step 3:

[2263] The server receives the question and passes it on to the AI ​​chatbot.

[2264] Step 4:

[2265] The server (AI chatbot) tokenizes the question content. Specifically, it breaks down the input natural language question into tokens and converts them into a format that the model can process.

[2266] Step 5:

[2267] The server (AI chatbot) generates an answer based on the tokenized question. Specifically, an AI model (e.g., GPT-3) generates an appropriate answer for the tokenized input.

[2268] Step 6:

[2269] The server (AI chatbot) decodes the generated answer, specifically by reconstructing the token sequence returned by the model as a string.

[2270] Step 7:

[2271] The server sends the decoded response to the terminal.

[2272] Step 8:

[2273] The terminal displays the answer for the user to review.

[2274] Project idea proposal

[2275] Step 1:

[2276] The user sends his / her skill level as "beginner" from the terminal.

[2277] Step 2:

[2278] The terminal transmits the skill level information to the server.

[2279] Step 3:

[2280] The server receives the skill level information and passes it to the project idea proposal system.

[2281] Step 4:

[2282] The server (project idea proposal system) extracts ideas suitable for "beginners" from a database of available project ideas. Specifically, it extracts projects suitable for beginners, such as "web application development" and "data analysis projects."

[2283] Step 5:

[2284] The server transmits the extracted project ideas to the terminal.

[2285] Step 6:

[2286] The terminal displays the proposed project ideas for the user to review.

[2287] Study plan suggestions

[2288] Step 1:

[2289] The user transmits his / her skill level as "intermediate" from the terminal.

[2290] Step 2:

[2291] The terminal transmits the skill level information to the server.

[2292] Step 3:

[2293] The server receives the skill level information and passes it to the learning plan suggestion system.

[2294] Step 4:

[2295] The server (study plan suggestion system) extracts study plans suitable for "intermediate" learners from the study plan database. Specifically, it extracts study plans for intermediate learners, such as "studying applied algorithms."

[2296] Step 5:

[2297] The server transmits the extracted study plan to the terminal.

[2298] Step 6:

[2299] The device displays the proposed lesson plan for the user to review.

[2300] Community platform provider

[2301] Step 1:

[2302] The user posts a message from the terminal to the community platform saying, "I have a question about a programming error."

[2303] Step 2:

[2304] The terminal transmits the posted content to the server.

[2305] Step 3:

[2306] The server stores the messages in the community platform database.

[2307] Step 4:

[2308] Other users can open the community platform from their devices to view all messages.

[2309] Step 5:

[2310] The server extracts all messages from the database and sends them to the terminal.

[2311] Step 6:

[2312] The terminal displays all messages and allows users to converse with each other.

[2313] Job hunting and career change support

[2314] Step 1:

[2315] The user sends his / her skill level as "beginner" from the terminal.

[2316] Step 2:

[2317] The terminal transmits the skill level information to the server.

[2318] Step 3:

[2319] The server receives the skill level information and passes it on to the job-hunting and career change support system.

[2320] Step 4:

[2321] The server (employment and career change support system) extracts job information suitable for "beginners" from the employment information database. Specifically, it extracts job information for beginners, such as "junior developers" and "internships."

[2322] Step 5:

[2323] The server transmits the extracted job information to the terminal.

[2324] Step 6:

[2325] The terminal displays the proposed job information for the user to review.

[2326] Example 1

[2327] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[2328] Problems faced by programming learners include not receiving adequate support for questions or errors, not being able to find appropriate study plans or project ideas, a lack of communication that reduces motivation to learn, and not receiving support for finding employment or changing jobs based on one's skills. An effective learning support system is needed to solve these problems.

[2329] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[2330] In this invention, the server includes a question-answering means using generative AI, a task suggesting means according to the learner's skill level, and a study plan suggesting means according to the learner's progress. This allows the learner to receive prompt and appropriate support for questions or errors, and to be suggested appropriate project ideas and study plans according to their own skill level.

[2331] "Generative AI" is an AI system that uses machine learning and deep learning technologies to understand natural language, answer questions, and generate dialogue.

[2332] "Question answering means" refers to a function that analyzes an input question and generates and provides an appropriate answer to it.

[2333] "Task suggestion means" refers to a function that generates and suggests appropriate learning tasks and project ideas based on the user's skill level.

[2334] The "study plan suggestion means" refers to a function that generates and suggests an effective study plan based on the user's learning progress and skill level.

[2335] "Means for providing a shared platform" refers to a function that promotes communication between users and provides an online environment where information and knowledge can be shared.

[2336] "Career support means" refers to a function that provides support information regarding employment and job changes according to the user's skill level and aptitude.

[2337] "Tokenization" is a process of breaking down input natural language sentences into semantic units such as words and phrases.

[2338] "Natural language processing" is a technology that enables computers to understand and generate natural language, and is used in question-answering and dialogue systems.

[2339] "Answer generation" is a process of automatically generating an appropriate answer to an input question.

[2340] "Decoding" is the process of returning encoded data to its original form, and in this case refers to converting the answers generated by the generative artificial intelligence into natural language text.

[2341] "Skill information" is information about the user's programming skills and knowledge level.

[2342] The present invention provides a learning support system for effectively supporting programming learners, which includes the following means.

[2343] 1. Question-answering method using generative artificial intelligence

[2344] The user inputs and sends a question to the chatbot from the device. The device sends the question to the server, where the AI ​​chatbot on the server receives the question. A server PC or cloud server is used as the hardware, and a natural language processing (NLP) model (e.g., GPT-4) is used as the software. The server tokenizes the question and generates an appropriate answer using natural language processing. The generated answer is then decoded and sent to the device. The device displays the answer so that the user can confirm it.

[2345] Examples:

[2346] When a user asks, "How do I define a function in Python?", the AI ​​chatbot responds, "In Python, you define a function using the def keyword."

[2347] Example prompt sentence:

[2348] Question: "How do I define a function in Python?"

[2349] Answer: "In Python, functions are defined using the def keyword."

[2350] 2. Methods for suggesting tasks according to the learner's skill level

[2351] The user sends their skill level from their device to the server. The server receives the skill level information and uses the project idea suggestion system to suggest project ideas appropriate for the user's skill level. The proposed project ideas are returned to the device so that the user can review them.

[2352] Examples:

[2353] If the user's skill level is "beginner," the project idea suggestion system will suggest "web application development" or "data analysis project."

[2354] Example prompt sentence:

[2355] Skill level: "beginner"

[2356] Proposal: "Web application development" "Data analysis project"

[2357] 3. A method for proposing learning plans according to the learner's progress

[2358] The user sends their skill level from their device to the server. The server receives the skill level information and uses the study plan suggestion system to suggest a study plan suitable for the user. The proposed study plan is returned to the device so that the user can check it.

[2359] Examples:

[2360] If the user's skill level is "intermediate," the study plan suggestion system suggests "learning applied algorithms."

[2361] Example prompt sentence:

[2362] Skill level: "intermediate"

[2363] Proposal: "Learning Applied Algorithms"

[2364] 4. A means of providing a shared platform to promote communication among learners

[2365] Users post messages to the sharing platform from their devices. The devices send the messages to the server, which stores them in a database. Other users can also post and view messages.

[2366] Examples:

[2367] When a user posts a message saying, "I have a question about a programming error," this message will be viewed by other learners and experienced users, who will provide replies and advice.

[2368] Example prompt sentence:

[2369] Post: "I need help with a programming error."

[2370] Answer: "This error is a typical syntax error. Please check your code again."

[2371] 5. Skill-based career support for learners

[2372] The user sends their skill level from their device to the server. The server receives the skill level information and uses the job-hunting and career change support system to suggest suitable job information to the user. The suggested job information is returned to the device so that the user can check it.

[2373] Examples:

[2374] If the user's skill level is "beginner," the job-hunting and career change support system will suggest job information such as "junior developer" and "internship."

[2375] The flow of the identification process in the first embodiment will be described with reference to FIG.

[2376] AI chatbot questions and answers

[2377] Step 1:

[2378] The user enters a question and submits it.

[2379] Specific behavior: The user types "How do I define a function in Python" into the terminal chat window and clicks the "Send" button.

[2380] Input: The user's question text.

[2381] Output: The question text is prepared for transmission by the user's device.

[2382] Step 2:

[2383] The terminal sends a question to the server.

[2384] Specific operation: The device sends the user's question to the server as an HTTP POST request.

[2385] Input: The user's question text.

[2386] Output: HTTP request to the server.

[2387] Step 3:

[2388] The server receives the question and tokenizes it.

[2389] Specific operation: The server breaks down the received question text into tokens. For example, "Please tell me how to define a function in Python" is broken down into "Python", "in", "function", "of", "define", "how", "of", "tell me", and "please".

[2390] Input: The question text from the user.

[2391] Output: A list of tokenized questions.

[2392] Step 4:

[2393] The server generates the answer using a natural language processing model.

[2394] Specific operation: The server inputs the tokenized question into a natural language processing model (e.g., GPT-4) and generates an answer. For example, it generates the text "In Python, functions are defined using the def keyword."

[2395] Input: A list of tokenized questions.

[2396] Output: The answer text generated by the natural language processing model.

[2397] Step 5:

[2398] The server generates a response that is decoded and sent to the terminal.

[2399] Specific operation: The server decodes the generated answer and sends it to the device as a JSON-formatted response.

[2400] Input: The answer text generated by the natural language processing model.

[2401] Output: The JSON response sent to the device.

[2402] Step 6:

[2403] The device will display the answer.

[2404] Specific operation: The device displays the reply received from the server in the chat window.

[2405] Input: The answer text received from the server.

[2406] Output: The answer text that is displayed to the user.

[2407] Project idea proposal

[2408] Step 1:

[2409] The user enters the skill level and submits it.

[2410] Specific Actions: The user selects a skill level and clicks the "Submit" button.

[2411] Input: User skill level information.

[2412] Output: The user's device prepares to send the skill level information.

[2413] Step 2:

[2414] The device transmits the skill level to the server.

[2415] Specific operation: The device sends the skill level to the server as an HTTP POST request.

[2416] Input: User skill level information.

[2417] Output: HTTP request to the server.

[2418] Step 3:

[2419] A server receives the skill level information and generates appropriate project ideas.

[2420] Specific operation: Based on the received skill level information, the server selects appropriate project ideas from a database or a pre-prepared list.

[2421] Input: User skill level information.

[2422] Output: Selected project ideas.

[2423] Step 4:

[2424] The server sends the generated project ideas to the terminal.

[2425] Specific operation: The server sends the selected project idea to the terminal in JSON format.

[2426] Input: Selected project idea.

[2427] Output: Project ideas in JSON format sent to the device.

[2428] Step 5:

[2429] The device displays project ideas.

[2430] Specific behavior: Display project ideas on the device display.

[2431] Input: Project ideas received from the server.

[2432] Output: The project idea presented to the user for review.

[2433] Study plan suggestions

[2434] Step 1:

[2435] The user enters the skill level and submits it.

[2436] Specific Actions: The user selects a skill level and clicks the "Submit" button.

[2437] Input: User skill level information.

[2438] Output: The user's device prepares to send the skill level information.

[2439] Step 2:

[2440] The device transmits the skill level to the server.

[2441] Specific operation: The device sends the skill level to the server as an HTTP POST request.

[2442] Input: User skill level information.

[2443] Output: HTTP request to the server.

[2444] Step 3:

[2445] A server receives the skill level information and generates an appropriate learning plan.

[2446] Specific operation: Based on the received skill level information, the server selects an appropriate learning plan from a database or a pre-prepared list.

[2447] Input: User skill level information.

[2448] Output: The selected lesson plan.

[2449] Step 4:

[2450] The server sends the generated learning plan to the terminal.

[2451] Specific operation: The server sends the selected learning plan to the device in JSON format.

[2452] Input: The selected lesson plan.

[2453] Output: The lesson plan in JSON format that is sent to the device.

[2454] Step 5:

[2455] The device displays the lesson plan.

[2456] Specific action: Display the lesson plan on the device display.

[2457] Input: The lesson plan received from the server.

[2458] Output: The lesson plan displayed for the user to review.

[2459] Shared platform provision

[2460] Step 1:

[2461] The user types and sends a message.

[2462] Specific actions: The user enters a message into the text box on the sharing platform and clicks the "Send" button.

[2463] Input: A message posted by the user.

[2464] Output: The user's terminal prepares the message for sending.

[2465] Step 2:

[2466] The device sends a message to the server.

[2467] Specific operation: The device sends the message to the server as an HTTP POST request.

[2468] Input: The user's posted message.

[2469] Output: HTTP request to the server.

[2470] Step 3:

[2471] The server stores the message in a database.

[2472] Specific operation: The server stores the received message in a database.

[2473] Input: The message received from the user.

[2474] Output: The message stored in the database.

[2475] Step 4:

[2476] Other users view the message.

[2477] What it does: Other users can access the sharing platform and view the posted messages.

[2478] Input: Messages stored in the database.

[2479] Output: The message that other users will see.

[2480] Vocational support

[2481] Step 1:

[2482] The user enters the skill level and submits it.

[2483] Specific Actions: The user selects a skill level and clicks the "Submit" button.

[2484] Input: User skill level information.

[2485] Output: The user's device prepares to send the skill level information.

[2486] Step 2:

[2487] The device transmits the skill level to the server.

[2488] Specific operation: The device sends the skill level to the server as an HTTP POST request.

[2489] Input: User skill level information.

[2490] Output: HTTP request to the server.

[2491] Step 3:

[2492] The server receives the skill level information and suggests appropriate job offers.

[2493] Specific operation: Based on the received skill level information, the server selects appropriate job information from a database or a pre-prepared list.

[2494] Input: User skill level information.

[2495] Output: Selected job postings.

[2496] Step 4:

[2497] The server sends the generated job information to the terminal.

[2498] Specific operation: The server sends the selected job information to the terminal in JSON format.

[2499] Input: Selected job postings.

[2500] Output: The job information in JSON format sent to the device.

[2501] Step 5:

[2502] The device displays the job listing.

[2503] Specific operation: Display job information on the device display.

[2504] Input: Job information received from the server.

[2505] Output: The job listing displayed for the user to see.

[2506] (Application example 1)

[2507] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[2508] Conventional programming learning support systems lack the flexibility to adapt to individual learners' skill levels and progress. Furthermore, they often lack real-time support, particularly in the operation and maintenance of factory robots, making it difficult for learners to solve problems independently. Given these circumstances, there is a need for a system that can simultaneously support efficient and effective learning and practice.

[2509] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[2510] In this invention, the server includes a question-answering means using generative artificial intelligence, a project proposal means based on the learner's skill level, a learning plan proposal means based on the learner's progress, a platform provision means for promoting communication between learners, a job-hunting and career change support means based on the learner's skill level, and an application means installed on smart glasses or a head-mounted display to support the operation of factory robots. This allows learners to receive real-time question-answering and project proposals, enabling efficient and effective learning and practice. Furthermore, real-time support can be provided for robot operation and maintenance in factories, facilitating problem solving.

[2511] "Generative AI" is an AI system that has the ability to tokenize questions from learners, perform natural language processing, and generate appropriate answers.

[2512] The "question answering means" is a device or program that accepts questions from users and performs tokenization, natural language processing, answer generation, and decoding.

[2513] The "project proposal tool" is a system that generates and provides appropriate project ideas based on the learner's skill level.

[2514] The "study plan suggestion means" is a system for generating and suggesting a study plan according to the learner's skill level and progress.

[2515] "Platform provision means" refers to means for providing an online platform to promote communication between learners and exchange information.

[2516] "Employment and career change support tools" is a system that provides appropriate job information and career advice based on the learner's skill level.

[2517] "Smart glasses" are wearable devices that have the ability to display visual information, allowing learners to refer to information and guidance in real time.

[2518] A "head-mounted display" is a display device worn on the head like a helmet, allowing learners to view visual information in real time.

[2519] A "factory robot" is an automated robot designed to perform production work and maintenance within a factory.

[2520] "Application means" means software or a program for performing a specific function or service, which is installed and used on a device.

[2521] The present invention is a system that provides effective support to programming learners, and this system is composed of a combination of multiple functions, specifically including a question-answering means using generative artificial intelligence, a project suggestion means according to skill level, a learning plan suggestion means according to progress, a platform provision means for promoting communication between learners, a job-hunting and career change support means based on skill level, and an application means for supporting the operation of factory robots that is installed in smart glasses or a head-mounted display.

[2522] Hardware and software used

[2523] The hardware used to realize this system is smart glasses and a head-mounted display, which function as devices for displaying visual information.

[2524] In terms of software, the main components used are:

[2525] "openai" library: Question-answering function using generative AI models.

[2526] Database: To store and view community messages.

[2527] Data processing and calculation flow

[2528] AI chatbot questions and answers

[2529] When a user inputs a question through smart glasses or a head-mounted display, the chatbot sends it to the server, which uses the "openai" library to tokenize the question and interprets it using natural language processing. It then uses a generative AI model to generate an answer, decodes it, and returns it to the user.

[2530] Project proposal

[2531] Users submit their skill level to the server, which receives this information and generates appropriate project ideas that are returned to the user's device for review.

[2532] Study plan suggestions

[2533] Based on the user's skill level and progress, the server generates a lesson plan and sends it to the user's device, where the user can review and implement the proposed lesson plan.

[2534] Community platform provider

[2535] Users post messages to the community through smart glasses or head-mounted displays. These messages are sent to the server and stored in a database. Other users can also post and view messages.

[2536] Job hunting and career change support

[2537] When a user sends their skill level information to the server, the server generates suitable job information based on this information and sends it to the user's device. The user can then review the information and apply for the job.

[2538] As a specific example, when using the question-and-answer function of an AI chatbot, if a user inputs the question, "Please tell me the steps for initial setup of the robot," the system will generate an answer such as, "The steps for initial setup of the robot are as follows: First, turn on the power, then open the initial setup menu, then..."

[2539] Example of an input prompt for a generative AI model:

[2540] text

[2541] Question: What are the initial setup steps for the robot?

[2542] Answer: The initial setup procedure for the robot is as follows: First, turn on the power, then open the initial setup menu, then...

[2543] These features allow users to efficiently learn and practice while receiving real-time questions and project proposals. They can also receive real-time support for robot operation and maintenance in factories, making problem-solving easier.

[2544] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[2545] Step 1:

[2546] The user puts on smart glasses or a head-mounted display and inputs a question.

[2547] Enter a specific question such as "Please tell me the initial setup procedure for the robot" and press the send button. The entered question will be sent to the server by the terminal.

[2548] Step 2:

[2549] The server receives the query sent by the user.

[2550] The received question is tokenized and the context is analyzed using natural language processing. At this stage, the text data is broken down into tokens and semantic analysis is performed.

[2551] Step 3:

[2552] The server generates answers to questions using a generative AI model.

[2553] After analyzing the natural language processing, the prompt sentence is input to the generative AI model (openai library) to generate the optimal answer. Example: "Question: What are the steps for initial setup of the robot?\nAnswer: The steps for initial setup of the robot are as follows. First..."

[2554] Step 4:

[2555] The server decodes the generated response and sends it to the terminal.

[2556] The generated answer is decoded as a string and returned to the terminal. At this stage, the answer is formatted to make it easier for the user to understand.

[2557] Step 5:

[2558] The terminal receives the response sent from the server and displays it to the user.

[2559] The answers are displayed in real time on the user's smart glasses or head-mounted display, allowing the user to review them and use them to solve the problem.

[2560] Step 6:

[2561] The user transmits his / her skill level to the server via the terminal.

[2562] The skill level is selected using a drop-down menu or the like and sent to the server by pressing the send button.

[2563] Step 7:

[2564] The server generates project proposals based on the skill levels and sends them to the terminals.

[2565] The project suggestion system selects appropriate project ideas based on the user's skill level information and sends them to the user's terminal. For example, for the "beginner" level, it would be "easy picking work."

[2566] Step 8:

[2567] The terminal receives the project proposal and displays it to the user.

[2568] The proposed project ideas are displayed on the user's smart glasses or head-mounted display, and the user can use them to advance their learning.

[2569] Step 9:

[2570] A user posts a message on a community platform.

[2571] Students input and send messages containing what they have learned or any questions they have via smart glasses or a head-mounted display.

[2572] Step 10:

[2573] The server receives user-submitted messages and stores them in a database.

[2574] The server stores the received messages in a database and makes them available for other learners to view.

[2575] Step 11:

[2576] Other users can view posts and respond to messages from the community platform.

[2577] Other learners can also view the messages and post replies and advice based on their own knowledge and experience.

[2578] Through the above processing steps, the user can receive effective learning support, and in particular, real-time support in operating and programming factory robots is possible.

[2579] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[2580] This invention relates to a programming learning support system that allows programming learners to receive effective support for their questions and errors. This system includes a question-answering mechanism using generative artificial intelligence, a project proposal mechanism based on the learner's skill level, a study plan proposal mechanism based on the learner's progress, a platform provision mechanism for promoting communication between learners, and a job-hunting / career change support mechanism based on the learner's skill level. Furthermore, by combining this with an emotion engine that recognizes the user's emotions, the system provides appropriate support according to the user's emotional state.

[2581] AI chatbot questions and answers

[2582] The user inputs and sends a question to the chatbot from the device. The device sends the question to the server, where the AI ​​chatbot on the server receives the question. The AI ​​chatbot tokenizes the question and generates an appropriate answer using natural language processing. It then decodes the generated answer and sends it to the device. The device displays the answer so the user can confirm it. If an emotion engine is built in, it recognizes emotions from the user's input text and adjusts the answer based on those emotions.

[2583] For example, if a user asks, "How do I define a function in Python?", the AI ​​chatbot will respond, "In Python, functions are defined using the def keyword." If the AI ​​chatbot detects that the user is feeling anxious, it will provide additional explanation, such as, "If you're not sure, try a simple example."

[2584] Project idea proposal

[2585] The user sends their skill level from the device to the server. The server receives the skill level information and uses the project idea suggestion system to suggest project ideas appropriate for the user's skill level. The suggested project ideas are returned to the device so that the user can review them. If an emotion engine is built in, the difficulty and content of the project can be adjusted according to the user's emotions.

[2586] For example, if a user's skill level is "beginner," the project idea suggestion system will suggest "web application development" or "data analysis project." If the user's emotions indicate excitement or interest, the system will suggest a slightly more difficult project, such as "interactive web application development."

[2587] Study plan suggestions

[2588] The user sends their skill level from their device to the server. The server receives the skill level information and uses the study plan suggestion system to propose a study plan suitable for the user. The proposed study plan is returned to the device so that the user can review it. If an emotion engine is built in, the learning pace and content can be adjusted according to the user's emotions.

[2589] For example, if a user's skill level is "intermediate," the study plan suggestion system will suggest "studying applied algorithms." If the user is feeling stressed or pressured, the system will suggest reducing the amount of study per day and "check your progress every week as you go."

[2590] Community platform provider

[2591] Users post messages to the community platform from their devices. The devices send the posted messages to the server, which stores them in a database. Other users can also post and view messages in the same way. If an emotion engine is built in, it analyzes the emotional state of the posted message, making it easier for users to receive appropriate advice and support from other users.

[2592] For example, if a user posts, "I need your help with a programming error," this message will be viewed by other learners and experienced users, who will provide replies and advice. If the message expresses confusion or anger, a supportive message such as, "Let's calmly sort out the problem" will automatically appear.

[2593] Job hunting and career change support

[2594] The user sends their skill level from their device to the server. The server receives the skill level information and uses the job-hunting and career change support system to suggest suitable job information for the user. The suggested job information is returned to the device so that the user can check it. If an emotion engine is built in, the content of the job offer can be adjusted according to the user's emotions, and a support message can be provided.

[2595] For example, if a user's skill level is "beginner," the job-hunting and career change support system will suggest job listings such as "junior developer" or "internship." If the user's emotions indicate anxiety or stress, the system will add a comment to the suggestions, such as "This is a position that even beginners can take on with confidence."

[2596] The processing flow will be explained below.

[2597] Embodiments of the invention combining emotion engines

[2598] AI chatbot questions and answers

[2599] Step 1:

[2600] The user inputs a question to the chatbot via text input from the terminal and sends it.

[2601] Step 2:

[2602] The terminal sends a query to the server.

[2603] Step 3:

[2604] The server receives the question and sends the question to the emotion engine.

[2605] Step 4:

[2606] The server (emotion engine) analyzes the input text and identifies the user's emotion, which is then stored as an emotion tag.

[2607] Step 5:

[2608] The server passes the question and emotion tag to the AI ​​chatbot.

[2609] Step 6:

[2610] The server (AI chatbot) tokenizes the question, performs natural language processing, and generates an appropriate answer.

[2611] Step 7:

[2612] The server (AI chatbot) adjusts the generated answers based on the emotion tag, for example adding words of encouragement to anxious users.

[2613] Step 8:

[2614] The server sends the generated response to the terminal.

[2615] Step 9:

[2616] The terminal displays the answer for the user to review.

[2617] Project idea proposal

[2618] Step 1:

[2619] The user sends his / her skill level as "beginner" to the server from the terminal.

[2620] Step 2:

[2621] The terminal transmits the skill level information to the server.

[2622] Step 3:

[2623] The server receives the skill level information and queries the emotion engine for the user's current emotional state.

[2624] Step 4:

[2625] The server (emotion engine) analyzes the user's emotional state and generates emotion tags.

[2626] Step 5:

[2627] The server sends the skill level information and emotion tag to the project idea proposal system.

[2628] Step 6:

[2629] The server (project idea proposal system) extracts suitable projects from the available project ideas and adjusts the content and difficulty based on emotion tags.

[2630] Step 7:

[2631] The server transmits the extracted project ideas to the terminal.

[2632] Step 8:

[2633] The terminal displays the proposed project ideas for the user to review.

[2634] Study plan suggestions

[2635] Step 1:

[2636] The user sends his / her skill level as "intermediate" to the server from the terminal.

[2637] Step 2:

[2638] The terminal transmits the skill level information to the server.

[2639] Step 3:

[2640] The server receives the skill level information and queries the emotion engine for the user's current emotional state.

[2641] Step 4:

[2642] The server (emotion engine) analyzes the user's emotional state and generates emotion tags.

[2643] Step 5:

[2644] The server sends the skill level information and emotion tags to the learning plan suggestion system.

[2645] Step 6:

[2646] The server (study plan suggestion system) extracts study plans for intermediate learners from a study plan database and adjusts the content and pace based on emotion tags.

[2647] Step 7:

[2648] The server transmits the extracted study plan to the terminal.

[2649] Step 8:

[2650] The device displays the proposed lesson plan for the user to review.

[2651] Community platform provider

[2652] Step 1:

[2653] A user posts a message to the community platform from a terminal.

[2654] Step 2:

[2655] The terminal sends the posted message to the server.

[2656] Step 3:

[2657] The server sends the message to the emotion engine, which generates an emotion tag.

[2658] Step 4:

[2659] The server stores the messages and emotion tags in a community database.

[2660] Step 5:

[2661] Other users can open the community platform from their devices to view all messages.

[2662] Step 6:

[2663] The server extracts all messages from the database and adds supporting messages as needed based on the emotion tags.

[2664] Step 7:

[2665] The device displays all messages and allows users to communicate and receive support.

[2666] Job hunting and career change support

[2667] Step 1:

[2668] The user sends his / her skill level as "beginner" to the server from the terminal.

[2669] Step 2:

[2670] The terminal transmits the skill level information to the server.

[2671] Step 3:

[2672] The server receives the skill level information and queries the emotion engine for the user's current emotional state.

[2673] Step 4:

[2674] The server (emotion engine) analyzes the user's emotional state and generates emotion tags.

[2675] Step 5:

[2676] The server sends the skill level information and emotion tag to the job-hunting and career change support system.

[2677] Step 6:

[2678] The server (employment and career change support system) extracts job information for beginners from a job information database and adjusts the content and messages based on emotion tags.

[2679] Step 7:

[2680] The server transmits the extracted job information to the terminal.

[2681] Step 8:

[2682] The terminal displays the proposed job information for the user to review.

[2683] Example 2

[2684] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[2685] Programming learners face a wide range of challenges, including the questions and errors they encounter during their studies, creating learning plans tailored to their skill level, proposing appropriate projects, promoting communication among learners, and providing support for finding employment or changing jobs. Responding quickly and appropriately to these challenges is difficult, and emotional support, in particular, is lacking. The purpose of this invention is to provide a system that comprehensively solves these challenges and enables learners to progress effectively in their studies.

[2686] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[2687] In this invention, the server includes a question answering means using generative AI, a project suggestion means based on the user's skill level information, and a study plan suggestion means, which allows for quick answers to the user's questions and errors, and suggests appropriate projects and study plans according to the user's skill level, thereby enabling more efficient and effective support for learning.

[2688] "Generative AI" is an AI technology that automatically generates answers to questions posed by users.

[2689] The "question answering means" is a means for accepting questions from users and generating and providing appropriate answers.

[2690] The "project proposal means" is a means for generating and providing appropriate project ideas based on the user's skill level.

[2691] The "study plan suggestion means" is a means for suggesting an optimal study plan according to the user's progress and skill level.

[2692] "Platform provision means" refers to a means of providing an online platform to promote communication between learners.

[2693] "Employment and career change support tools" are tools that suggest appropriate job information based on the user's skill level and support employment and career changes.

[2694] An "emotion engine" is a technology that recognizes emotions from user input and behavior and provides appropriate support based on that.

[2695] A "server" is a computer system that analyzes input data from a user and generates appropriate processing and results.

[2696] A "terminal" is a device through which a user inputs information, communicates with a server, and receives and displays the processing results.

[2697] MODE FOR CARRYING OUT THE INVENTION

[2698] This invention is a programming learning support system that provides comprehensive support to programming learners, including assistance with questions and errors they encounter during their learning process, planning based on their learning progress, project suggestions, and even employment and career change support. This system is equipped with functions such as question answering using generative artificial intelligence, project suggestions based on the user's skill level, study plan suggestions, a platform that promotes communication between users, and employment and career change support. Furthermore, by incorporating an emotion engine, appropriate support is provided according to the user's emotional state.

[2699] composition

[2700] The system includes the following main measures:

[2701] 1. Question-answering method using generative artificial intelligence

[2702] 2. Project proposal method based on user skill level

[2703] 3. A method for suggesting learning plans based on learning progress

[2704] 4. Providing a platform to promote communication between learners

[2705] 5. Job-hunting and career change support based on user skill level

[2706] 6. Support provision method using an emotion engine to recognize user emotions

[2707] Hardware and software used

[2708] The server performs processes such as tokenizing questions, natural language processing, answer generation, and decoding. The software used for this includes generative arti...

Claims

1. A question-answering means using generative artificial intelligence; A project proposal method that matches the learner's skill level, A means for proposing a learning plan according to the learner's progress; A means of providing a platform to promote communication between learners; Employment and career change support measures based on the learner's skill level, A system including:

2. The system according to claim 1, wherein the generation artificial intelligence accepts questions from learners and performs tokenization, natural language processing, answer generation, and decoding.

3. 2. The system according to claim 1, wherein the project suggesting means generates and provides appropriate project ideas based on the learner's skill level information.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A