system
A system using generative AI generates customized programming lessons based on user input, addressing the challenge of accessing tailored learning materials, enhancing learning efficiency and motivation.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-10-01
- Publication Date
- 2026-04-13
AI Technical Summary
Beginners face difficulty in accessing appropriate learning methods and teaching materials tailored to their individual levels for programming, leading to frustration and reduced motivation.
A system that allows users to input desired program learning content, utilizing generative artificial intelligence to generate customized lesson content, including program code and explanations, and deliver it via a web application.
Enables users to efficiently learn programming with lessons tailored to their level and interests, maintaining motivation through personalized and optimized content generation.
Smart Images

Figure 2026063719000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In recent years, with the development of information technology, the demand for programming has been rapidly increasing. However, there is a problem that many beginners who want to learn programming have difficulty accessing appropriate learning methods and teaching materials suitable for themselves. Due to this problem, many beginners may be frustrated while having the motivation to learn. Therefore, there is a need for a system that provides programming lessons that are easy to use and customized according to the individual levels of users.
Means for Solving the Problems
[0005] The present invention solves the above problem by providing a system that includes means for a user to input desired program learning content, generative artificial intelligence means for generating customized lesson content based on the inputted preferences, and means for providing the user with the lesson content generated by the generative artificial intelligence means. In this system, the user can input desired learning content via a web application. Based on this input, the generative artificial intelligence means generates lesson content including appropriate program code and its explanation, and provides it to the user. As a result, the user can easily receive learning content tailored to their level and learn programming efficiently.
[0006] A "user" is an individual or group that wishes to use this system to take programming lessons.
[0007] "Means for inputting desired program learning content" refers to a method that provides users with a way to input the specific programming content they wish to learn, and is generally provided through a web application.
[0008] "Generative artificial intelligence means" refers to artificial intelligence technology for generating customized lesson content, including program code and its explanation, based on user input.
[0009] "Means for providing lesson content" refers to providing a method for delivering lesson content generated by generative artificial intelligence to users. [Brief explanation of the drawing]
[0010] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3]This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] This is a sequence diagram showing the processing flow of the data processing system in Example 2, which incorporates an emotion engine. [Figure 14] This is a sequence diagram showing the processing flow of the data processing system in Application Example 2, which combines an emotion engine. [Modes for carrying out the invention]
[0011] Hereinafter, an example of an embodiment of the system relating to the technology of this disclosure will be described with reference to the attached drawings.
[0012] First, let's explain the terminology used in the following explanation.
[0013] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0014] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0015] In the following embodiments, the numbered storage is one or more non-volatile storage devices that store various programs and various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes, and the like.
[0016] In the following embodiments, the numbered communication I / F (Interface) is an interface including a communication processor and 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), or Bluetooth (registered trademark), and the like.
[0017] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0018] [First Embodiment]
[0019] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0020] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0021] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0022] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0023] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0024] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0025] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0026] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0027] As shown in Figure 2, in the data processing device 12, a specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0028] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0029] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0030] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0031] This invention relates to a system in which a user inputs their desired programming learning content, and a generative artificial intelligence generates customized lesson content based on that input, which is then provided to the user. A specific embodiment of this system is described below.
[0032] First, the user inputs what they want to learn via a web application. When the user presses the "Submit" button, their device sends the input to the server. The server receives this input and sends a request to a generative artificial intelligence (AI). The AI analyzes the request and generates program code and its explanation based on the user's wishes.
[0033] For example, if a user inputs the desire to "learn basic Python data types," the generative artificial intelligence will generate program code and explanations related to basic Python data types (integers, floating-point numbers, strings, and lists). The generated content is then returned from the server to the user's terminal and displayed to the user.
[0034] As a concrete example, consider a scenario where a user wants to learn about Python data types. Generative artificial intelligence would generate the following:
[0035] First, as an example of basic Python data types, the following content is generated.
[0036] integer type
[0037] Assign an integer to a variable and display its value.
[0038] Floating-point type
[0039] Assign a floating-point number to a variable and display its value.
[0040] string type
[0041] Assign a string to a variable and display its value.
[0042] List type
[0043] Assign a list to a variable and display its contents.
[0044] In addition, detailed explanations of these codes are generated, describing the characteristics and usage of each data type.
[0045] In this way, users can efficiently learn programming through concrete code examples and detailed explanations. This invention allows users to easily receive customized lessons tailored to their level and learning goals, enabling them to maintain a continuous motivation to learn.
[0046] The following describes the processing flow.
[0047] Step 1:
[0048] The user accesses a form in the web application and enters the programming topic they want to learn. For example, they might enter, "I want to learn the basic data types in Python."
[0049] Step 2:
[0050] When the user completes the input and presses the "Submit" button, an HTTP request is sent from the device to the server. This request contains the user's preferences.
[0051] Step 3:
[0052] The server receives an HTTP request and parses the request data. Through this analysis, it extracts the user's desired information.
[0053] Step 4:
[0054] Based on the extracted preferences, the server creates a request to the generative artificial intelligence to generate lesson content. The request is in the format of, "Please generate a lesson about basic Python data types."
[0055] Step 5:
[0056] Generative artificial intelligence receives requests from a server and generates customized program code and explanations based on the user's preferences. For example, it can create code and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0057] Step 6:
[0058] The generative artificial intelligence returns the generated lesson content to the server. This content includes the program code and a detailed explanation of it.
[0059] Step 7:
[0060] The server sends the lesson content received from the generative artificial intelligence to the user's terminal as an HTTP response.
[0061] Step 8:
[0062] The terminal receives a response from the server and displays the lesson content in a web browser. The user reviews the displayed program code and explanations and proceeds with their learning.
[0063] In this way, through a series of steps, users can easily receive lessons tailored to their desired program learning content.
[0064] (Example 1)
[0065] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0066] Traditional programming learning systems make it difficult for users to receive customized lessons tailored to their learning progress and interests. Furthermore, there is a lack of efficient systems for quickly generating and delivering content that meets individual learning needs. As a result, users struggle to learn programming efficiently and maintain their motivation.
[0067] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0068] In this invention, the server includes means for inputting the program learning content desired by the user, generative artificial intelligence means for generating customized lesson content based on the input preferences, and means for providing the lesson content generated by the generative artificial intelligence means to the user via the server. This makes it possible for the user to quickly receive customized lessons that match their learning progress and interests.
[0069] A "user" is an individual or group that inputs programming learning content and receives the generated lesson content.
[0070] "Programming learning content" refers to specific programming topics or themes that the user wants to learn.
[0071] An "input method" is an interface for providing the system with the program learning content that the user desires.
[0072] A "web application" is a software application that enables data communication between a user and a server over the internet.
[0073] "Generative artificial intelligence" refers to an artificial intelligence model that automatically generates customized programming lesson content based on the user's preferences.
[0074] "Lesson content" refers to programming code and its explanation generated by generative artificial intelligence for the user to learn from.
[0075] A "server" is a computer system that receives input from a user and sends requests to a generative artificial intelligence.
[0076] "Means of delivery" refers to the series of processes in which the server sends the generated lesson content back to the user, and the user's terminal displays it.
[0077] This invention is a system in which a user inputs their desired programming learning content via a web application, and a generative artificial intelligence generates customized lesson content based on that input and provides it to the user. The following describes specific embodiments for implementing the invention.
[0078] Hardware and software configuration
[0079] The system uses the following hardware and software:
[0080] User terminal: A device used by the user to submit input and receive generated lesson content. This includes PCs, smartphones, and tablets.
[0081] Server: An intermediate computer that receives requests from user terminals and sends those requests to generative artificial intelligence. This includes "web servers" and "database servers."
[0082] Generative artificial intelligence: An artificial intelligence model that generates customized programming lesson content based on the user's preferences. Here, a generative AI model such as "OpenAI® GPT-3®" is used as an example.
[0083] Web application: Software that provides an interface for users to input learning content and view generated lesson content. Examples include "React" and "Angular".
[0084] Data processing and data calculation workflow
[0085] The user enters the programming content they want to learn on the web application. For example, they might enter the following:
[0086] "I want to learn the basic data types in Python."
[0087] When the user presses the "Submit" button, the device sends this input to the server. The server receives an HTTP request, and the request body contains data such as the following:
[0088] {
[0089] "request_content": "I want to learn basic Python data types."
[0090] }
[0091] The server analyzes the input data and sends a request containing a prompt to the generative artificial intelligence:
[0092] "I'd like to learn about basic data types in Python. Please provide specific code examples and explanations."
[0093] The generative artificial intelligence analyzes this prompt and generates customized programming code and its explanation that corresponds to the user's request. The generated content may include, for example:
[0094] Examples of integer types in Python
[0095] Examples of floating-point numbers
[0096] Examples of string types
[0097] List type example
[0098] The server receives the results generated by the generative artificial intelligence and sends this data back to the user's terminal. The user's terminal receives the data and displays it on a web application. The user can then take their desired programming lesson based on the displayed content.
[0099] Specific example
[0100] If a user enters "I want to learn basic Python data types" into the web application, the system will send the following prompt to the generative artificial intelligence:
[0101] "I'd like to learn about basic data types in Python. Please provide specific code examples and explanations."
[0102] Generative artificial intelligence generates and provides users with code examples and explanations of basic Python data types. For example, it includes detailed explanations for integer, floating-point, string, and list types. This allows users to learn efficiently through concrete code and its explanations.
[0103] In this way, users can easily and quickly obtain customized programming learning content tailored to their level and interests.
[0104] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0105] Step 1:
[0106] The user inputs the programming content they want to learn through the web application interface. For example, the user might type "I want to learn the basic data types in Python" into the input field and click the submit button. This input is sent to the server as an HTTP request through the browser.
[0107] Input: The learning objectives entered by the user in the web application (e.g., "I want to learn basic Python data types").
[0108] Output: Input data sent to the server as an HTTP request
[0109] Step 2:
[0110] The server processes the HTTP request received from the user's terminal and extracts the user's input from the request body. For example, the request body may contain JSON data like the following:
[0111] json
[0112] {
[0113] "request_content": "I want to learn basic Python data types."
[0114] }
[0115] The server analyzes this data and generates prompt messages to send to the generative artificial intelligence.
[0116] Input: HTTP request received from user terminal
[0117] Output: Prompt message to send to the generative AI ("I would like to learn about basic Python data types. Please provide specific code examples and explanations.")
[0118] Step 3:
[0119] The server sends an HTTP POST request containing the generated prompt to the generative artificial intelligence. This prompt specifically describes what the user wants to learn.
[0120] Input: Prompt text for generative artificial intelligence
[0121] Output: HTTP POST request sent to a generative artificial intelligence system
[0122] Step 4:
[0123] Generative artificial intelligence receives a prompt and performs analysis. Based on the prompt, it generates customized learning content (specific program code and its explanation). For example, the generated content includes examples related to basic Python data types (integer types, floating-point types, string types, and list types).
[0124] Input: Prompt sent to a generative AI
[0125] Output: Generated customized learning content (specific program code and its explanation)
[0126] Step 5:
[0127] Generative artificial intelligence sends the generated learning content back to the server. The server receives this generated content and prepares it as data to be sent back to the user's terminal. Specifically, it converts the generated content into JSON format and sends it back to the user's terminal as an HTTP response.
[0128] Input: Generated content sent back to the server from the generative artificial intelligence.
[0129] Output: Generated content sent from the server to the user's terminal as an HTTP response.
[0130] Step 6:
[0131] The terminal parses the HTTP response received from the server and displays the generated learning content to the user on the web application. Through this displayed content, the user can take their desired programming lesson. Specifically, the generated Python code and its explanation are displayed on the web page.
[0132] Input: HTTP response received from the server
[0133] Output: Customized learning content displayed on the web application
[0134] Through the steps described above, this system can quickly and accurately provide users with the programming learning content they desire.
[0135] (Application Example 1)
[0136] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0137] In today's world, while programming is an important skill, the learning needs and objectives of individual users are diverse. Traditional programming learning methods often provide uniform content, making it difficult to effectively learn specific application functions or systems. Furthermore, there is a lack of methods to quickly provide customized lessons tailored to the user's needs, which makes it difficult to maintain user motivation.
[0138] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0139] In this invention, the server includes means for inputting program learning content desired by the user, generative artificial intelligence means for generating customized lesson content based on the input preferences, means for providing the lesson content generated by the generative artificial intelligence means to the user, and means for the generative artificial intelligence means to generate program code and its explanation corresponding to a specific application function. This makes it possible for the user to efficiently acquire program learning content specialized for a specific application function of their choice.
[0140] A "user" is an individual or group that wants to use the system to learn programming.
[0141] "Program learning content" refers to information and skills related to specific programs that the user wishes to learn.
[0142] "Input means" refers to an interface or device used by a user to input their desired program learning content into the system.
[0143] "Generative artificial intelligence means" refers to a system or software that uses artificial intelligence technology to generate customized lesson content based on input preferences.
[0144] "Means of delivery" refers to a part of a system that has methods and functions for presenting the generated lesson content to the user.
[0145] "Specific application features" refer to program functions or code snippets required for a particular purpose or application.
[0146] "Program code" refers to a series of program instructions or statements used to implement a specific application function.
[0147] A "mobile application" refers to a program that runs on mobile devices such as smartphones and tablets.
[0148] A "web application" refers to a program that operates via the internet.
[0149] "Explanation" refers to the description and instructional content regarding the generated program code and its purpose.
[0150] This invention relates to a system in which a user inputs their desired program learning content, and a generative artificial intelligence generates customized lesson content based on that input and provides it to the user. A specific embodiment for realizing this system is described below.
[0151] First, users input information about the program they wish to learn via a mobile or web application. The interface provided for input is designed to be intuitive and easy for users to use. For example, text boxes and selection menus are available.
[0152] When the user presses the "Submit" button, the user's device sends the input to the server. The server analyzes this input and sends a request to a generative artificial intelligence system. This request includes the specific program learning content desired by the user.
[0153] The generative artificial intelligence system analyzes the request content and generates program code and its explanation based on the user's wishes. For example, if a user inputs "I want to learn about shopping cart functionality using API integration," the generative AI will generate the relevant program code and a detailed explanation. The generated content is then returned from the server to the user's terminal and displayed to the user.
[0154] In this context, specific technologies used in generative artificial intelligence include large-scale language models such as the OpenAI API. This model has the ability to perform advanced natural language processing based on user input and generate optimal program code and its detailed explanation.
[0155] The server sends the generated program code and explanations to the user's terminal, allowing the user to receive customized lessons tailored to their learning needs. This process enables users to efficiently learn programming specialized in specific application functions.
[0156] As a concrete example, if a user enters "I want to learn how to create a REST API using Django," an example of the generated prompt message would be as follows:
[0157] Example of a prompt:
[0158] The user entered "I want to learn how to create a REST API using Django." Please generate the relevant Python code and a detailed explanation.
[0159] The program code generated based on this prompt and its explanation are provided to the user's terminal, allowing the user to gain a practical learning experience.
[0160] In this way, the present invention enables users to efficiently acquire program learning content specialized for specific application functions they desire.
[0161] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0162] Step 1:
[0163] Users input information about the program they want to learn into a mobile or web application. Specifically, users use text boxes or selection menus as elements to enter information such as, "I want to learn how to create a REST API using Django." The input is temporarily stored in the user's device before submission.
[0164] Step 2:
[0165] When the user presses the "Submit" button, the input content is sent from the user's terminal to the server. At this time, the input content is passed to the server in the form of an HTTP request, and the server receives the request. The input data includes the user's learning preferences.
[0166] Step 3:
[0167] The server analyzes the received input and sends a request to the appropriate generative artificial intelligence (AI) system. Specifically, it sends a request to the API endpoint of a generative AI system (e.g., OpenAI GPT-3) based on the input. This request includes detailed information about what the user wants to learn.
[0168] Step 4:
[0169] The generative artificial intelligence system analyzes the received input and generates program code and a detailed explanation that meets the user's requirements. The AI performs natural language processing to analyze the input and applies a program code generation algorithm. The generated results (program code and explanation) are returned to the server as an API response.
[0170] Step 5:
[0171] The server receives the generated results returned by the generative artificial intelligence system and sends that data back to the user terminal. The output data here includes the program code and its explanation. This is sent to the user terminal as an HTTP response.
[0172] Step 6:
[0173] The user terminal displays the generation results received from the server. This display includes the generated program code and its explanation, and the user begins learning by viewing it. Specifically, the program code and explanation are displayed in text format on the user terminal screen.
[0174] Through this series of processes, users can receive customized program learning content tailored to their learning needs. The flow from generating appropriate output for input to displaying it on the device is clearly shown.
[0175] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0176] This invention provides a system in which a user inputs their desired programming learning content, a generative artificial intelligence generates customized lesson content based on that input, and then combines this with an emotion engine that recognizes the user's emotions to deliver the content to the user. A specific embodiment of this system is described below.
[0177] First, the user accesses a form in the web application and enters the programming topic they want to learn. They can enter specific details such as, "I want to learn the basic data types in Python." When the user presses the "Submit" button, the terminal sends the entered information to the server.
[0178] The server receives the HTTP request and parses the request data. Through this analysis, the user's preferences are extracted. Based on these preferences, the server creates a request to a generative artificial intelligence to generate lesson content. This request is in the format of "Please generate a lesson about basic Python data types."
[0179] Next, the generative artificial intelligence receives a request from the server and generates customized program code and its explanation based on the user's wishes. For example, it can generate specific code and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0180] After the generated lesson content is returned to the server, the server works with the emotion engine to analyze the user's emotional state. The emotion engine recognizes emotions from the user's facial expressions, voice, or text input. Based on this analysis, the difficulty level and level of detail of the lesson content are adjusted. For example, if the user shows a confused expression, the generative AI can add more detailed explanations.
[0181] As a concrete example, consider a scenario where a user wants to learn about Python data types. Generative artificial intelligence generates code examples and explanations for basic Python data types (integers, floating-point numbers, strings, and lists). If the emotion engine detects signs of confusion from the user's facial expressions, additional explanations and examples are generated and provided to the user.
[0182] For example, if the user is confused, the generative AI might generate additional explanations such as: "A list is a data type that can store multiple values together. For example, when creating a list of numbers, you would write it as [1, 2, 3, 4, 5]. Each element can be accessed based on its position within the list."
[0183] As described above, users receive the generated program code and explanations, and can easily learn lesson content optimized according to their emotional state. This invention allows users to receive customized lessons tailored to their level and learning goals, improving not only learning efficiency but also maintaining motivation.
[0184] The following describes the processing flow.
[0185] Step 1:
[0186] The user accesses a form in the web application and enters the programming topic they want to learn. For example, they might enter, "I want to learn the basic data types in Python."
[0187] Step 2:
[0188] The user completes the input and presses the "Submit" button. This sends an HTTP request from the device to the server. This request contains the user's requests.
[0189] Step 3:
[0190] The server receives an HTTP request and parses the request data. Through this analysis, it extracts the learning content desired by the user.
[0191] Step 4:
[0192] Based on the extracted preferences, the server creates a request to a generative artificial intelligence system to generate lesson content. The request is in the format of "Please generate a lesson about basic Python data types."
[0193] Step 5:
[0194] Generative artificial intelligence receives requests from a server and generates program code and explanations based on the user's requests. For example, it can create code and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0195] Step 6:
[0196] The generative artificial intelligence returns the generated lesson content to the server. This content includes the program code and a detailed explanation of it.
[0197] Step 7:
[0198] The server receives the lesson content from the generative artificial intelligence. At the same time, it activates the emotion engine and analyzes the user's emotional state.
[0199] Step 8:
[0200] The emotion engine recognizes emotions based on the user's facial expressions, voice, or text input. For example, it might analyze facial expressions through the user's webcam or voice tone through their microphone.
[0201] Step 9:
[0202] The server receives analysis results from the emotion engine and adjusts the difficulty level of the lesson content and the level of detail in the explanations according to the user's emotional state. For example, if the user is confused, it adds more detailed yet simpler explanations.
[0203] Step 10:
[0204] The adjusted lesson content is then sent back to the user's device from the server. This includes customized program code and commentary optimized for the user's emotional state.
[0205] Step 11:
[0206] The terminal receives a response from the server and displays its contents in a web browser. The user can then review the displayed program code and explanations to continue their learning.
[0207] In this way, the present invention is a system that improves learning efficiency and maintains the user's motivation to learn by providing programming lessons optimized based on the user's preferences and emotional state.
[0208] (Example 2)
[0209] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0210] Traditional programming learning systems have struggled to provide customized lesson content tailored to users' learning needs. Furthermore, they were unable to adjust lesson content to accommodate users' emotional states, failing to adequately improve learning effectiveness and motivation.
[0211] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for inputting program learning content desired by the user, generative artificial intelligence means for generating customized lesson content based on the input desires, means for providing the lesson content generated by the generative artificial intelligence means to the user, emotion analysis means for analyzing the user's emotional state, and means for adjusting the lesson content based on the analysis results of the emotion analysis means. This enables customized lessons tailored to the user's learning desires and optimization through emotional feedback.
[0212] A "user" is someone who uses this system to learn programming.
[0213] "Programming learning content" refers to specific programming themes and topics that the user wishes to learn.
[0214] An "input method" refers to a means of providing an interface for users to input their desired program learning content.
[0215] A "generative artificial intelligence method" is a method that uses artificial intelligence to generate customized lesson content based on the user's input preferences.
[0216] "Customized lesson content" refers to learning content that is individually tailored to the user's preferences and level.
[0217] "Means of delivery" refers to the means of displaying or communicating the generated lesson content to the user.
[0218] "Emotional analysis means" refers to a method for detecting a user's emotional state by analyzing their facial expressions, voice, or text input.
[0219] "Adjustment means" refers to means for appropriately modifying or refining lesson content based on the analysis results of the emotion analysis means.
[0220] This invention is a system in which a user inputs their desired program learning content, a generative artificial intelligence generates customized lesson content based on that input, and then combines this with an emotion engine that recognizes the user's emotions to provide the user with the customized lesson content. A specific embodiment of this system is described below.
[0221] First, the user can access a form in the web application and enter the programming content they want to learn. For example, they can enter specific details such as "I want to learn the basic data types of Python." When the user presses the "Submit" button, the terminal sends the entered content to the server. The server receives this data as an HTTP request through the HTML form.
[0222] The server first parses this HTTP request and extracts the user's preferences. Programming languages such as Python and JavaScript are used for this parsing. Based on the extracted preferences, the server creates a request to the AI model to generate lesson content. A specific request might be in the format of "Please generate a lesson about basic Python data types."
[0223] The generation AI model receives requests from the server and generates customized program code and explanations based on the user's preferences. For example, it can generate specific code examples and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0224] After the generated lesson content is returned to the server, the server processes it in conjunction with the emotion engine. The emotion engine recognizes emotions from the user's facial expressions, voice, or text input. Based on this analysis, the difficulty level and level of detail of the lesson content are automatically adjusted. For example, if the user shows a confused expression, the generative AI model can generate more detailed explanations or additional examples based on the emotion analysis results.
[0225] As a concrete example, consider a scenario where a user wants to learn about Python data types. The generative AI model generates code examples and explanations for basic Python data types (integers, floating-point numbers, strings, and lists). If the emotion engine detects signs of confusion from the user's facial expressions, further explanations and additional examples are generated and provided to the user.
[0226] An example of a prompt would be "Generate a lesson on basic Python data types."
[0227] As described above, users can easily learn the generated program code and explanations, receiving lesson content optimized according to their emotional state. This system allows users to receive customized lessons tailored to their level and learning goals, improving learning efficiency and maintaining motivation.
[0228] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0229] Step 1:
[0230] The user accesses a form in a web application and enters the programming topic they want to learn. Specifically, they might enter "I want to learn the basic data types of Python" and press the submit button. At this point, the information the user enters is sent from the web browser to their device. The input data includes text describing the learning topic.
[0231] Step 2:
[0232] The terminal sends the user's input to the server as an HTTP request. The input here is the text of the learning request entered by the user, and the output is an HTTP request containing that text. Specifically, the terminal creates this request and sends it to the server.
[0233] Step 3:
[0234] The server receives HTTP requests sent from the terminal and parses the data. It analyzes the received request data as input and extracts the user's desired information. The analysis results provide specific programming content the user wants to learn (e.g., information about Python data types). As a concrete example, the request data is parsed using Python or JavaScript code, and the necessary information is extracted.
[0235] Step 4:
[0236] The server creates a request to the generating AI model to generate lesson content based on the user's preferences. For example, it might request the generating AI model to "generate a lesson about basic Python data types." The input data is the user's preferences, and the output data is the prompt sent to the generating AI model.
[0237] Step 5:
[0238] The generative AI model receives requests from the server and generates customized lesson content based on the specified information. It uses prompts received from the server as input and generates specific lesson content (e.g., code examples and explanations about Python data types) as output. The generated lesson content is returned to the server in JSON format.
[0239] Step 6:
[0240] The server analyzes the lesson content received from the generative AI model and sends it to the emotion engine. The input data is the lesson content returned by the generative AI model, and the output data is the analysis request sent to the emotion engine. Specifically, the server converts this lesson content into a data format for emotion analysis and provides it to the emotion engine.
[0241] Step 7:
[0242] The emotion engine analyzes the user's facial expressions, voice, and text input to detect their emotional state. It uses real-time user response data as input and outputs analysis results. For example, the emotion engine detects metrics such as feelings of confusion or comprehension, and returns the results to the server.
[0243] Step 8:
[0244] The server requests the generative AI model to adjust the lesson content based on the analysis results from the emotion engine. The input data is the analysis results from the emotion engine, and the output data is the adjustment request sent to the generative AI model. For example, it might give specific instructions such as, "The user is confused, so please add more detailed explanations."
[0245] Step 9:
[0246] The generative AI model generates further refined lesson content based on the analysis results of the emotion engine. It uses refinement requests from the server as input and regenerates the detailed lesson content as output. For example, it generates lesson content that includes more examples and diagrams in addition to specific code explanations.
[0247] Step 10:
[0248] The server receives the final lesson content and provides it to the user. The input data is the adjusted lesson content returned by the generating AI model, and the output data is the learning content displayed to the user. The user can review the optimized lesson through the web application and proceed with their learning.
[0249] In this way, the system of the present invention can smoothly perform a series of processes from inputting the user's learning content to providing lessons.
[0250] (Application Example 2)
[0251] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0252] Traditional programmed learning systems have struggled to provide appropriate lesson content tailored to the individual needs and emotional states of users. In particular, when users encountered difficulties, the system could not recognize their emotions in real time and take immediate, appropriate measures, resulting in decreased learning efficiency.
[0253] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0254] In this invention, the server includes means for inputting the program learning content desired by the user; generative artificial intelligence means for generating customized lesson content based on the input preferences; means for providing the lesson content generated by the generative artificial intelligence means to the user; and emotion recognition means for recognizing the user's emotions and adjusting the difficulty level and detail of the lesson content. This makes it possible to provide highly customized lesson content to the user's learning needs, detect and respond in real time to confusion and difficulties during learning, and provide an optimal learning experience.
[0255] "A means for users to input the program learning content they wish to study" refers to an interface for users to input the content or topics of the program they wish to learn. This includes web applications and mobile device applications.
[0256] "Generative artificial intelligence means" refers to artificial intelligence technology that generates customized lesson content and program code based on the learning content input by the user.
[0257] "Means of providing lesson content to the user" refers to an interface for providing the generated lesson content to the user visually or audibly. This includes the use of displays and speakers.
[0258] "Emotion recognition means" refers to technology that recognizes the user's emotional state and adjusts lesson content based on that information. This involves determining the user's emotions through methods such as facial expression recognition, voice analysis, and text analysis.
[0259] A "web application" is application software that can be accessed by users via the internet. It runs on a web browser.
[0260] A "mobile device application" is application software that runs on mobile devices such as smartphones and tablets.
[0261] "Program code" is a set of statements or instructions written in a specific programming language. This code represents instructions for action to be given to a computer.
[0262] A "prompt" is an instruction or question that a generative artificial intelligence needs to perform a specific task. This allows the AI to generate appropriate content.
[0263] This invention is a system in which a user inputs their desired program learning content, a generative artificial intelligence generates customized lesson content based on that input, and then combines this with emotion recognition means to recognize the user's emotions and provides it to the user.
[0264] First, the user accesses a form in a web application or mobile device application and enters the program content they want to learn. When the user presses the "Submit" button, the device sends the input to the server. The server receives the HTTP request and parses the request data. Through this parsing, the user's preferences are extracted. Based on these preferences, the server creates a request to a generative artificial intelligence to generate lesson content. For example, it might create a prompt message such as, "Please generate a lesson on the basics of e-wallets."
[0265] Generative artificial intelligence receives requests from the server and generates customized program code and explanations based on the user's preferences. For example, it can generate detailed explanations on the basic concepts, operation methods, and security measures of electronic wallets. After the generated lesson content is returned to the server, the server analyzes the user's emotional state using emotion recognition. Emotion recognition recognizes emotions from the user's facial expressions, voice, or text input. Based on this analysis, the difficulty level and level of detail of the lesson content are adjusted.
[0266] The server sends further requests to the generative AI as needed, asking it to generate additional explanations and examples. For example, if the user shows a confused expression, the generative AI will add more detailed explanations. It might generate something like, "A list is a data type that can store multiple values together. For example, when creating a list of numbers, you would write it as [1, 2, 3, 4, 5]. Each element can be accessed based on its position in the list."
[0267] As described above, this system can provide highly customized lesson content tailored to the user's learning needs. By combining it with emotion recognition, it can detect confusion and difficulties during learning in real time and take appropriate countermeasures. As a result, users can progress through the program learning efficiently and effectively.
[0268] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0269] Step 1:
[0270] Users input the program content they wish to learn through a web application or mobile device application. The input is sent from the device to the server. The input is the desired learning content, and the output is the request data sent to the server.
[0271] Step 2:
[0272] The server receives an HTTP request and parses the request data. This parsing process extracts the user's preferences. The input is the request data sent in step 1, and the output is the extracted preferences.
[0273] Step 3:
[0274] The server creates a request to a generative artificial intelligence (AI) based on the extracted preferences, asking it to generate lesson content. Specifically, it generates a prompt such as, "Please generate a lesson about the basics of e-wallets." The input is the preferences, and the output is the prompt.
[0275] Step 4:
[0276] The generative artificial intelligence receives a request from the server and generates customized program code and its explanation based on the user's preferences. The generated lesson content is returned to the server. The input is a prompt statement, and the output is the generated lesson content.
[0277] Step 5:
[0278] The server provides the generated lesson content to the user in conjunction with an emotion recognition system. The emotion recognition system recognizes the user's emotions from their facial expressions, voice, or text input, and feeds the results back to the server. The input is the user's emotion data, and the output is the analyzed emotional state.
[0279] Step 6:
[0280] Based on feedback from the emotion recognition system, the server sends further requests to the generative artificial intelligence as needed, asking it to generate additional explanations or examples. The input is the analyzed emotional state, and the output is the adjusted lesson content.
[0281] Step 7:
[0282] The adjusted lesson content is sent from the server to the terminal and provided to the user. The user then proceeds with their learning based on this content. The input is the adjusted lesson content, and the output is the final learning content provided to the user.
[0283] In this way, the system allows users to effectively learn lesson content customized to their own learning needs.
[0284] 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 voice indicating a user input with respect to the result of the specific processing. The control unit 46A transmits voice 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 voice data.
[0285] The data generation model 58 is a so-called generative AI (Artificial Intelligence). As an example of the data generation model 58, ChatGPT (registered trademark) (Internet search <URL: https: / / openai.com / blog / chatgpt>), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">)Generative AIs such as the above can be mentioned. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including instructions is input into 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 input. The data generation model 58 infers the input inference data according to the instructions 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, etc.
[0286] In the above embodiment, an example form in which specific processing is performed by the data processing device 12 is given, but the technology of the present disclosure is not limited to this, and specific processing may be performed by the smart device 14.
[0287] [Second Embodiment]
[0288] FIG. 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0289] As shown in FIG. 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0290] 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 the "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. Also, the database 24 and the communication I / F 26 are connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network), etc.
[0291] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0292] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0293] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0294] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0295] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0296] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0297] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0298] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0299] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0300] This invention relates to a system in which a user inputs their desired programming learning content, and a generative artificial intelligence generates customized lesson content based on that input, which is then provided to the user. A specific embodiment of this system is described below.
[0301] First, the user inputs what they want to learn via a web application. When the user presses the "Submit" button, their device sends the input to the server. The server receives this input and sends a request to a generative artificial intelligence (AI). The AI analyzes the request and generates program code and its explanation based on the user's wishes.
[0302] For example, when the user inputs a desire to "learn the basic data types in Python", the generative artificial intelligence generates program code related to the basic data types in Python (integers, floating-point numbers, strings, lists) and an explanation thereof. The generated content is returned from the server to the user's terminal again and displayed to the user.
[0303] As a specific example, consider the scenario when the user desires to learn about Python data types. The generative artificial intelligence generates the following content.
[0304] First, as examples of the basic data types in Python, the following content is generated.
[0305] Integer type
[0306] Assign an integer to a variable and display its value.
[0307] Floating-point type
[0308] Assign a floating-point number to a variable and display its value.
[0309] String type
[0310] Assign a string to a variable and display its value.
[0311] List type
[0312] Assign a list to a variable and display its content.
[0313] In addition to this, detailed explanations for these codes are generated, and the characteristics and usage methods of each data type are explained.
[0314] In this way, users can efficiently learn programming through concrete code examples and detailed explanations. This invention allows users to easily receive customized lessons tailored to their level and learning goals, enabling them to maintain a continuous motivation to learn.
[0315] The following describes the processing flow.
[0316] Step 1:
[0317] The user accesses a form in the web application and enters the programming topic they want to learn. For example, they might enter, "I want to learn the basic data types in Python."
[0318] Step 2:
[0319] When the user completes the input and presses the "Submit" button, an HTTP request is sent from the device to the server. This request contains the user's preferences.
[0320] Step 3:
[0321] The server receives an HTTP request and parses the request data. Through this analysis, it extracts the user's desired information.
[0322] Step 4:
[0323] Based on the extracted preferences, the server creates a request to the generative artificial intelligence to generate lesson content. The request is in the format of, "Please generate a lesson about basic Python data types."
[0324] Step 5:
[0325] Generative artificial intelligence receives requests from a server and generates customized program code and explanations based on the user's preferences. For example, it can create code and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0326] Step 6:
[0327] The generative artificial intelligence returns the generated lesson content to the server. This content includes the program code and a detailed explanation of it.
[0328] Step 7:
[0329] The server sends the lesson content received from the generative artificial intelligence to the user's terminal as an HTTP response.
[0330] Step 8:
[0331] The terminal receives a response from the server and displays the lesson content in a web browser. The user reviews the displayed program code and explanations and proceeds with their learning.
[0332] In this way, through a series of steps, users can easily receive lessons tailored to their desired program learning content.
[0333] (Example 1)
[0334] Next, we will describe Example 1. 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."
[0335] Traditional programming learning systems make it difficult for users to receive customized lessons tailored to their learning progress and interests. Furthermore, there is a lack of efficient systems for quickly generating and delivering content that meets individual learning needs. As a result, users struggle to learn programming efficiently and maintain their motivation.
[0336] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0337] In this invention, the server includes means for inputting the program learning content desired by the user, generative artificial intelligence means for generating customized lesson content based on the input preferences, and means for providing the lesson content generated by the generative artificial intelligence means to the user via the server. This makes it possible for the user to quickly receive customized lessons that match their learning progress and interests.
[0338] A "user" is an individual or group that inputs programming learning content and receives the generated lesson content.
[0339] "Programming learning content" refers to specific programming topics or themes that the user wants to learn.
[0340] An "input method" is an interface for providing the system with the program learning content that the user desires.
[0341] A "web application" is a software application that enables data communication between a user and a server over the internet.
[0342] "Generative artificial intelligence" refers to an artificial intelligence model that automatically generates customized programming lesson content based on the user's preferences.
[0343] "Lesson content" refers to programming code and its explanation generated by generative artificial intelligence for the user to learn from.
[0344] A "server" is a computer system that receives input from a user and sends requests to a generative artificial intelligence.
[0345] "Means of delivery" refers to the series of processes in which the server sends the generated lesson content back to the user, and the user's terminal displays it.
[0346] This invention is a system in which a user inputs their desired programming learning content via a web application, and a generative artificial intelligence generates customized lesson content based on that input and provides it to the user. The following describes specific embodiments for implementing the invention.
[0347] Hardware and software configuration
[0348] The system uses the following hardware and software:
[0349] User terminal: A device used by the user to submit input and receive generated lesson content. This includes PCs, smartphones, and tablets.
[0350] Server: An intermediate computer that receives requests from user terminals and sends those requests to generative artificial intelligence. This includes "web servers" and "database servers."
[0351] Generative artificial intelligence: An artificial intelligence model that generates customized programming lesson content based on the user's preferences. Here, a generative AI model such as "OpenAI GPT-3" is used as an example.
[0352] Web application: Software that provides an interface for users to input learning content and view generated lesson content. Examples include "React" and "Angular".
[0353] Data processing and data calculation workflow
[0354] The user enters the programming content they want to learn on the web application. For example, they might enter the following:
[0355] "I want to learn the basic data types in Python."
[0356] When the user presses the "Submit" button, the device sends this input to the server. The server receives an HTTP request, and the request body contains data such as the following:
[0357] {
[0358] "request_content": "I want to learn basic Python data types."
[0359] }
[0360] The server analyzes the input data and sends a request containing a prompt to the generative artificial intelligence:
[0361] "I'd like to learn about basic data types in Python. Please provide specific code examples and explanations."
[0362] The generative artificial intelligence analyzes this prompt and generates customized programming code and its explanation that corresponds to the user's request. The generated content may include, for example:
[0363] Examples of integer types in Python
[0364] Examples of floating-point numbers
[0365] Examples of string types
[0366] List type example
[0367] The server receives the results generated by the generative artificial intelligence and sends this data back to the user's terminal. The user's terminal receives the data and displays it on a web application. The user can then take their desired programming lesson based on the displayed content.
[0368] Specific example
[0369] If a user enters "I want to learn basic Python data types" into the web application, the system will send the following prompt to the generative artificial intelligence:
[0370] "I'd like to learn about basic data types in Python. Please provide specific code examples and explanations."
[0371] Generative artificial intelligence generates and provides users with code examples and explanations of basic Python data types. For example, it includes detailed explanations for integer, floating-point, string, and list types. This allows users to learn efficiently through concrete code and its explanations.
[0372] In this way, users can easily and quickly obtain customized programming learning content tailored to their level and interests.
[0373] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0374] Step 1:
[0375] The user inputs the programming content they want to learn through the web application interface. For example, the user might type "I want to learn the basic data types in Python" into the input field and click the submit button. This input is sent to the server as an HTTP request through the browser.
[0376] Input: The learning objectives entered by the user in the web application (e.g., "I want to learn basic Python data types").
[0377] Output: Input data sent to the server as an HTTP request
[0378] Step 2:
[0379] The server processes the HTTP request received from the user's terminal and extracts the user's input from the request body. For example, the request body may contain JSON data like the following:
[0380] json
[0381] {
[0382] "request_content": "I want to learn basic Python data types."
[0383] }
[0384] The server analyzes this data and generates prompt messages to send to the generative artificial intelligence.
[0385] Input: HTTP request received from user terminal
[0386] Output: Prompt message to send to the generative AI ("I would like to learn about basic Python data types. Please provide specific code examples and explanations.")
[0387] Step 3:
[0388] The server sends an HTTP POST request containing the generated prompt to the generative artificial intelligence. This prompt specifically describes what the user wants to learn.
[0389] Input: Prompt text for generative artificial intelligence
[0390] Output: HTTP POST request sent to a generative artificial intelligence system
[0391] Step 4:
[0392] Generative artificial intelligence receives a prompt and performs analysis. Based on the prompt, it generates customized learning content (specific program code and its explanation). For example, the generated content includes examples related to basic Python data types (integer types, floating-point types, string types, and list types).
[0393] Input: Prompt sent to a generative AI
[0394] Output: Generated customized learning content (specific program code and its explanation)
[0395] Step 5:
[0396] Generative artificial intelligence sends the generated learning content back to the server. The server receives this generated content and prepares it as data to be sent back to the user's terminal. Specifically, it converts the generated content into JSON format and sends it back to the user's terminal as an HTTP response.
[0397] Input: Generated content sent back to the server from the generative artificial intelligence.
[0398] Output: Generated content sent from the server to the user's terminal as an HTTP response.
[0399] Step 6:
[0400] The terminal parses the HTTP response received from the server and displays the generated learning content to the user on the web application. Through this displayed content, the user can take their desired programming lesson. Specifically, the generated Python code and its explanation are displayed on the web page.
[0401] Input: HTTP response received from the server
[0402] Output: Customized learning content displayed on the web application
[0403] Through the steps described above, this system can quickly and accurately provide users with the programming learning content they desire.
[0404] (Application Example 1)
[0405] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0406] In today's world, while programming is an important skill, the learning needs and objectives of individual users are diverse. Traditional programming learning methods often provide uniform content, making it difficult to effectively learn specific application functions or systems. Furthermore, there is a lack of methods to quickly provide customized lessons tailored to the user's needs, which makes it difficult to maintain user motivation.
[0407] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0408] In this invention, the server includes means for inputting program learning content desired by the user, generative artificial intelligence means for generating customized lesson content based on the input preferences, means for providing the lesson content generated by the generative artificial intelligence means to the user, and means for the generative artificial intelligence means to generate program code and its explanation corresponding to a specific application function. This makes it possible for the user to efficiently acquire program learning content specialized for a specific application function of their choice.
[0409] A "user" is an individual or group that wants to use the system to learn programming.
[0410] "Program learning content" refers to information and skills related to specific programs that the user wishes to learn.
[0411] "Input means" refers to an interface or device used by a user to input their desired program learning content into the system.
[0412] "Generative artificial intelligence means" refers to a system or software that uses artificial intelligence technology to generate customized lesson content based on input preferences.
[0413] "Means of delivery" refers to a part of a system that has methods and functions for presenting the generated lesson content to the user.
[0414] "Specific application features" refer to program functions or code snippets required for a particular purpose or application.
[0415] "Program code" refers to a series of program instructions or statements used to implement a specific application function.
[0416] A "mobile application" refers to a program that runs on mobile devices such as smartphones and tablets.
[0417] A "web application" refers to a program that operates via the internet.
[0418] "Explanation" refers to the description and instructional content regarding the generated program code and its purpose.
[0419] This invention relates to a system in which a user inputs their desired program learning content, and a generative artificial intelligence generates customized lesson content based on that input and provides it to the user. A specific embodiment for realizing this system is described below.
[0420] First, users input information about the program they wish to learn via a mobile or web application. The interface provided for input is designed to be intuitive and easy for users to use. For example, text boxes and selection menus are available.
[0421] When the user presses the "Submit" button, the user's device sends the input to the server. The server analyzes this input and sends a request to a generative artificial intelligence system. This request includes the specific program learning content desired by the user.
[0422] The generative artificial intelligence system analyzes the request content and generates program code and its explanation based on the user's wishes. For example, if a user inputs "I want to learn about shopping cart functionality using API integration," the generative AI will generate the relevant program code and a detailed explanation. The generated content is then returned from the server to the user's terminal and displayed to the user.
[0423] In this context, specific generative artificial intelligence techniques utilize large-scale language models such as the OpenAI API. These models possess the ability to perform advanced natural language processing based on user input, generating optimal program code and its detailed explanation.
[0424] The server sends the generated program code and explanations to the user's terminal, allowing the user to receive customized lessons tailored to their learning needs. This process enables users to efficiently learn programming specialized in specific application functions.
[0425] As a concrete example, if a user enters "I want to learn how to create a REST API using Django," an example of the generated prompt message would be as follows:
[0426] Example of a prompt:
[0427] The user entered "I want to learn how to create a REST API using Django." Please generate the relevant Python code and a detailed explanation.
[0428] The program code generated based on this prompt and its explanation are provided to the user's terminal, allowing the user to gain a practical learning experience.
[0429] In this way, the present invention enables users to efficiently acquire program learning content specialized for specific application functions they desire.
[0430] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0431] Step 1:
[0432] Users input information about the program they want to learn into a mobile or web application. Specifically, users use text boxes or selection menus as elements to enter information such as, "I want to learn how to create a REST API using Django." The input is temporarily stored in the user's device before submission.
[0433] Step 2:
[0434] When the user presses the "Submit" button, the input content is sent from the user's terminal to the server. At this time, the input content is passed to the server in the form of an HTTP request, and the server receives the request. The input data includes the user's learning preferences.
[0435] Step 3:
[0436] The server analyzes the received input and sends a request to the appropriate generative artificial intelligence (AI) system. Specifically, it sends a request to the API endpoint of a generative AI system (e.g., OpenAI GPT-3) based on the input. This request includes detailed information about what the user wants to learn.
[0437] Step 4:
[0438] The generative artificial intelligence system analyzes the received input and generates program code and a detailed explanation that meets the user's requirements. The AI performs natural language processing to analyze the input and applies a program code generation algorithm. The generated results (program code and explanation) are returned to the server as an API response.
[0439] Step 5:
[0440] The server receives the generated results returned by the generative artificial intelligence system and sends that data back to the user terminal. The output data here includes the program code and its explanation. This is sent to the user terminal as an HTTP response.
[0441] Step 6:
[0442] The user terminal displays the generated results received from the server. This display includes the generated program code and its explanation, and the user begins learning by viewing it. Specifically, the program code and explanation are displayed in text format on the user terminal screen.
[0443] Through this series of processes, users can receive customized program learning content tailored to their learning needs. The flow from generating appropriate output for input to displaying it on the terminal is clearly shown.
[0444] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0445] This invention provides a system in which a user inputs their desired programming learning content, a generative artificial intelligence generates customized lesson content based on that input, and then combines this with an emotion engine that recognizes the user's emotions to deliver the content to the user. A specific embodiment of this system is described below.
[0446] First, the user accesses a form in the web application and enters the programming topic they want to learn. They can enter specific details such as, "I want to learn the basic data types in Python." When the user presses the "Submit" button, the terminal sends the entered information to the server.
[0447] The server receives the HTTP request and parses the request data. Through this analysis, the user's preferences are extracted. Based on these preferences, the server creates a request to a generative artificial intelligence to generate lesson content. This request is in the format of "Please generate a lesson about basic Python data types."
[0448] Next, the generative artificial intelligence receives a request from the server and generates customized program code and its explanation based on the user's wishes. For example, it can generate specific code and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0449] After the generated lesson content is returned to the server, the server works with the emotion engine to analyze the user's emotional state. The emotion engine recognizes emotions from the user's facial expressions, voice, or text input. Based on this analysis, the difficulty level and level of detail of the lesson content are adjusted. For example, if the user shows a confused expression, the generative AI can add more detailed explanations.
[0450] As a concrete example, consider a scenario where a user wants to learn about Python data types. Generative artificial intelligence generates code examples and explanations for basic Python data types (integers, floating-point numbers, strings, and lists). If the emotion engine detects signs of confusion from the user's facial expressions, additional explanations and examples are generated and provided to the user.
[0451] For example, if the user is confused, the generative AI might generate additional explanations such as: "A list is a data type that can store multiple values together. For example, when creating a list of numbers, you would write it as [1, 2, 3, 4, 5]. Each element can be accessed based on its position within the list."
[0452] As described above, users receive the generated program code and explanations, and can easily learn lesson content optimized according to their emotional state. This invention allows users to receive customized lessons tailored to their level and learning goals, improving not only learning efficiency but also maintaining motivation.
[0453] The following describes the processing flow.
[0454] Step 1:
[0455] The user accesses a form in the web application and enters the programming topic they want to learn. For example, they might enter, "I want to learn the basic data types in Python."
[0456] Step 2:
[0457] The user completes the input and presses the "Submit" button. This sends an HTTP request from the device to the server. This request contains the user's requests.
[0458] Step 3:
[0459] The server receives an HTTP request and parses the request data. Through this analysis, it extracts the learning content desired by the user.
[0460] Step 4:
[0461] Based on the extracted preferences, the server creates a request to a generative artificial intelligence system to generate lesson content. The request is in the format of "Please generate a lesson about basic Python data types."
[0462] Step 5:
[0463] Generative artificial intelligence receives requests from a server and generates program code and explanations based on the user's requests. For example, it can create code and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0464] Step 6:
[0465] The generative artificial intelligence returns the generated lesson content to the server. This content includes the program code and a detailed explanation of it.
[0466] Step 7:
[0467] The server receives the lesson content from the generative artificial intelligence. At the same time, it activates the emotion engine and analyzes the user's emotional state.
[0468] Step 8:
[0469] The emotion engine recognizes emotions based on the user's facial expressions, voice, or text input. For example, it might analyze facial expressions through the user's webcam or voice tone through their microphone.
[0470] Step 9:
[0471] The server receives analysis results from the emotion engine and adjusts the difficulty level of the lesson content and the level of detail in the explanations according to the user's emotional state. For example, if the user is confused, it adds more detailed yet simpler explanations.
[0472] Step 10:
[0473] The adjusted lesson content is then sent back to the user's device from the server. This includes customized program code and commentary optimized for the user's emotional state.
[0474] Step 11:
[0475] The terminal receives a response from the server and displays its contents in a web browser. The user can then review the displayed program code and explanations to continue their learning.
[0476] In this way, the present invention is a system that improves learning efficiency and maintains the user's motivation to learn by providing programming lessons optimized based on the user's preferences and emotional state.
[0477] (Example 2)
[0478] Next, we will describe Example 2. 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".
[0479] Traditional programming learning systems have struggled to provide customized lesson content tailored to users' learning needs. Furthermore, they were unable to adjust lesson content to accommodate users' emotional states, failing to adequately improve learning effectiveness and motivation.
[0480] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for inputting program learning content desired by the user, generative artificial intelligence means for generating customized lesson content based on the input desires, means for providing the lesson content generated by the generative artificial intelligence means to the user, emotion analysis means for analyzing the user's emotional state, and means for adjusting the lesson content based on the analysis results of the emotion analysis means. This enables customized lessons tailored to the user's learning desires and optimization through emotional feedback.
[0481] A "user" is someone who uses this system to learn programming.
[0482] "Programming learning content" refers to specific programming themes and topics that the user wishes to learn.
[0483] An "input method" refers to a means of providing an interface for users to input their desired program learning content.
[0484] A "generative artificial intelligence method" is a method that uses artificial intelligence to generate customized lesson content based on the user's input preferences.
[0485] "Customized lesson content" refers to learning content that is individually tailored to the user's preferences and level.
[0486] "Means of delivery" refers to the means of displaying or communicating the generated lesson content to the user.
[0487] "Emotional analysis means" refers to a method for detecting a user's emotional state by analyzing their facial expressions, voice, or text input.
[0488] "Adjustment means" refers to means for appropriately modifying or refining lesson content based on the analysis results of the emotion analysis means.
[0489] This invention provides a system in which a user inputs their desired program learning content, a generative artificial intelligence generates customized lesson content based on that input, and then combines this with an emotion engine that recognizes the user's emotions to deliver the content to the user. A specific embodiment of this system is described below.
[0490] First, the user can access a form in the web application and enter the programming content they want to learn. For example, they can enter specific details such as "I want to learn the basic data types of Python." When the user presses the "Submit" button, the terminal sends the entered content to the server. The server receives this data as an HTTP request through the HTML form.
[0491] The server first parses this HTTP request and extracts the user's preferences. Programming languages such as Python and JavaScript are used for this parsing. Based on the extracted preferences, the server creates a request to the AI model to generate lesson content. A specific request might be in the format of "Please generate a lesson about basic Python data types."
[0492] The generation AI model receives requests from the server and generates customized program code and explanations based on the user's preferences. For example, it can generate specific code examples and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0493] After the generated lesson content is returned to the server, the server processes it in conjunction with the emotion engine. The emotion engine recognizes emotions from the user's facial expressions, voice, or text input. Based on this analysis, the difficulty level and level of detail of the lesson content are automatically adjusted. For example, if the user shows a confused expression, the generative AI model can generate more detailed explanations or additional examples based on the emotion analysis results.
[0494] As a concrete example, consider a scenario where a user wants to learn about Python data types. The generative AI model generates code examples and explanations for basic Python data types (integers, floating-point numbers, strings, and lists). If the emotion engine detects signs of confusion from the user's facial expressions, further explanations and additional examples are generated and provided to the user.
[0495] An example of a prompt would be "Generate a lesson on basic Python data types."
[0496] As described above, users can easily learn the generated program code and explanations, receiving lesson content optimized according to their emotional state. This system allows users to receive customized lessons tailored to their level and learning goals, improving learning efficiency and maintaining motivation.
[0497] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0498] Step 1:
[0499] The user accesses a form in a web application and enters the programming topic they want to learn. Specifically, they might enter "I want to learn the basic data types of Python" and press the submit button. At this point, the information the user enters is sent from the web browser to their device. The input data includes text describing the learning topic.
[0500] Step 2:
[0501] The terminal sends the user's input to the server as an HTTP request. The input here is the text of the learning request entered by the user, and the output is an HTTP request containing that text. Specifically, the terminal creates this request and sends it to the server.
[0502] Step 3:
[0503] The server receives HTTP requests sent from the terminal and parses the data. It analyzes the received request data as input and extracts the user's desired information. The analysis results provide specific programming content the user wants to learn (e.g., information about Python data types). As a concrete example, the request data is parsed using Python or JavaScript code, and the necessary information is extracted.
[0504] Step 4:
[0505] The server creates a request to the generating AI model to generate lesson content based on the user's preferences. For example, it might request the generating AI model to "generate a lesson about basic Python data types." The input data is the user's preferences, and the output data is the prompt sent to the generating AI model.
[0506] Step 5:
[0507] The generative AI model receives requests from the server and generates customized lesson content based on the specified information. It uses prompts received from the server as input and generates specific lesson content (e.g., code examples and explanations about Python data types) as output. The generated lesson content is returned to the server in JSON format.
[0508] Step 6:
[0509] The server analyzes the lesson content received from the generative AI model and sends it to the emotion engine. The input data is the lesson content returned by the generative AI model, and the output data is the analysis request sent to the emotion engine. Specifically, the server converts this lesson content into a data format for emotion analysis and provides it to the emotion engine.
[0510] Step 7:
[0511] The emotion engine analyzes the user's facial expressions, voice, and text input to detect their emotional state. It uses real-time user response data as input and outputs analysis results. For example, the emotion engine detects metrics such as feelings of confusion or comprehension, and returns the results to the server.
[0512] Step 8:
[0513] The server requests the generative AI model to adjust the lesson content based on the analysis results from the emotion engine. The input data is the analysis results from the emotion engine, and the output data is the adjustment request sent to the generative AI model. For example, it might give specific instructions such as, "The user is confused, so please add more detailed explanations."
[0514] Step 9:
[0515] The generative AI model generates further refined lesson content based on the analysis results of the emotion engine. It uses refinement requests from the server as input and regenerates the detailed lesson content as output. For example, it generates lesson content that includes more examples and diagrams in addition to specific code explanations.
[0516] Step 10:
[0517] The server receives the final lesson content and provides it to the user. The input data is the adjusted lesson content returned by the generating AI model, and the output data is the learning content displayed to the user. The user can review the optimized lesson through the web application and proceed with their learning.
[0518] In this way, the system of the present invention can smoothly perform a series of processes from inputting the user's learning content to providing lessons.
[0519] (Application Example 2)
[0520] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0521] Traditional programmed learning systems have struggled to provide appropriate lesson content tailored to the individual needs and emotional states of users. In particular, when users encountered difficulties, the system could not recognize their emotions in real time and take immediate, appropriate measures, resulting in decreased learning efficiency.
[0522] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0523] In this invention, the server includes means for inputting the program learning content desired by the user; generative artificial intelligence means for generating customized lesson content based on the input preferences; means for providing the lesson content generated by the generative artificial intelligence means to the user; and emotion recognition means for recognizing the user's emotions and adjusting the difficulty level and detail of the lesson content. This makes it possible to provide highly customized lesson content to the user's learning needs, detect and respond in real time to confusion and difficulties during learning, and provide an optimal learning experience.
[0524] "A means for users to input the program learning content they wish to study" refers to an interface for users to input the content or topics of the program they wish to learn. This includes web applications and mobile device applications.
[0525] "Generative artificial intelligence means" refers to artificial intelligence technology that generates customized lesson content and program code based on the learning content input by the user.
[0526] "Means of providing lesson content to the user" refers to an interface for providing the generated lesson content to the user visually or audibly. This includes the use of displays and speakers.
[0527] "Emotion recognition means" refers to technology that recognizes the user's emotional state and adjusts lesson content based on that information. This involves determining the user's emotions through methods such as facial expression recognition, voice analysis, and text analysis.
[0528] A "web application" is application software that can be accessed by users via the internet. It runs on a web browser.
[0529] A "mobile device application" is application software that runs on mobile devices such as smartphones and tablets.
[0530] "Program code" is a set of statements or instructions written in a specific programming language. This code represents instructions for action to be given to a computer.
[0531] A "prompt" is an instruction or question that a generative artificial intelligence needs to perform a specific task. This allows the AI to generate appropriate content.
[0532] This invention is a system in which a user inputs their desired program learning content, a generative artificial intelligence generates customized lesson content based on that input, and then combines this with emotion recognition means to recognize the user's emotions and provides it to the user.
[0533] First, the user accesses a form in a web application or mobile device application and enters the program content they want to learn. When the user presses the "Submit" button, the device sends the input to the server. The server receives the HTTP request and parses the request data. Through this parsing, the user's preferences are extracted. Based on these preferences, the server creates a request to a generative artificial intelligence to generate lesson content. For example, it might create a prompt message such as, "Please generate a lesson on the basics of e-wallets."
[0534] Generative artificial intelligence receives requests from the server and generates customized program code and explanations based on the user's preferences. For example, it can generate detailed explanations on the basic concepts, operation methods, and security measures of electronic wallets. After the generated lesson content is returned to the server, the server analyzes the user's emotional state using emotion recognition. Emotion recognition recognizes emotions from the user's facial expressions, voice, or text input. Based on this analysis, the difficulty level and level of detail of the lesson content are adjusted.
[0535] The server sends further requests to the generative AI as needed, asking it to generate additional explanations and examples. For example, if the user shows a confused expression, the generative AI will add more detailed explanations. It might generate something like, "A list is a data type that can store multiple values together. For example, when creating a list of numbers, you would write it as [1, 2, 3, 4, 5]. Each element can be accessed based on its position in the list."
[0536] As described above, this system can provide highly customized lesson content tailored to the user's learning needs. By combining it with emotion recognition, it can detect confusion and difficulties during learning in real time and take appropriate countermeasures. As a result, users can progress through the program learning efficiently and effectively.
[0537] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0538] Step 1:
[0539] Users input the program content they wish to learn through a web application or mobile device application. The input is sent from the device to the server. The input is the desired learning content, and the output is the request data sent to the server.
[0540] Step 2:
[0541] The server receives an HTTP request and parses the request data. This parsing process extracts the user's preferences. The input is the request data sent in step 1, and the output is the extracted preferences.
[0542] Step 3:
[0543] The server creates a request to a generative artificial intelligence (AI) based on the extracted preferences, asking it to generate lesson content. Specifically, it generates a prompt such as, "Please generate a lesson about the basics of e-wallets." The input is the preferences, and the output is the prompt.
[0544] Step 4:
[0545] The generative artificial intelligence receives a request from the server and generates customized program code and its explanation based on the user's preferences. The generated lesson content is returned to the server. The input is a prompt statement, and the output is the generated lesson content.
[0546] Step 5:
[0547] The server provides the generated lesson content to the user in conjunction with an emotion recognition system. The emotion recognition system recognizes the user's emotions from their facial expressions, voice, or text input, and feeds the results back to the server. The input is the user's emotion data, and the output is the analyzed emotional state.
[0548] Step 6:
[0549] Based on feedback from the emotion recognition system, the server sends further requests to the generative artificial intelligence as needed, asking it to generate additional explanations or examples. The input is the analyzed emotional state, and the output is the adjusted lesson content.
[0550] Step 7:
[0551] The adjusted lesson content is sent from the server to the terminal and provided to the user. The user then proceeds with their learning based on this content. The input is the adjusted lesson content, and the output is the final learning content provided to the user.
[0552] In this way, the system allows users to effectively learn lesson content customized to their own learning needs.
[0553] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0554] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0555] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0556] [Third Embodiment]
[0557] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0558] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0559] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0560] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0561] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0562] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0563] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0564] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0565] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0566] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0567] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0568] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0569] This invention relates to a system in which a user inputs their desired programming learning content, and a generative artificial intelligence generates customized lesson content based on that input, which is then provided to the user. A specific embodiment of this system is described below.
[0570] First, the user inputs what they want to learn via a web application. When the user presses the "Submit" button, their device sends the input to the server. The server receives this input and sends a request to a generative artificial intelligence (AI). The AI analyzes the request and generates program code and its explanation based on the user's wishes.
[0571] For example, if a user inputs the desire to "learn basic Python data types," the generative artificial intelligence will generate program code and explanations related to basic Python data types (integers, floating-point numbers, strings, and lists). The generated content is then returned from the server to the user's terminal and displayed to the user.
[0572] As a concrete example, consider a scenario where a user wants to learn about Python data types. Generative artificial intelligence would generate the following:
[0573] First, as an example of basic Python data types, the following content is generated.
[0574] integer type
[0575] Assign an integer to a variable and display its value.
[0576] Floating-point type
[0577] Assign a floating-point number to a variable and display its value.
[0578] string type
[0579] Assign a string to a variable and display its value.
[0580] List type
[0581] Assign a list to a variable and display its contents.
[0582] In addition, detailed explanations of these codes are generated, describing the characteristics and usage of each data type.
[0583] In this way, users can efficiently learn programming through concrete code examples and detailed explanations. This invention allows users to easily receive customized lessons tailored to their level and learning goals, enabling them to maintain a continuous motivation to learn.
[0584] The following describes the processing flow.
[0585] Step 1:
[0586] The user accesses a form in the web application and enters the programming topic they want to learn. For example, they might enter, "I want to learn the basic data types in Python."
[0587] Step 2:
[0588] When the user completes the input and presses the "Submit" button, an HTTP request is sent from the device to the server. This request contains the user's preferences.
[0589] Step 3:
[0590] The server receives an HTTP request and parses the request data. Through this analysis, it extracts the user's desired information.
[0591] Step 4:
[0592] Based on the extracted preferences, the server creates a request to the generative artificial intelligence to generate lesson content. The request is in the format of, "Please generate a lesson about basic Python data types."
[0593] Step 5:
[0594] Generative artificial intelligence receives requests from a server and generates customized program code and explanations based on the user's preferences. For example, it can create code and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0595] Step 6:
[0596] The generative artificial intelligence returns the generated lesson content to the server. This content includes the program code and a detailed explanation of it.
[0597] Step 7:
[0598] The server sends the lesson content received from the generative artificial intelligence to the user's terminal as an HTTP response.
[0599] Step 8:
[0600] The terminal receives a response from the server and displays the lesson content in a web browser. The user reviews the displayed program code and explanations and proceeds with their learning.
[0601] In this way, through a series of steps, users can easily receive lessons tailored to their desired program learning content.
[0602] (Example 1)
[0603] Next, we will describe Example 1. 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."
[0604] Traditional programming learning systems make it difficult for users to receive customized lessons tailored to their learning progress and interests. Furthermore, there is a lack of efficient systems for quickly generating and delivering content that meets individual learning needs. As a result, users struggle to learn programming efficiently and maintain their motivation.
[0605] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0606] In this invention, the server includes means for inputting the program learning content desired by the user, generative artificial intelligence means for generating customized lesson content based on the input preferences, and means for providing the lesson content generated by the generative artificial intelligence means to the user via the server. This makes it possible for the user to quickly receive customized lessons that match their learning progress and interests.
[0607] A "user" is an individual or group that inputs programming learning content and receives the generated lesson content.
[0608] "Programming learning content" refers to specific programming topics or themes that the user wants to learn.
[0609] An "input method" is an interface for providing the system with the program learning content that the user desires.
[0610] A "web application" is a software application that enables data communication between a user and a server over the internet.
[0611] "Generative artificial intelligence" refers to an artificial intelligence model that automatically generates customized programming lesson content based on the user's preferences.
[0612] "Lesson content" refers to programming code and its explanation generated by generative artificial intelligence for the user to learn from.
[0613] A "server" is a computer system that receives input from a user and sends requests to a generative artificial intelligence.
[0614] "Means of delivery" refers to the series of processes in which the server sends the generated lesson content back to the user, and the user's terminal displays it.
[0615] This invention is a system in which a user inputs their desired programming learning content via a web application, and a generative artificial intelligence generates customized lesson content based on that input and provides it to the user. The following describes specific embodiments for implementing the invention.
[0616] Hardware and software configuration
[0617] The system uses the following hardware and software:
[0618] User terminal: A device used by the user to submit input and receive generated lesson content. This includes PCs, smartphones, and tablets.
[0619] Server: An intermediate computer that receives requests from user terminals and sends those requests to generative artificial intelligence. This includes "web servers" and "database servers."
[0620] Generative artificial intelligence: An artificial intelligence model that generates customized programming lesson content based on the user's preferences. Here, a generative AI model such as "OpenAI GPT-3" is used as an example.
[0621] Web application: Software that provides an interface for users to input learning content and view generated lesson content. Examples include "React" and "Angular".
[0622] Data processing and data calculation workflow
[0623] The user enters the programming content they want to learn on the web application. For example, they might enter the following:
[0624] "I want to learn the basic data types in Python."
[0625] When the user presses the "Submit" button, the device sends this input to the server. The server receives an HTTP request, and the request body contains data such as the following:
[0626] {
[0627] "request_content": "I want to learn basic Python data types."
[0628] }
[0629] The server analyzes the input data and sends a request containing a prompt to the generative artificial intelligence:
[0630] "I'd like to learn about basic data types in Python. Please provide specific code examples and explanations."
[0631] The generative artificial intelligence analyzes this prompt and generates customized programming code and its explanation that corresponds to the user's request. The generated content may include, for example:
[0632] Examples of integer types in Python
[0633] Examples of floating-point numbers
[0634] Examples of string types
[0635] List type example
[0636] The server receives the results generated by the generative artificial intelligence and sends this data back to the user's terminal. The user's terminal receives the data and displays it on a web application. The user can then take their desired programming lesson based on the displayed content.
[0637] Specific example
[0638] If a user enters "I want to learn basic Python data types" into the web application, the system will send the following prompt to the generative artificial intelligence:
[0639] "I'd like to learn about basic data types in Python. Please provide specific code examples and explanations."
[0640] Generative artificial intelligence generates and provides users with code examples and explanations of basic Python data types. For example, it includes detailed explanations for integer, floating-point, string, and list types. This allows users to learn efficiently through concrete code and its explanations.
[0641] In this way, users can easily and quickly obtain customized programming learning content tailored to their level and interests.
[0642] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0643] Step 1:
[0644] The user inputs the programming content they want to learn through the web application interface. For example, the user might type "I want to learn the basic data types in Python" into the input field and click the submit button. This input is sent to the server as an HTTP request through the browser.
[0645] Input: The learning objectives entered by the user in the web application (e.g., "I want to learn basic Python data types").
[0646] Output: Input data sent to the server as an HTTP request
[0647] Step 2:
[0648] The server processes the HTTP request received from the user's terminal and extracts the user's input from the request body. For example, the request body may contain JSON data like the following:
[0649] json
[0650] {
[0651] "request_content": "I want to learn basic Python data types."
[0652] }
[0653] The server analyzes this data and generates prompt messages to send to the generative artificial intelligence.
[0654] Input: HTTP request received from user terminal
[0655] Output: Prompt message to send to the generative AI ("I would like to learn about basic Python data types. Please provide specific code examples and explanations.")
[0656] Step 3:
[0657] The server sends an HTTP POST request containing the generated prompt to the generative artificial intelligence. This prompt specifically describes what the user wants to learn.
[0658] Input: Prompt text for generative artificial intelligence
[0659] Output: HTTP POST request sent to a generative artificial intelligence system
[0660] Step 4:
[0661] Generative artificial intelligence receives a prompt and performs analysis. Based on the prompt, it generates customized learning content (specific program code and its explanation). For example, the generated content includes examples related to basic Python data types (integer types, floating-point types, string types, and list types).
[0662] Input: Prompt sent to a generative AI
[0663] Output: Generated customized learning content (specific program code and its explanation)
[0664] Step 5:
[0665] Generative artificial intelligence sends the generated learning content back to the server. The server receives this generated content and prepares it as data to be sent back to the user's terminal. Specifically, it converts the generated content into JSON format and sends it back to the user's terminal as an HTTP response.
[0666] Input: Generated content sent back to the server from the generative artificial intelligence.
[0667] Output: Generated content sent from the server to the user's terminal as an HTTP response.
[0668] Step 6:
[0669] The terminal parses the HTTP response received from the server and displays the generated learning content to the user on the web application. Through this displayed content, the user can take their desired programming lesson. Specifically, the generated Python code and its explanation are displayed on the web page.
[0670] Input: HTTP response received from the server
[0671] Output: Customized learning content displayed on the web application
[0672] Through the steps described above, this system can quickly and accurately provide users with the programming learning content they desire.
[0673] (Application Example 1)
[0674] Next, we will explain Application Example 1. In the following explanation, 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."
[0675] In today's world, while programming is an important skill, the learning needs and objectives of individual users are diverse. Traditional programming learning methods often provide uniform content, making it difficult to effectively learn specific application functions or systems. Furthermore, there is a lack of methods to quickly provide customized lessons tailored to the user's needs, which makes it difficult to maintain user motivation.
[0676] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0677] In this invention, the server includes means for inputting program learning content desired by the user, generative artificial intelligence means for generating customized lesson content based on the input preferences, means for providing the lesson content generated by the generative artificial intelligence means to the user, and means for the generative artificial intelligence means to generate program code and its explanation corresponding to a specific application function. This makes it possible for the user to efficiently acquire program learning content specialized for a specific application function of their choice.
[0678] A "user" is an individual or group that wants to use the system to learn programming.
[0679] "Program learning content" refers to information and skills related to specific programs that the user wishes to learn.
[0680] "Input means" refers to an interface or device used by a user to input their desired program learning content into the system.
[0681] "Generative artificial intelligence means" refers to a system or software that uses artificial intelligence technology to generate customized lesson content based on input preferences.
[0682] "Means of delivery" refers to a part of a system that has methods and functions for presenting the generated lesson content to the user.
[0683] "Specific application features" refer to program functions or code snippets required for a particular purpose or application.
[0684] "Program code" refers to a series of program instructions or statements used to implement a specific application function.
[0685] A "mobile application" refers to a program that runs on mobile devices such as smartphones and tablets.
[0686] A "web application" refers to a program that operates via the internet.
[0687] "Explanation" refers to the description and instructional content regarding the generated program code and its purpose.
[0688] This invention relates to a system in which a user inputs their desired program learning content, and a generative artificial intelligence generates customized lesson content based on that input and provides it to the user. A specific embodiment for realizing this system is described below.
[0689] First, users input information about the program they wish to learn via a mobile or web application. The interface provided for input is designed to be intuitive and easy for users to use. For example, text boxes and selection menus are available.
[0690] When the user presses the "Submit" button, the user's device sends the input to the server. The server analyzes this input and sends a request to a generative artificial intelligence system. This request includes the specific program learning content desired by the user.
[0691] The generative artificial intelligence system analyzes the request content and generates program code and its explanation based on the user's wishes. For example, if a user inputs "I want to learn about shopping cart functionality using API integration," the generative AI will generate the relevant program code and a detailed explanation. The generated content is then returned from the server to the user's terminal and displayed to the user.
[0692] In this context, specific generative artificial intelligence techniques utilize large-scale language models such as the OpenAI API. These models possess the ability to perform advanced natural language processing based on user input, generating optimal program code and its detailed explanation.
[0693] The server sends the generated program code and explanations to the user's terminal, allowing the user to receive customized lessons tailored to their learning needs. This process enables users to efficiently learn programming specialized in specific application functions.
[0694] As a concrete example, if a user enters "I want to learn how to create a REST API using Django," an example of the generated prompt message would be as follows:
[0695] Example of a prompt:
[0696] The user entered "I want to learn how to create a REST API using Django." Please generate the relevant Python code and a detailed explanation.
[0697] The program code generated based on this prompt and its explanation are provided to the user's terminal, allowing the user to gain a practical learning experience.
[0698] In this way, the present invention enables users to efficiently acquire program learning content specialized for specific application functions they desire.
[0699] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0700] Step 1:
[0701] Users input information about the program they want to learn into a mobile or web application. Specifically, users use text boxes or selection menus as elements to enter information such as, "I want to learn how to create a REST API using Django." The input is temporarily stored in the user's device before submission.
[0702] Step 2:
[0703] When the user presses the "Submit" button, the input content is sent from the user's terminal to the server. At this time, the input content is passed to the server in the form of an HTTP request, and the server receives the request. The input data includes the user's learning preferences.
[0704] Step 3:
[0705] The server analyzes the received input and sends a request to the appropriate generative artificial intelligence (AI) system. Specifically, it sends a request to the API endpoint of a generative AI system (e.g., OpenAI GPT-3) based on the input. This request includes detailed information about what the user wants to learn.
[0706] Step 4:
[0707] The generative artificial intelligence system analyzes the received input and generates program code and a detailed explanation that meets the user's requirements. The AI performs natural language processing to analyze the input and applies a program code generation algorithm. The generated results (program code and explanation) are returned to the server as an API response.
[0708] Step 5:
[0709] The server receives the generated results returned by the generative artificial intelligence system and sends that data back to the user terminal. The output data here includes the program code and its explanation. This is sent to the user terminal as an HTTP response.
[0710] Step 6:
[0711] The user terminal displays the generated results received from the server. This display includes the generated program code and its explanation, and the user begins learning by viewing it. Specifically, the program code and explanation are displayed in text format on the user terminal screen.
[0712] Through this series of processes, users can receive customized program learning content tailored to their learning needs. The flow from generating appropriate output for input to displaying it on the terminal is clearly shown.
[0713] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0714] This invention provides a system in which a user inputs their desired programming learning content, a generative artificial intelligence generates customized lesson content based on that input, and then combines this with an emotion engine that recognizes the user's emotions to deliver the content to the user. A specific embodiment of this system is described below.
[0715] First, the user accesses a form in the web application and enters the programming topic they want to learn. They can enter specific details such as, "I want to learn the basic data types in Python." When the user presses the "Submit" button, the terminal sends the entered information to the server.
[0716] The server receives the HTTP request and parses the request data. Through this analysis, the user's preferences are extracted. Based on these preferences, the server creates a request to a generative artificial intelligence to generate lesson content. This request is in the format of "Please generate a lesson about basic Python data types."
[0717] Next, the generative artificial intelligence receives a request from the server and generates customized program code and its explanation based on the user's wishes. For example, it can generate specific code and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0718] After the generated lesson content is returned to the server, the server works with the emotion engine to analyze the user's emotional state. The emotion engine recognizes emotions from the user's facial expressions, voice, or text input. Based on this analysis, the difficulty level and level of detail of the lesson content are adjusted. For example, if the user shows a confused expression, the generative AI can add more detailed explanations.
[0719] As a concrete example, consider a scenario where a user wants to learn about Python data types. Generative artificial intelligence generates code examples and explanations for basic Python data types (integers, floating-point numbers, strings, and lists). If the emotion engine detects signs of confusion from the user's facial expressions, additional explanations and examples are generated and provided to the user.
[0720] For example, if the user is confused, the generative AI might generate additional explanations such as: "A list is a data type that can store multiple values together. For example, when creating a list of numbers, you would write it as [1, 2, 3, 4, 5]. Each element can be accessed based on its position within the list."
[0721] As described above, users receive the generated program code and explanations, and can easily learn lesson content optimized according to their emotional state. This invention allows users to receive customized lessons tailored to their level and learning goals, improving not only learning efficiency but also maintaining motivation.
[0722] The following describes the processing flow.
[0723] Step 1:
[0724] The user accesses a form in the web application and enters the programming topic they want to learn. For example, they might enter, "I want to learn the basic data types in Python."
[0725] Step 2:
[0726] The user completes the input and presses the "Submit" button. This sends an HTTP request from the device to the server. This request contains the user's requests.
[0727] Step 3:
[0728] The server receives an HTTP request and parses the request data. Through this analysis, it extracts the learning content desired by the user.
[0729] Step 4:
[0730] Based on the extracted preferences, the server creates a request to a generative artificial intelligence system to generate lesson content. The request is in the format of "Please generate a lesson about basic Python data types."
[0731] Step 5:
[0732] Generative artificial intelligence receives requests from a server and generates program code and explanations based on the user's requests. For example, it can create code and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0733] Step 6:
[0734] The generative artificial intelligence returns the generated lesson content to the server. This content includes the program code and a detailed explanation of it.
[0735] Step 7:
[0736] The server receives the lesson content from the generative artificial intelligence. At the same time, it activates the emotion engine and analyzes the user's emotional state.
[0737] Step 8:
[0738] The emotion engine recognizes emotions based on the user's facial expressions, voice, or text input. For example, it might analyze facial expressions through the user's webcam or voice tone through their microphone.
[0739] Step 9:
[0740] The server receives analysis results from the emotion engine and adjusts the difficulty level of the lesson content and the level of detail in the explanations according to the user's emotional state. For example, if the user is confused, it adds more detailed yet simpler explanations.
[0741] Step 10:
[0742] The adjusted lesson content is then sent back to the user's device from the server. This includes customized program code and commentary optimized for the user's emotional state.
[0743] Step 11:
[0744] The terminal receives a response from the server and displays its contents in a web browser. The user can then review the displayed program code and explanations to continue their learning.
[0745] In this way, the present invention is a system that improves learning efficiency and maintains the user's motivation to learn by providing programming lessons optimized based on the user's preferences and emotional state.
[0746] (Example 2)
[0747] Next, we will describe Example 2. 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."
[0748] Traditional programming learning systems have struggled to provide customized lesson content tailored to users' learning needs. Furthermore, they were unable to adjust lesson content to accommodate users' emotional states, failing to adequately improve learning effectiveness and motivation.
[0749] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for inputting program learning content desired by the user, generative artificial intelligence means for generating customized lesson content based on the input desires, means for providing the lesson content generated by the generative artificial intelligence means to the user, emotion analysis means for analyzing the user's emotional state, and means for adjusting the lesson content based on the analysis results of the emotion analysis means. This enables customized lessons tailored to the user's learning desires and optimization through emotional feedback.
[0750] A "user" is someone who uses this system to learn programming.
[0751] "Programming learning content" refers to specific programming themes and topics that the user wishes to learn.
[0752] An "input method" refers to a means of providing an interface for users to input their desired program learning content.
[0753] A "generative artificial intelligence method" is a method that uses artificial intelligence to generate customized lesson content based on the user's input preferences.
[0754] "Customized lesson content" refers to learning content that is individually tailored to the user's preferences and level.
[0755] "Means of delivery" refers to the means of displaying or communicating the generated lesson content to the user.
[0756] "Emotional analysis means" refers to a method for detecting a user's emotional state by analyzing their facial expressions, voice, or text input.
[0757] "Adjustment means" refers to means for appropriately modifying or refining lesson content based on the analysis results of the emotion analysis means.
[0758] This invention provides a system in which a user inputs their desired program learning content, a generative artificial intelligence generates customized lesson content based on that input, and then combines this with an emotion engine that recognizes the user's emotions to deliver the content to the user. A specific embodiment of this system is described below.
[0759] First, the user can access a form in the web application and enter the programming content they want to learn. For example, they can enter specific details such as "I want to learn the basic data types of Python." When the user presses the "Submit" button, the terminal sends the entered content to the server. The server receives this data as an HTTP request through the HTML form.
[0760] The server first parses this HTTP request and extracts the user's preferences. Programming languages such as Python and JavaScript are used for this parsing. Based on the extracted preferences, the server creates a request to the AI model to generate lesson content. A specific request might be in the format of "Please generate a lesson about basic Python data types."
[0761] The generation AI model receives requests from the server and generates customized program code and explanations based on the user's preferences. For example, it can generate specific code examples and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0762] After the generated lesson content is returned to the server, the server processes it in conjunction with the emotion engine. The emotion engine recognizes emotions from the user's facial expressions, voice, or text input. Based on this analysis, the difficulty level and level of detail of the lesson content are automatically adjusted. For example, if the user shows a confused expression, the generative AI model can generate more detailed explanations or additional examples based on the emotion analysis results.
[0763] As a concrete example, consider a scenario where a user wants to learn about Python data types. The generative AI model generates code examples and explanations for basic Python data types (integers, floating-point numbers, strings, and lists). If the emotion engine detects signs of confusion from the user's facial expressions, further explanations and additional examples are generated and provided to the user.
[0764] An example of a prompt would be "Generate a lesson on basic Python data types."
[0765] As described above, users can easily learn the generated program code and explanations, receiving lesson content optimized according to their emotional state. This system allows users to receive customized lessons tailored to their level and learning goals, improving learning efficiency and maintaining motivation.
[0766] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0767] Step 1:
[0768] The user accesses a form in a web application and enters the programming topic they want to learn. Specifically, they might enter "I want to learn the basic data types of Python" and press the submit button. At this point, the information the user enters is sent from the web browser to their device. The input data includes text describing the learning topic.
[0769] Step 2:
[0770] The terminal sends the user's input to the server as an HTTP request. The input here is the text of the learning request entered by the user, and the output is an HTTP request containing that text. Specifically, the terminal creates this request and sends it to the server.
[0771] Step 3:
[0772] The server receives HTTP requests sent from the terminal and parses the data. It analyzes the received request data as input and extracts the user's desired information. The analysis results provide specific programming content the user wants to learn (e.g., information about Python data types). As a concrete example, the request data is parsed using Python or JavaScript code, and the necessary information is extracted.
[0773] Step 4:
[0774] The server creates a request to the generating AI model to generate lesson content based on the user's preferences. For example, it might request the generating AI model to "generate a lesson about basic Python data types." The input data is the user's preferences, and the output data is the prompt sent to the generating AI model.
[0775] Step 5:
[0776] The generative AI model receives requests from the server and generates customized lesson content based on the specified information. It uses prompts received from the server as input and generates specific lesson content (e.g., code examples and explanations about Python data types) as output. The generated lesson content is returned to the server in JSON format.
[0777] Step 6:
[0778] The server analyzes the lesson content received from the generative AI model and sends it to the emotion engine. The input data is the lesson content returned by the generative AI model, and the output data is the analysis request sent to the emotion engine. Specifically, the server converts this lesson content into a data format for emotion analysis and provides it to the emotion engine.
[0779] Step 7:
[0780] The emotion engine analyzes the user's facial expressions, voice, and text input to detect their emotional state. It uses real-time user response data as input and outputs analysis results. For example, the emotion engine detects metrics such as feelings of confusion or comprehension, and returns the results to the server.
[0781] Step 8:
[0782] The server requests the generative AI model to adjust the lesson content based on the analysis results from the emotion engine. The input data is the analysis results from the emotion engine, and the output data is the adjustment request sent to the generative AI model. For example, it might give specific instructions such as, "The user is confused, so please add more detailed explanations."
[0783] Step 9:
[0784] The generative AI model generates further refined lesson content based on the analysis results of the emotion engine. It uses refinement requests from the server as input and regenerates the detailed lesson content as output. For example, it generates lesson content that includes more examples and diagrams in addition to specific code explanations.
[0785] Step 10:
[0786] The server receives the final lesson content and provides it to the user. The input data is the adjusted lesson content returned by the generating AI model, and the output data is the learning content displayed to the user. The user can review the optimized lesson through the web application and proceed with their learning.
[0787] In this way, the system of the present invention can smoothly perform a series of processes from inputting the user's learning content to providing lessons.
[0788] (Application Example 2)
[0789] Next, we will explain application example 2. In the following explanation, 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."
[0790] Traditional programmed learning systems have struggled to provide appropriate lesson content tailored to the individual needs and emotional states of users. In particular, when users encountered difficulties, the system could not recognize their emotions in real time and take immediate, appropriate measures, resulting in decreased learning efficiency.
[0791] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0792] In this invention, the server includes means for inputting the program learning content desired by the user; generative artificial intelligence means for generating customized lesson content based on the input preferences; means for providing the lesson content generated by the generative artificial intelligence means to the user; and emotion recognition means for recognizing the user's emotions and adjusting the difficulty level and detail of the lesson content. This makes it possible to provide highly customized lesson content to the user's learning needs, detect and respond in real time to confusion and difficulties during learning, and provide an optimal learning experience.
[0793] "A means for users to input the program learning content they wish to study" refers to an interface for users to input the content or topics of the program they wish to learn. This includes web applications and mobile device applications.
[0794] "Generative artificial intelligence means" refers to artificial intelligence technology that generates customized lesson content and program code based on the learning content input by the user.
[0795] "Means of providing lesson content to the user" refers to an interface for providing the generated lesson content to the user visually or audibly. This includes the use of displays and speakers.
[0796] "Emotion recognition means" refers to technology that recognizes the user's emotional state and adjusts lesson content based on that information. This involves determining the user's emotions through methods such as facial expression recognition, voice analysis, and text analysis.
[0797] A "web application" is application software that can be accessed by users via the internet. It runs on a web browser.
[0798] A "mobile device application" is application software that runs on mobile devices such as smartphones and tablets.
[0799] "Program code" is a set of statements or instructions written in a specific programming language. This code represents instructions for action to be given to a computer.
[0800] A "prompt" is an instruction or question that a generative artificial intelligence needs to perform a specific task. This allows the AI to generate appropriate content.
[0801] This invention is a system in which a user inputs their desired program learning content, a generative artificial intelligence generates customized lesson content based on that input, and then combines this with emotion recognition means to recognize the user's emotions and provides it to the user.
[0802] First, the user accesses a form in a web application or mobile device application and enters the program content they want to learn. When the user presses the "Submit" button, the device sends the input to the server. The server receives the HTTP request and parses the request data. Through this parsing, the user's preferences are extracted. Based on these preferences, the server creates a request to a generative artificial intelligence to generate lesson content. For example, it might create a prompt message such as, "Please generate a lesson on the basics of e-wallets."
[0803] Generative artificial intelligence receives requests from the server and generates customized program code and explanations based on the user's preferences. For example, it can generate detailed explanations on the basic concepts, operation methods, and security measures of electronic wallets. After the generated lesson content is returned to the server, the server analyzes the user's emotional state using emotion recognition. Emotion recognition recognizes emotions from the user's facial expressions, voice, or text input. Based on this analysis, the difficulty level and level of detail of the lesson content are adjusted.
[0804] The server sends further requests to the generative AI as needed, asking it to generate additional explanations and examples. For example, if the user shows a confused expression, the generative AI will add more detailed explanations. It might generate something like, "A list is a data type that can store multiple values together. For example, when creating a list of numbers, you would write it as [1, 2, 3, 4, 5]. Each element can be accessed based on its position in the list."
[0805] As described above, this system can provide highly customized lesson content tailored to the user's learning needs. By combining it with emotion recognition, it can detect confusion and difficulties during learning in real time and take appropriate countermeasures. As a result, users can progress through the program learning efficiently and effectively.
[0806] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0807] Step 1:
[0808] Users input the program content they wish to learn through a web application or mobile device application. The input is sent from the device to the server. The input is the desired learning content, and the output is the request data sent to the server.
[0809] Step 2:
[0810] The server receives an HTTP request and parses the request data. This parsing process extracts the user's preferences. The input is the request data sent in step 1, and the output is the extracted preferences.
[0811] Step 3:
[0812] The server creates a request to a generative artificial intelligence (AI) based on the extracted preferences, asking it to generate lesson content. Specifically, it generates a prompt such as, "Please generate a lesson about the basics of e-wallets." The input is the preferences, and the output is the prompt.
[0813] Step 4:
[0814] The generative artificial intelligence receives a request from the server and generates customized program code and its explanation based on the user's preferences. The generated lesson content is returned to the server. The input is a prompt statement, and the output is the generated lesson content.
[0815] Step 5:
[0816] The server provides the generated lesson content to the user in conjunction with an emotion recognition system. The emotion recognition system recognizes the user's emotions from their facial expressions, voice, or text input, and feeds the results back to the server. The input is the user's emotion data, and the output is the analyzed emotional state.
[0817] Step 6:
[0818] Based on feedback from the emotion recognition system, the server sends further requests to the generative artificial intelligence as needed, asking it to generate additional explanations or examples. The input is the analyzed emotional state, and the output is the adjusted lesson content.
[0819] Step 7:
[0820] The adjusted lesson content is sent from the server to the terminal and provided to the user. The user then proceeds with their learning based on this content. The input is the adjusted lesson content, and the output is the final learning content provided to the user.
[0821] In this way, the system allows users to effectively learn lesson content customized to their own learning needs.
[0822] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0823] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0824] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[0825] [Fourth Embodiment]
[0826] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0827] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[0828] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0829] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[0830] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0831] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0832] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0833] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[0834] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0835] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0836] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0837] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0838] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0839] This invention relates to a system in which a user inputs their desired programming learning content, and a generative artificial intelligence generates customized lesson content based on that input, which is then provided to the user. A specific embodiment of this system is described below.
[0840] First, the user inputs what they want to learn via a web application. When the user presses the "Submit" button, their device sends the input to the server. The server receives this input and sends a request to a generative artificial intelligence (AI). The AI analyzes the request and generates program code and its explanation based on the user's wishes.
[0841] For example, if a user inputs the desire to "learn basic Python data types," the generative artificial intelligence will generate program code and explanations related to basic Python data types (integers, floating-point numbers, strings, and lists). The generated content is then returned from the server to the user's terminal and displayed to the user.
[0842] As a concrete example, consider a scenario where a user wants to learn about Python data types. Generative artificial intelligence would generate the following:
[0843] First, as an example of basic Python data types, the following content is generated.
[0844] integer type
[0845] Assign an integer to a variable and display its value.
[0846] Floating-point type
[0847] Assign a floating-point number to a variable and display its value.
[0848] string type
[0849] Assign a string to a variable and display its value.
[0850] List type
[0851] Assign a list to a variable and display its contents.
[0852] In addition, detailed explanations of these codes are generated, describing the characteristics and usage of each data type.
[0853] In this way, users can efficiently learn programming through concrete code examples and detailed explanations. This invention allows users to easily receive customized lessons tailored to their level and learning goals, enabling them to maintain a continuous motivation to learn.
[0854] The following describes the processing flow.
[0855] Step 1:
[0856] The user accesses a form in the web application and enters the programming topic they want to learn. For example, they might enter, "I want to learn the basic data types in Python."
[0857] Step 2:
[0858] When the user completes the input and presses the "Submit" button, an HTTP request is sent from the device to the server. This request contains the user's preferences.
[0859] Step 3:
[0860] The server receives an HTTP request and parses the request data. Through this analysis, it extracts the user's desired information.
[0861] Step 4:
[0862] Based on the extracted preferences, the server creates a request to the generative artificial intelligence to generate lesson content. The request is in the format of, "Please generate a lesson about basic Python data types."
[0863] Step 5:
[0864] Generative artificial intelligence receives requests from a server and generates customized program code and explanations based on the user's preferences. For example, it can create code and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0865] Step 6:
[0866] The generative artificial intelligence returns the generated lesson content to the server. This content includes the program code and a detailed explanation of it.
[0867] Step 7:
[0868] The server sends the lesson content received from the generative artificial intelligence to the user's terminal as an HTTP response.
[0869] Step 8:
[0870] The terminal receives a response from the server and displays the lesson content in a web browser. The user reviews the displayed program code and explanations and proceeds with their learning.
[0871] In this way, through a series of steps, users can easily receive lessons tailored to their desired program learning content.
[0872] (Example 1)
[0873] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0874] Traditional programming learning systems make it difficult for users to receive customized lessons tailored to their learning progress and interests. Furthermore, there is a lack of efficient systems for quickly generating and delivering content that meets individual learning needs. As a result, users struggle to learn programming efficiently and maintain their motivation.
[0875] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0876] In this invention, the server includes means for inputting the program learning content desired by the user, generative artificial intelligence means for generating customized lesson content based on the input preferences, and means for providing the lesson content generated by the generative artificial intelligence means to the user via the server. This makes it possible for the user to quickly receive customized lessons that match their learning progress and interests.
[0877] A "user" is an individual or group that inputs programming learning content and receives the generated lesson content.
[0878] "Programming learning content" refers to specific programming topics or themes that the user wants to learn.
[0879] An "input method" is an interface for providing the system with the program learning content that the user desires.
[0880] A "web application" is a software application that enables data communication between a user and a server over the internet.
[0881] "Generative artificial intelligence" refers to an artificial intelligence model that automatically generates customized programming lesson content based on the user's preferences.
[0882] "Lesson content" refers to programming code and its explanation generated by generative artificial intelligence for the user to learn from.
[0883] A "server" is a computer system that receives input from a user and sends requests to a generative artificial intelligence.
[0884] "Means of delivery" refers to the series of processes in which the server sends the generated lesson content back to the user, and the user's terminal displays it.
[0885] This invention is a system in which a user inputs their desired programming learning content via a web application, and a generative artificial intelligence generates customized lesson content based on that input and provides it to the user. The following describes specific embodiments for implementing the invention.
[0886] Hardware and software configuration
[0887] The system uses the following hardware and software:
[0888] User terminal: A device used by the user to submit input and receive generated lesson content. This includes PCs, smartphones, and tablets.
[0889] Server: An intermediate computer that receives requests from user terminals and sends those requests to generative artificial intelligence. This includes "web servers" and "database servers."
[0890] Generative artificial intelligence: An artificial intelligence model that generates customized programming lesson content based on the user's preferences. Here, a generative AI model such as "OpenAI GPT-3" is used as an example.
[0891] Web application: Software that provides an interface for users to input learning content and view generated lesson content. Examples include "React" and "Angular".
[0892] Data processing and data calculation workflow
[0893] The user enters the programming content they want to learn on the web application. For example, they might enter the following:
[0894] "I want to learn the basic data types in Python."
[0895] When the user presses the "Submit" button, the device sends this input to the server. The server receives an HTTP request, and the request body contains data such as the following:
[0896] {
[0897] "request_content": "I want to learn basic Python data types."
[0898] }
[0899] The server analyzes the input data and sends a request containing a prompt to the generative artificial intelligence:
[0900] "I'd like to learn about basic data types in Python. Please provide specific code examples and explanations."
[0901] The generative artificial intelligence analyzes this prompt and generates customized programming code and its explanation that corresponds to the user's request. The generated content may include, for example:
[0902] Examples of integer types in Python
[0903] Examples of floating-point numbers
[0904] Examples of string types
[0905] List type example
[0906] The server receives the results generated by the generative artificial intelligence and sends this data back to the user's terminal. The user's terminal receives the data and displays it on a web application. The user can then take their desired programming lesson based on the displayed content.
[0907] Specific example
[0908] If a user enters "I want to learn basic Python data types" into the web application, the system will send the following prompt to the generative artificial intelligence:
[0909] "I'd like to learn about basic data types in Python. Please provide specific code examples and explanations."
[0910] Generative artificial intelligence generates and provides users with code examples and explanations of basic Python data types. For example, it includes detailed explanations for integer, floating-point, string, and list types. This allows users to learn efficiently through concrete code and its explanations.
[0911] In this way, users can easily and quickly obtain customized programming learning content tailored to their level and interests.
[0912] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0913] Step 1:
[0914] The user inputs the programming content they want to learn through the web application interface. For example, the user might type "I want to learn the basic data types in Python" into the input field and click the submit button. This input is sent to the server as an HTTP request through the browser.
[0915] Input: The learning objectives entered by the user in the web application (e.g., "I want to learn basic Python data types").
[0916] Output: Input data sent to the server as an HTTP request
[0917] Step 2:
[0918] The server processes the HTTP request received from the user's terminal and extracts the user's input from the request body. For example, the request body may contain JSON data like the following:
[0919] json
[0920] {
[0921] "request_content": "I want to learn basic Python data types."
[0922] }
[0923] The server analyzes this data and generates prompt messages to send to the generative artificial intelligence.
[0924] Input: HTTP request received from user terminal
[0925] Output: Prompt message to send to the generative AI ("I would like to learn about basic Python data types. Please provide specific code examples and explanations.")
[0926] Step 3:
[0927] The server sends an HTTP POST request containing the generated prompt to the generative artificial intelligence. This prompt specifically describes what the user wants to learn.
[0928] Input: Prompt text for generative artificial intelligence
[0929] Output: HTTP POST request sent to a generative artificial intelligence system
[0930] Step 4:
[0931] Generative artificial intelligence receives a prompt and performs analysis. Based on the prompt, it generates customized learning content (specific program code and its explanation). For example, the generated content includes examples related to basic Python data types (integer types, floating-point types, string types, and list types).
[0932] Input: Prompt sent to a generative AI
[0933] Output: Generated customized learning content (specific program code and its explanation)
[0934] Step 5:
[0935] Generative artificial intelligence sends the generated learning content back to the server. The server receives this generated content and prepares it as data to be sent back to the user's terminal. Specifically, it converts the generated content into JSON format and sends it back to the user's terminal as an HTTP response.
[0936] Input: Generated content sent back to the server from the generative artificial intelligence.
[0937] Output: Generated content sent from the server to the user's terminal as an HTTP response.
[0938] Step 6:
[0939] The terminal parses the HTTP response received from the server and displays the generated learning content to the user on the web application. Through this displayed content, the user can take their desired programming lesson. Specifically, the generated Python code and its explanation are displayed on the web page.
[0940] Input: HTTP response received from the server
[0941] Output: Customized learning content displayed on the web application
[0942] Through the steps described above, this system can quickly and accurately provide users with the programming learning content they desire.
[0943] (Application Example 1)
[0944] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[0945] In today's world, while programming is an important skill, the learning needs and objectives of individual users are diverse. Traditional programming learning methods often provide uniform content, making it difficult to effectively learn specific application functions or systems. Furthermore, there is a lack of methods to quickly provide customized lessons tailored to the user's needs, which makes it difficult to maintain user motivation.
[0946] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0947] In this invention, the server includes means for inputting program learning content desired by the user, generative artificial intelligence means for generating customized lesson content based on the input preferences, means for providing the lesson content generated by the generative artificial intelligence means to the user, and means for the generative artificial intelligence means to generate program code and its explanation corresponding to a specific application function. This makes it possible for the user to efficiently acquire program learning content specialized for a specific application function of their choice.
[0948] A "user" is an individual or group that wants to use the system to learn programming.
[0949] "Program learning content" refers to information and skills related to specific programs that the user wishes to learn.
[0950] "Input means" refers to an interface or device used by a user to input their desired program learning content into the system.
[0951] "Generative artificial intelligence means" refers to a system or software that uses artificial intelligence technology to generate customized lesson content based on input preferences.
[0952] "Means of delivery" refers to a part of a system that has methods and functions for presenting the generated lesson content to the user.
[0953] "Specific application features" refer to program functions or code snippets required for a particular purpose or application.
[0954] "Program code" refers to a series of program instructions or statements used to implement a specific application function.
[0955] A "mobile application" refers to a program that runs on mobile devices such as smartphones and tablets.
[0956] A "web application" refers to a program that operates via the internet.
[0957] "Explanation" refers to the description and instructional content regarding the generated program code and its purpose.
[0958] This invention relates to a system in which a user inputs their desired program learning content, and a generative artificial intelligence generates customized lesson content based on that input and provides it to the user. A specific embodiment for realizing this system is described below.
[0959] First, users input information about the program they wish to learn via a mobile or web application. The interface provided for input is designed to be intuitive and easy for users to use. For example, text boxes and selection menus are available.
[0960] When the user presses the "Submit" button, the user's device sends the input to the server. The server analyzes this input and sends a request to a generative artificial intelligence system. This request includes the specific program learning content desired by the user.
[0961] The generative artificial intelligence system analyzes the request content and generates program code and its explanation based on the user's wishes. For example, if a user inputs "I want to learn about shopping cart functionality using API integration," the generative AI will generate the relevant program code and a detailed explanation. The generated content is then returned from the server to the user's terminal and displayed to the user.
[0962] In this context, specific generative artificial intelligence techniques utilize large-scale language models such as the OpenAI API. These models possess the ability to perform advanced natural language processing based on user input, generating optimal program code and its detailed explanation.
[0963] The server sends the generated program code and explanations to the user's terminal, allowing the user to receive customized lessons tailored to their learning needs. This process enables users to efficiently learn programming specialized in specific application functions.
[0964] As a concrete example, if a user enters "I want to learn how to create a REST API using Django," an example of the generated prompt message would be as follows:
[0965] Example of a prompt:
[0966] The user entered "I want to learn how to create a REST API using Django." Please generate the relevant Python code and a detailed explanation.
[0967] The program code generated based on this prompt and its explanation are provided to the user's terminal, allowing the user to gain a practical learning experience.
[0968] In this way, the present invention enables users to efficiently acquire program learning content specialized for specific application functions they desire.
[0969] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0970] Step 1:
[0971] Users input information about the program they want to learn into a mobile or web application. Specifically, users use text boxes or selection menus as elements to enter information such as, "I want to learn how to create a REST API using Django." The input is temporarily stored in the user's device before submission.
[0972] Step 2:
[0973] When the user presses the "Submit" button, the input content is sent from the user's terminal to the server. At this time, the input content is passed to the server in the form of an HTTP request, and the server receives the request. The input data includes the user's learning preferences.
[0974] Step 3:
[0975] The server analyzes the received input and sends a request to the appropriate generative artificial intelligence (AI) system. Specifically, it sends a request to the API endpoint of a generative AI system (e.g., OpenAI GPT-3) based on the input. This request includes detailed information about what the user wants to learn.
[0976] Step 4:
[0977] The generative artificial intelligence system analyzes the received input and generates program code and a detailed explanation that meets the user's requirements. The AI performs natural language processing to analyze the input and applies a program code generation algorithm. The generated results (program code and explanation) are returned to the server as an API response.
[0978] Step 5:
[0979] The server receives the generated results returned by the generative artificial intelligence system and sends that data back to the user terminal. The output data here includes the program code and its explanation. This is sent to the user terminal as an HTTP response.
[0980] Step 6:
[0981] The user terminal displays the generated results received from the server. This display includes the generated program code and its explanation, and the user begins learning by viewing it. Specifically, the program code and explanation are displayed in text format on the user terminal screen.
[0982] Through this series of processes, users can receive customized program learning content tailored to their learning needs. The flow from generating appropriate output for input to displaying it on the terminal is clearly shown.
[0983] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0984] This invention provides a system in which a user inputs their desired programming learning content, a generative artificial intelligence generates customized lesson content based on that input, and then combines this with an emotion engine that recognizes the user's emotions to deliver the content to the user. A specific embodiment of this system is described below.
[0985] First, the user accesses a form in the web application and enters the programming topic they want to learn. They can enter specific details such as, "I want to learn the basic data types in Python." When the user presses the "Submit" button, the terminal sends the entered information to the server.
[0986] The server receives the HTTP request and parses the request data. Through this analysis, the user's preferences are extracted. Based on these preferences, the server creates a request to a generative artificial intelligence to generate lesson content. This request is in the format of "Please generate a lesson about basic Python data types."
[0987] Next, the generative artificial intelligence receives a request from the server and generates customized program code and its explanation based on the user's wishes. For example, it can generate specific code and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[0988] After the generated lesson content is returned to the server, the server works with the emotion engine to analyze the user's emotional state. The emotion engine recognizes emotions from the user's facial expressions, voice, or text input. Based on this analysis, the difficulty level and level of detail of the lesson content are adjusted. For example, if the user shows a confused expression, the generative AI can add more detailed explanations.
[0989] As a concrete example, consider a scenario where a user wants to learn about Python data types. Generative artificial intelligence generates code examples and explanations for basic Python data types (integers, floating-point numbers, strings, and lists). If the emotion engine detects signs of confusion from the user's facial expressions, additional explanations and examples are generated and provided to the user.
[0990] For example, if the user is confused, the generative AI might generate additional explanations such as: "A list is a data type that can store multiple values together. For example, when creating a list of numbers, you would write it as [1, 2, 3, 4, 5]. Each element can be accessed based on its position within the list."
[0991] As described above, users receive the generated program code and explanations, and can easily learn lesson content optimized according to their emotional state. This invention allows users to receive customized lessons tailored to their level and learning goals, improving not only learning efficiency but also maintaining motivation.
[0992] The following describes the processing flow.
[0993] Step 1:
[0994] The user accesses a form in the web application and enters the programming topic they want to learn. For example, they might enter, "I want to learn the basic data types in Python."
[0995] Step 2:
[0996] The user completes the input and presses the "Submit" button. This sends an HTTP request from the device to the server. This request contains the user's requests.
[0997] Step 3:
[0998] The server receives an HTTP request and parses the request data. Through this analysis, it extracts the learning content desired by the user.
[0999] Step 4:
[1000] Based on the extracted preferences, the server creates a request to a generative artificial intelligence system to generate lesson content. The request is in the format of "Please generate a lesson about basic Python data types."
[1001] Step 5:
[1002] Generative artificial intelligence receives requests from a server and generates program code and explanations based on the user's requests. For example, it can create code and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[1003] Step 6:
[1004] The generative artificial intelligence returns the generated lesson content to the server. This content includes the program code and a detailed explanation of it.
[1005] Step 7:
[1006] The server receives the lesson content from the generative artificial intelligence. At the same time, it activates the emotion engine and analyzes the user's emotional state.
[1007] Step 8:
[1008] The emotion engine recognizes emotions based on the user's facial expressions, voice, or text input. For example, it might analyze facial expressions through the user's webcam or voice tone through their microphone.
[1009] Step 9:
[1010] The server receives analysis results from the emotion engine and adjusts the difficulty level of the lesson content and the level of detail in the explanations according to the user's emotional state. For example, if the user is confused, it adds more detailed yet simpler explanations.
[1011] Step 10:
[1012] The adjusted lesson content is then sent back to the user's device from the server. This includes customized program code and commentary optimized for the user's emotional state.
[1013] Step 11:
[1014] The terminal receives a response from the server and displays its contents in a web browser. The user can then review the displayed program code and explanations to continue their learning.
[1015] In this way, the present invention is a system that improves learning efficiency and maintains the user's motivation to learn by providing programming lessons optimized based on the user's preferences and emotional state.
[1016] (Example 2)
[1017] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1018] Traditional programming learning systems have struggled to provide customized lesson content tailored to users' learning needs. Furthermore, they were unable to adjust lesson content to accommodate users' emotional states, failing to adequately improve learning effectiveness and motivation.
[1019] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for inputting program learning content desired by the user, generative artificial intelligence means for generating customized lesson content based on the input desires, means for providing the lesson content generated by the generative artificial intelligence means to the user, emotion analysis means for analyzing the user's emotional state, and means for adjusting the lesson content based on the analysis results of the emotion analysis means. This enables customized lessons tailored to the user's learning desires and optimization through emotional feedback.
[1020] A "user" is someone who uses this system to learn programming.
[1021] "Programming learning content" refers to specific programming themes and topics that the user wishes to learn.
[1022] An "input method" refers to a means of providing an interface for users to input their desired program learning content.
[1023] A "generative artificial intelligence method" is a method that uses artificial intelligence to generate customized lesson content based on the user's input preferences.
[1024] "Customized lesson content" refers to learning content that is individually tailored to the user's preferences and level.
[1025] "Means of delivery" refers to the means of displaying or communicating the generated lesson content to the user.
[1026] "Emotional analysis means" refers to a method for detecting a user's emotional state by analyzing their facial expressions, voice, or text input.
[1027] "Adjustment means" refers to means for appropriately modifying or refining lesson content based on the analysis results of the emotion analysis means.
[1028] This invention provides a system in which a user inputs their desired program learning content, a generative artificial intelligence generates customized lesson content based on that input, and then combines this with an emotion engine that recognizes the user's emotions to deliver the content to the user. A specific embodiment of this system is described below.
[1029] First, the user can access a form in the web application and enter the programming content they want to learn. For example, they can enter specific details such as "I want to learn the basic data types of Python." When the user presses the "Submit" button, the terminal sends the entered content to the server. The server receives this data as an HTTP request through the HTML form.
[1030] The server first parses this HTTP request and extracts the user's preferences. Programming languages such as Python and JavaScript are used for this parsing. Based on the extracted preferences, the server creates a request to the AI model to generate lesson content. A specific request might be in the format of "Please generate a lesson about basic Python data types."
[1031] The generation AI model receives requests from the server and generates customized program code and explanations based on the user's preferences. For example, it can generate specific code examples and explanations related to Python data types (integers, floating-point numbers, strings, lists).
[1032] After the generated lesson content is returned to the server, the server processes it in conjunction with the emotion engine. The emotion engine recognizes emotions from the user's facial expressions, voice, or text input. Based on this analysis, the difficulty level and level of detail of the lesson content are automatically adjusted. For example, if the user shows a confused expression, the generative AI model can generate more detailed explanations or additional examples based on the emotion analysis results.
[1033] As a concrete example, consider a scenario where a user wants to learn about Python data types. The generative AI model generates code examples and explanations for basic Python data types (integers, floating-point numbers, strings, and lists). If the emotion engine detects signs of confusion from the user's facial expressions, further explanations and additional examples are generated and provided to the user.
[1034] An example of a prompt would be "Generate a lesson on basic Python data types."
[1035] As described above, users can easily learn the generated program code and explanations, receiving lesson content optimized according to their emotional state. This system allows users to receive customized lessons tailored to their level and learning goals, improving learning efficiency and maintaining motivation.
[1036] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1037] Step 1:
[1038] The user accesses a form in a web application and enters the programming topic they want to learn. Specifically, they might enter "I want to learn the basic data types of Python" and press the submit button. At this point, the information the user enters is sent from the web browser to their device. The input data includes text describing the learning topic.
[1039] Step 2:
[1040] The terminal sends the user's input to the server as an HTTP request. The input here is the text of the learning request entered by the user, and the output is an HTTP request containing that text. Specifically, the terminal creates this request and sends it to the server.
[1041] Step 3:
[1042] The server receives HTTP requests sent from the terminal and parses the data. It analyzes the received request data as input and extracts the user's desired information. The analysis results provide specific programming content the user wants to learn (e.g., information about Python data types). As a concrete example, the request data is parsed using Python or JavaScript code, and the necessary information is extracted.
[1043] Step 4:
[1044] The server creates a request to the generating AI model to generate lesson content based on the user's preferences. For example, it might request the generating AI model to "generate a lesson about basic Python data types." The input data is the user's preferences, and the output data is the prompt sent to the generating AI model.
[1045] Step 5:
[1046] The generative AI model receives requests from the server and generates customized lesson content based on the specified information. It uses prompts received from the server as input and generates specific lesson content (e.g., code examples and explanations about Python data types) as output. The generated lesson content is returned to the server in JSON format.
[1047] Step 6:
[1048] The server analyzes the lesson content received from the generative AI model and sends it to the emotion engine. The input data is the lesson content returned by the generative AI model, and the output data is the analysis request sent to the emotion engine. Specifically, the server converts this lesson content into a data format for emotion analysis and provides it to the emotion engine.
[1049] Step 7:
[1050] The emotion engine analyzes the user's facial expressions, voice, and text input to detect their emotional state. It uses real-time user response data as input and outputs analysis results. For example, the emotion engine detects metrics such as feelings of confusion or comprehension, and returns the results to the server.
[1051] Step 8:
[1052] The server requests the generative AI model to adjust the lesson content based on the analysis results from the emotion engine. The input data is the analysis results from the emotion engine, and the output data is the adjustment request sent to the generative AI model. For example, it might give specific instructions such as, "The user is confused, so please add more detailed explanations."
[1053] Step 9:
[1054] The generative AI model generates further refined lesson content based on the analysis results of the emotion engine. It uses refinement requests from the server as input and regenerates the detailed lesson content as output. For example, it generates lesson content that includes more examples and diagrams in addition to specific code explanations.
[1055] Step 10:
[1056] The server receives the final lesson content and provides it to the user. The input data is the adjusted lesson content returned by the generating AI model, and the output data is the learning content displayed to the user. The user can review the optimized lesson through the web application and proceed with their learning.
[1057] In this way, the system of the present invention can smoothly perform a series of processes from inputting the user's learning content to providing lessons.
[1058] (Application Example 2)
[1059] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1060] Traditional programmed learning systems have struggled to provide appropriate lesson content tailored to the individual needs and emotional states of users. In particular, when users encountered difficulties, the system could not recognize their emotions in real time and take immediate, appropriate measures, resulting in decreased learning efficiency.
[1061] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[1062] In this invention, the server includes means for inputting the program learning content desired by the user; generative artificial intelligence means for generating customized lesson content based on the input preferences; means for providing the lesson content generated by the generative artificial intelligence means to the user; and emotion recognition means for recognizing the user's emotions and adjusting the difficulty level and detail of the lesson content. This makes it possible to provide highly customized lesson content to the user's learning needs, detect and respond in real time to confusion and difficulties during learning, and provide an optimal learning experience.
[1063] "A means for users to input the program learning content they wish to study" refers to an interface for users to input the content or topics of the program they wish to learn. This includes web applications and mobile device applications.
[1064] "Generative artificial intelligence means" refers to artificial intelligence technology that generates customized lesson content and program code based on the learning content input by the user.
[1065] "Means of providing lesson content to the user" refers to an interface for providing the generated lesson content to the user visually or audibly. This includes the use of displays and speakers.
[1066] "Emotion recognition means" refers to technology that recognizes the user's emotional state and adjusts lesson content based on that information. This involves determining the user's emotions through methods such as facial expression recognition, voice analysis, and text analysis.
[1067] A "web application" is application software that can be accessed by users via the internet. It runs on a web browser.
[1068] A "mobile device application" is application software that runs on mobile devices such as smartphones and tablets.
[1069] "Program code" is a set of statements or instructions written in a specific programming language. This code represents instructions for action to be given to a computer.
[1070] A "prompt" is an instruction or question that a generative artificial intelligence needs to perform a specific task. This allows the AI to generate appropriate content.
[1071] This invention is a system in which a user inputs their desired program learning content, a generative artificial intelligence generates customized lesson content based on that input, and then combines this with emotion recognition means to recognize the user's emotions and provides it to the user.
[1072] First, the user accesses a form in a web application or mobile device application and enters the program content they want to learn. When the user presses the "Submit" button, the device sends the input to the server. The server receives the HTTP request and parses the request data. Through this parsing, the user's preferences are extracted. Based on these preferences, the server creates a request to a generative artificial intelligence to generate lesson content. For example, it might create a prompt message such as, "Please generate a lesson on the basics of e-wallets."
[1073] Generative artificial intelligence receives requests from the server and generates customized program code and explanations based on the user's preferences. For example, it can generate detailed explanations on the basic concepts, operation methods, and security measures of electronic wallets. After the generated lesson content is returned to the server, the server analyzes the user's emotional state using emotion recognition. Emotion recognition recognizes emotions from the user's facial expressions, voice, or text input. Based on this analysis, the difficulty level and level of detail of the lesson content are adjusted.
[1074] The server sends further requests to the generative AI as needed, asking it to generate additional explanations and examples. For example, if the user shows a confused expression, the generative AI will add more detailed explanations. It might generate something like, "A list is a data type that can store multiple values together. For example, when creating a list of numbers, you would write it as [1, 2, 3, 4, 5]. Each element can be accessed based on its position in the list."
[1075] As described above, this system can provide highly customized lesson content tailored to the user's learning needs. By combining it with emotion recognition, it can detect confusion and difficulties during learning in real time and take appropriate countermeasures. As a result, users can progress through the program learning efficiently and effectively.
[1076] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1077] Step 1:
[1078] Users input the program content they wish to learn through a web application or mobile device application. The input is sent from the device to the server. The input is the desired learning content, and the output is the request data sent to the server.
[1079] Step 2:
[1080] The server receives an HTTP request and parses the request data. This parsing process extracts the user's preferences. The input is the request data sent in step 1, and the output is the extracted preferences.
[1081] Step 3:
[1082] The server creates a request to a generative artificial intelligence (AI) based on the extracted preferences, asking it to generate lesson content. Specifically, it generates a prompt such as, "Please generate a lesson about the basics of e-wallets." The input is the preferences, and the output is the prompt.
[1083] Step 4:
[1084] The generative artificial intelligence receives a request from the server and generates customized program code and its explanation based on the user's preferences. The generated lesson content is returned to the server. The input is a prompt statement, and the output is the generated lesson content.
[1085] Step 5:
[1086] The server provides the generated lesson content to the user in conjunction with an emotion recognition system. The emotion recognition system recognizes the user's emotions from their facial expressions, voice, or text input, and feeds the results back to the server. The input is the user's emotion data, and the output is the analyzed emotional state.
[1087] Step 6:
[1088] Based on feedback from the emotion recognition system, the server sends further requests to the generative artificial intelligence as needed, asking it to generate additional explanations or examples. The input is the analyzed emotional state, and the output is the adjusted lesson content.
[1089] Step 7:
[1090] The adjusted lesson content is sent from the server to the terminal and provided to the user. The user then proceeds with their learning based on this content. The input is the adjusted lesson content, and the output is the final learning content provided to the user.
[1091] In this way, the system allows users to effectively learn lesson content customized to their own learning needs.
[1092] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1093] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1094] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1095] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1096] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[1097] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[1098] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[1099] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[1100] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[1101] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[1102] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[1103] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[1104] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[1105] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1106] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[1107] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[1108] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[1109] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[1110] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[1111] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[1112] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[1113] The following is further disclosed regarding the embodiments described above.
[1114] (Claim 1)
[1115] A means for users to input the program learning content they wish to study,
[1116] A generative artificial intelligence means that generates customized lesson content based on the input preferences,
[1117] A means for providing the user with lesson content generated by the aforementioned generative artificial intelligence means,
[1118] A system that includes this.
[1119] (Claim 2)
[1120] The system according to claim 1, wherein the means for inputting the desired program learning content accepts input via a web application.
[1121] (Claim 3)
[1122] The system according to claim 1, wherein the generative artificial intelligence means generates program code and its explanation according to the user's wishes.
[1123] "Example 1"
[1124] (Claim 1)
[1125] A means for users to input the program learning content they wish to study,
[1126] A generative artificial intelligence means that generates customized lesson content based on the input preferences,
[1127] A means for providing the lesson content generated by the aforementioned generative artificial intelligence means to the user via a server,
[1128] A system that includes this.
[1129] (Claim 2)
[1130] The system according to claim 1, wherein the means for inputting the desired program learning content accepts input via a web application.
[1131] (Claim 3)
[1132] The system according to claim 1, wherein the generative artificial intelligence means generates program code and its explanation according to the user's wishes.
[1133] "Application Example 1"
[1134] (Claim 1)
[1135] A means for users to input the program learning content they wish to study,
[1136] A generative artificial intelligence means that generates customized lesson content based on the input preferences,
[1137] A means for providing the user with lesson content generated by the aforementioned generative artificial intelligence means,
[1138] The aforementioned generative artificial intelligence means includes means for generating program code corresponding to a specific application function and its explanation,
[1139] A system that includes this.
[1140] (Claim 2)
[1141] The system according to claim 1, wherein the means for inputting the desired program learning content accepts input via a web application or a mobile application.
[1142] (Claim 3)
[1143] The system according to claim 1, wherein the generative artificial intelligence means generates program code and its explanation related to a specific application according to the user's wishes.
[1144] "Example 2 of combining an emotion engine"
[1145] (Claim 1)
[1146] A means for users to input the program learning content they wish to study,
[1147] A generative artificial intelligence means that generates customized lesson content based on the input preferences,
[1148] A means for providing the user with lesson content generated by the aforementioned generative artificial intelligence means,
[1149] A means of analyzing the emotional state of a user,
[1150] A means for adjusting the lesson content based on the analysis results of the aforementioned emotion analysis means,
[1151] A system that includes this.
[1152] (Claim 2)
[1153] The system according to claim 1, wherein the means for inputting the desired program learning content accepts input via a web application.
[1154] (Claim 3)
[1155] The system according to claim 1, wherein the generative artificial intelligence means generates program code and its explanation according to the user's wishes.
[1156] "Application example 2 when combining with an emotional engine"
[1157] (Claim 1)
[1158] A means for users to input the program learning content they wish to study,
[1159] A generative artificial intelligence means that generates customized lesson content based on the input preferences,
[1160] A means for providing the user with lesson content generated by the aforementioned generative artificial intelligence means,
[1161] A means of recognizing user emotions and adjusting the difficulty level and detail of lesson content,
[1162] A system that includes this.
[1163] (Claim 2)
[1164] The system according to claim 1, wherein the means for inputting the desired program learning content accepts input via a web application or a mobile terminal application.
[1165] (Claim 3)
[1166] The system according to claim 1, wherein the generative artificial intelligence means generates program code and its explanation according to the user's wishes. [Explanation of symbols]
[1167] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for users to input the program learning content they wish to study, A generative artificial intelligence means that generates customized lesson content based on the input preferences, A means for providing the user with lesson content generated by the aforementioned generative artificial intelligence means, A system that includes this.
2. The system according to claim 1, wherein the means for inputting the desired program learning content accepts input via a web application.
3. The system according to claim 1, wherein the generative artificial intelligence means generates program code and its explanation according to the user's wishes.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A