System
The system addresses inefficiencies in conventional learning support by using an AI engine to generate answers and suggest materials, enhancing user engagement and progress management.
Patent Information
- Application Number
- JP2024116360
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-19
- Publication Date
- 2026-01-29
AI Technical Summary
Conventional learning support systems fail to efficiently manage learners' progress and provide tailored learning materials, requiring significant effort from users to gather necessary information.
A system that accepts questions, utilizes an artificial intelligence engine to generate answers, tracks learning progress, and suggests materials based on individual needs, integrating a server, user terminal, and AI engine.
Enables quick responses to user questions, effectively manages learning progress, and suggests appropriate materials, providing efficient learning support tailored to individual needs.
Smart Images

Figure 2026014886000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Conventional learning support systems have made it difficult for learners to efficiently manage their own learning progress and receive effective feedback. Furthermore, they lack the functionality to automatically suggest optimal learning materials for individual learners, requiring learners to spend a great deal of time and effort gathering the information they need for self-study. A system that can solve these problems and provide effective learning support tailored to individual learning needs is needed. [Means for solving the problem]
[0005] The system of the present invention solves the above problems by including means for accepting questions from a user, means for connecting to an artificial intelligence engine that generates answers to the questions, means for returning the generated answers to the user, means for tracking the user's learning progress, and means for suggesting learning materials based on the user's requests.
[0006] Specifically, when a user inputs a question into the system, the system sends the question to an artificial intelligence engine, which generates an appropriate answer for the question. The generated answer is returned to the user and stored in a user database. Furthermore, the system manages the user's learning progress and, if necessary, automatically suggests appropriate learning materials based on the topic the user wants to learn, thereby providing learning support tailored to the learner's individual needs.
[0007] "User" refers to a learner or expert who uses the learning support system.
[0008] A "question" refers to a learning-related inquiry that a user inputs to the learning support system.
[0009] An "artificial intelligence engine" refers to a computer program that uses machine learning algorithms to generate answers to user questions and suggest learning materials.
[0010] "Answer" refers to the response generated by the artificial intelligence engine in response to a user's question.
[0011] "User Data" refers to a dataset containing information related to each user, such as past questions, generated answers, learning progress, suggested learning materials, etc.
[0012] "Study progress" refers to data that indicates the user's learning status and achievement level to date.
[0013] "Learning materials" refers to resources (e.g., textbooks, videos, articles, etc.) that help learners learn about a particular topic.
[0014] "Interface" refers to the screen or device that enables interaction between a user and a system. [Brief explanation of the drawings]
[0015] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0016] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0017] First, the terms used in the following description will be explained.
[0018] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0019] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0020] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0021] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0023] [First embodiment]
[0024] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0025] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0026] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0027] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0028] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0029] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0030] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0031] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0032] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0033] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0034] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0035] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0036] The learning support system of the present invention has the function of accepting questions from users, generating appropriate answers using an artificial intelligence engine, and returning them to the users. It also tracks the user's learning progress and suggests learning materials as needed, thereby providing effective learning support that meets individual learning needs.
[0037] System Configuration
[0038] The system includes a server, a user terminal, and an artificial intelligence engine.
[0039] Accepting questions
[0040] User:
[0041] The user inputs and submits a question related to the study from a terminal (e.g., a PC or a smartphone). For example, the user inputs and submits a question such as "What is a differential equation?"
[0042] Receiving and processing questions
[0043] server:
[0044] The server receives a question from the user, obtains the question and the user ID, then checks the user database, and if the corresponding user ID does not exist, creates a new record.
[0045] server:
[0046] The server that receives the question sends the question to the AI engine, specifying the engine to be used (e.g., machine learning algorithm) and the question content before sending the request.
[0047] Generate and return answers
[0048] Artificial Intelligence Engine:
[0049] The AI engine generates appropriate answers to questions sent from the server, such as "A differential equation is an equation that describes the rate of change of a function."
[0050] server:
[0051] The server receives the generated answer, saves it in the user database, records it as a question history, and then returns the answer to the user's terminal.
[0052] User device:
[0053] The user receives the answer generated on the terminal and displayed on the screen.
[0054] Track your learning progress
[0055] server:
[0056] The server records each user's question history and generated answers, and tracks their learning progress, thereby building a detailed learning history for each user.
[0057] User device:
[0058] To check their learning progress, users can send a progress check request from their device. The server extracts the relevant information from the user database and returns it to the user.
[0059] Learning materials suggestions
[0060] User:
[0061] If a user requests more learning materials on a particular learning topic, for example, they may type "Please suggest learning materials on differential equations" and submit.
[0062] server:
[0063] The server receives the request for learning material suggestions and sends the request to an artificial intelligence engine, which then suggests appropriate learning materials on the topic.
[0064] Artificial Intelligence Engine:
[0065] The engine generates suggestions such as "a detailed textbook on differential equations."
[0066] server:
[0067] The server stores the generated suggestions in a user database and returns the learning material suggestions received from the engine to the user terminal.
[0068] User device:
[0069] Users can receive the suggested learning materials on their devices and use them for their studies.
[0070] Specific examples
[0071] For example, if a learner asks, "What is the dot product of vectors?", the server sends this question to the AI engine. The AI engine generates the answer, "The dot product of vectors is the operation of multiplying each component of two vectors and then finding the sum." The generated answer is sent back to the user's device via the server, allowing the learner to check the answer.
[0072] Also, if a learner requests, "Please suggest learning materials on the dot product of vectors," the AI engine will suggest learning materials on that topic (e.g., "A detailed textbook on the dot product of vectors").
[0073] In this way, the learning support system of the present invention responds quickly to users' questions, effectively manages their learning progress, and suggests appropriate learning materials, thereby providing an efficient learning experience that meets their individual learning needs.
[0074] The processing flow will be explained below.
[0075] Step 1:
[0076] User:
[0077] The user inputs and submits a question related to the study from the terminal. This question is sent to the server as an HTTP POST request. For example, the user inputs the question "What is a differential equation?"
[0078] Step 2:
[0079] server:
[0080] The server receives a question from the user and extracts the user ID and question content included in the request.
[0081] python
[0082] user_id = request.json['user_id']
[0083] question = request.json['question']
[0084] Step 3:
[0085] server:
[0086] The server checks the user database to see if a record with the corresponding user ID exists. If not, it creates new user data.
[0087] python
[0088] if user_id not in user_data:
[0089] user_data[user_id] = {'questions': [], 'materials': []}
[0090] Step 4:
[0091] server:
[0092] The server makes an API request to send a question to an artificial intelligence engine, such as the OpenAI engine.
[0093] python
[0094] response = openai.Completion.create(
[0095] engine="davinci",
[0096] prompt=question,
[0097] max_tokens=100
[0098] )
[0099] Step 5:
[0100] Artificial Intelligence Engine:
[0101] The AI engine generates appropriate answers to questions received from the server, such as "A differential equation is an equation that describes the rate of change of a function."
[0102] Step 6:
[0103] server:
[0104] The server receives the answer generated by the AI engine and stores it in a record corresponding to the user ID.
[0105] python
[0106] answer = response['choices'][0]['text'].strip()
[0107] user_data[user_id]['questions'].append({'question': question, 'answer': answer})
[0108] Step 7:
[0109] server:
[0110] The server returns the generated answer to the user terminal as an HTTP response.
[0111] python
[0112] return jsonify({'answer': answer})
[0113] Step 8:
[0114] User:
[0115] The user receives the answer generated on the device and displayed on the screen, for example, "A differential equation is an equation that describes the rate of change of a function."
[0116] Step 9:
[0117] User:
[0118] To check the user's learning progress, the user sends a progress check request from the device. This request is sent using an HTTP GET request.
[0119] Step 10:
[0120] server:
[0121] The server retrieves the learning progress data for the corresponding user ID from the user database and returns it to the user terminal as an HTTP response.
[0122] python
[0123] return jsonify(user_data[user_id])
[0124] Step 11:
[0125] User:
[0126] Users can check their learning progress on their device, including a history of questions asked and answers.
[0127] Step 12:
[0128] User:
[0129] A user requests suggested learning materials for a specific learning topic. This request is sent as an HTTP POST request. For example, the user might type "Please suggest learning materials for differential equations."
[0130] Step 13:
[0131] server:
[0132] The server receives a request for suggesting learning materials and extracts topic information contained in the request.
[0133] python
[0134] topic = request.json['topic']
[0135] Step 14:
[0136] server:
[0137] The server sends a request for teaching material suggestions to an artificial intelligence engine, such as the OpenAI engine.
[0138] python
[0139] material_suggestion = openai.Completion.create(
[0140] engine="davinci",
[0141] prompt=f"Suggest study materials for {topic}",
[0142] max_tokens=100
[0143] )
[0144] Step 15:
[0145] Artificial Intelligence Engine:
[0146] The AI engine generates suggestions for appropriate learning materials based on topic information, such as "an in-depth textbook on differential equations."
[0147] Step 16:
[0148] server:
[0149] The server receives the suggested learning materials generated by the AI engine and stores them in a record corresponding to the user ID.
[0150] python
[0151] suggestion = material_suggestion['choices'][0]['text'].strip()
[0152] user_data[user_id]['materials'].append(suggestion)
[0153] Step 17:
[0154] server:
[0155] The server returns the generated teaching material suggestions to the user terminal as an HTTP response.
[0156] python
[0157] return jsonify({'suggestion': suggestion})
[0158] Step 18:
[0159] User:
[0160] The user receives suggested learning materials on their device and they are displayed on the screen, for example, "A detailed textbook on differential equations."
[0161] Example 1
[0162] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0163] Conventional learning systems have difficulty responding to user questions quickly and have been unable to provide appropriate learning materials tailored to individual learning needs. Furthermore, they lack the functionality to effectively track and accumulate each user's learning progress, preventing them from fully improving user learning efficiency.
[0164] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0165] In this invention, the server includes means for accepting questions from users, means for connecting to an AI engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, and means for saving the questions and answers to the questions for each user. This makes it possible to respond quickly and appropriately to users' questions, provide learning support that meets individual learning needs, and effectively manage and store each user's learning progress.
[0166] A "user" is an individual or group that uses the system to learn or ask questions.
[0167] The "means for accepting questions" is a function including an interface for receiving questions from users and inputting the content of those questions into the system.
[0168] An "artificial intelligence engine" is a software system that includes machine learning algorithms and natural language processing models to generate appropriate answers to questions it receives.
[0169] The "means for returning the generated answer to the user" is an interface that includes communication and display functions for transmitting the answer generated by the artificial intelligence engine to the user terminal and displaying it.
[0170] The "means for tracking learning progress" refers to a database and analysis system that records the user's question history and generated answers, and manages and understands the learning progress.
[0171] The "means for suggesting learning materials" is a function including an algorithm and an interface for selecting and suggesting optimal learning materials based on the user's requests and learning progress.
[0172] The "means for saving questions and answers" is a function that records the questions and generated answers for each user and saves them in a database for later reference and analysis.
[0173] "Database" means an electronic information system for systematically storing and managing information such as a user's question history, generated answers, learning progress, and suggested learning materials.
[0174] Overall system overview
[0175] The learning support system of the present invention comprises a user terminal, a server, and an artificial intelligence engine. The user terminal includes a communication device such as a personal computer or smartphone, and the server receives questions from users and transmits and processes the questions to the artificial intelligence engine. The artificial intelligence engine generates answers using, for example, a model with a machine learning algorithm (e.g., GPT-3) and returns them to the user via the server.
[0176] Accepting user questions
[0177] User: The user inputs and submits a question related to the study from a terminal (e.g., a PC or smartphone). For example, the user inputs and submits the question "What is a differential equation?" In this case, the terminal interface includes a question input form.
[0178] Receiving questions and user confirmation
[0179] Server: The server receives the question and user ID sent by the user. Then, the server checks its user database and creates a new record if the corresponding user ID does not exist.
[0180] Submit your question
[0181] Server: The server sends the received question to an AI engine (e.g., GPT-3) by generating an API request and sending it along with the question.
[0182] Generate answers
[0183] Artificial Intelligence Engine: The artificial intelligence engine generates appropriate answers to questions sent from the server, for example, "A differential equation is an equation that describes the rate of change of a function."
[0184] Save and return answers
[0185] Server: The server receives the generated answer, stores it in the user database, records it as a question history, and then sends the answer back to the user's device.
[0186] User terminal: The user's terminal receives the response sent back from the server and displays it on the screen.
[0187] Track your learning progress
[0188] Server: The server records each user's question history and generated answers, and tracks their learning progress, thereby building a detailed learning history for each user.
[0189] User terminal: The user can send a request to check their learning progress from their terminal. The server extracts the relevant information from the user database and returns it to the user.
[0190] Request study materials
[0191] User: If a user requests more learning materials on a specific learning topic, for example, they can type "Please suggest learning materials on differential equations" and submit.
[0192] Teaching material suggestions
[0193] Server: The server receives the request for learning material suggestions and sends the request to the AI engine, which then suggests appropriate learning materials on the topic.
[0194] Artificial intelligence engine: The engine generates suggestions such as "an in-depth textbook on differential equations."
[0195] Server: The server stores the generated suggestions in the user database and sends back the learning material suggestions received from the engine to the user's device.
[0196] User device: Users can receive suggested learning materials on their device and use them for their studies.
[0197] Examples and prompts
[0198] Example: If a learner asks, "What is the dot product of vectors?", the server sends this question to an AI engine. The AI engine generates the answer, "The dot product of vectors is the operation of multiplying each component of two vectors and then finding the sum." The generated answer is sent back to the user's device via the server, allowing the learner to check the answer.
[0199] Example prompt sentence:
[0200] Q: What is the dot product of vectors?
[0201] T: Please suggest some teaching materials on the dot product of vectors.
[0202] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0203] Step 1:
[0204] The user inputs and submits questions related to the study from a terminal (for example, a PC or a smartphone).
[0205] Specific action: A user uses a terminal interface to enter a question such as "What is a differential equation?" and presses the send button.
[0206] Input: The question entered by the user.
[0207] Output: Question data sent from the device to the server.
[0208] Step 2:
[0209] The server accepts the question and user ID sent by the user.
[0210] Specific operation: The server receives an HTTP POST request and obtains the question and user ID via the API.
[0211] Input: HTTP request sent from the terminal (question data and user ID).
[0212] Output: A data structure containing the question and the user ID.
[0213] Step 3:
[0214] The server checks its user database and, if the corresponding user ID does not exist, creates a new record.
[0215] What happens: The server performs a database query to check if the user ID exists. If the user ID does not exist, it inserts a new user record into the database.
[0216] Input: Question and user ID.
[0217] Output: The result of inserting the user record into the database.
[0218] Step 4:
[0219] The server sends the received question to the artificial intelligence engine.
[0220] Specific operation: The server converts the question content into JSON format and sends an HTTP POST request to the API of the artificial intelligence engine (e.g., GPT-3).
[0221] Input: The question.
[0222] Output: API request to the artificial intelligence engine.
[0223] Step 5:
[0224] The artificial intelligence engine generates appropriate answers to questions sent by the server.
[0225] What it does: The engine analyzes the question, uses the model to generate an answer, and sends it back to the server in JSON format.
[0226] Input: The question data sent by the server.
[0227] Output: The generated response data.
[0228] Step 6:
[0229] The server receives the generated answer, stores it in the user database, records it as a question history, and then returns the answer to the user's terminal.
[0230] Specific operation: The server stores the answer in a database and updates the user's question history. Then, it converts the answer from JSON to text format and sends it to the user's device as an HTTP response. This process uses a secure protocol (HTTPS).
[0231] Input: The generated response data.
[0232] Output: The saved database entry and the HTTP response to the user's device.
[0233] Step 7:
[0234] The user's terminal receives the response sent back from the server and displays it on the screen.
[0235] Specific operation: The application on the user terminal analyzes the response received from the server and displays it on the user interface.
[0236] Input: The response data received from the server.
[0237] Output: Answers displayed on the terminal screen.
[0238] Step 8:
[0239] The server records each user's question history and generated answers, and tracks their learning progress.
[0240] Specific operation: The server periodically analyzes learning progress data and visualizes it on a dashboard, etc. If necessary, it notifies the user of progress alerts and reminders.
[0241] Input: Question history and answer data.
[0242] Output: Learning progress report and visualization data.
[0243] Step 9:
[0244] The user can send a request to check the learning progress from the terminal.
[0245] Specific operation: When a user presses the "Check learning progress" button in the app, a request is sent to the server and the latest learning progress is displayed on the screen.
[0246] Input: The user request.
[0247] Output: Extraction and display of learning progress data.
[0248] Step 10:
[0249] When a user requests more learning materials on a particular learning topic, the server sends a request to the artificial intelligence engine.
[0250] Specific operation: The user types in "Please suggest teaching materials related to differential equations" and presses the submit button. The request is sent to the AI engine via the server.
[0251] Input: The user request.
[0252] Output: API request to the artificial intelligence engine.
[0253] Step 11:
[0254] The artificial intelligence engine suggests appropriate learning materials and sends them back to the server.
[0255] What it does: The engine analyzes the request, selects the most suitable learning material from a large dataset, and generates recommendations. This information is sent back to the server in JSON format.
[0256] Input: User request data.
[0257] Output: Suggested learning material data.
[0258] Step 12:
[0259] The server stores the generated suggestions in a user database and returns the learning material suggestions received from the engine to the user terminal.
[0260] Specific operation: The server saves the suggestions in a database and sends them to the user's device as an HTTP response. The user can then view the suggestions on their device.
[0261] Input: Proposed learning material data.
[0262] Output: The saved database entry and the HTTP response to the user's device.
[0263] Step 13:
[0264] The user's terminal receives the suggested learning materials sent back from the server and uses them for learning.
[0265] Specific operation: The application on the user's device analyzes the proposed learning materials and displays them on the user interface. The user can then view the materials and proceed with specific learning.
[0266] Input: Learning material suggestion data received from the server.
[0267] Output: Study material suggestions displayed on the device screen.
[0268] (Application example 1)
[0269] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0270] Previous learning support systems faced challenges, such as difficulty in responding appropriately to individual user needs and tracking learning progress in real time. Furthermore, detailed suggestions for learning materials based on the user's learning history were insufficient. Furthermore, efficient learning support using mobile devices such as smartphones was not available, and the environment for learners to immediately progress in their studies was not yet in place.
[0271] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0272] In this invention, the server includes means for accepting questions from users, means for connecting to an AI engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, means for sending questions from a smartphone and receiving answers in real time, and means for suggesting detailed learning materials based on the question history. This allows users to instantly ask questions using their smartphones and receive answers from the AI engine. Furthermore, appropriate learning materials can be automatically suggested based on the learning history, enabling detailed learning support tailored to each user's learning progress.
[0273] The "means for accepting questions from users" is an interface that allows users to input questions related to their studies and send them to the server.
[0274] The "means for connecting to an AI engine that generates an answer to the question" is a function that sends the accepted question to the AI engine and mediates the process of generating the corresponding answer.
[0275] The "means for returning the generated answer to the user" is a function for returning the answer generated by the artificial intelligence engine to the user's terminal and displaying it on the screen.
[0276] The "means for tracking the user's learning progress" is a function for recording each user's learning activities in a database and managing the progress status.
[0277] "Means for suggesting learning materials based on user requests" refers to a function that utilizes an artificial intelligence engine to suggest appropriate learning materials when a user requests further study on a specific topic.
[0278] "Means for sending questions from a smartphone and receiving answers in real time" is a function that allows a user to input and send questions using a smartphone and receive answers from a server in real time.
[0279] The "means for suggesting detailed study materials based on question history" is a function for suggesting optimal study materials based on the user's past question history and learning progress.
[0280] This invention is a system that provides learning support to users, and is mainly composed of a server, a user terminal (such as a smartphone), and an artificial intelligence engine. The specific operations of these components and the hardware and software used are described below.
[0281] Accepting questions
[0282] User:
[0283] The user uses a smartphone to input and send a question related to their studies, such as "Please tell me the basics of differential equations."
[0284] Receiving and processing questions
[0285] server:
[0286] The server receives the question sent by the user and analyzes the question. Next, it obtains the question and the user ID and sends them to the AI engine. At this time, the server communicates with the AI engine using an HTTP request.
[0287] Generate and return answers
[0288] Artificial Intelligence Engine:
[0289] The AI engine (e.g., GPT-3) generates appropriate answers to questions received from the server, such as "A differential equation is an equation that describes the rate of change of a function."
[0290] server:
[0291] The server receives the generated answers and returns them to the user's device. At the same time, the server records the user's question history and answers in a learning progress database.
[0292] Show Answers
[0293] User device:
[0294] Users receive answers on their smartphones and they are displayed on the screen, a process that allows for immediate resolution of questions and promotes effective learning.
[0295] Track your learning progress
[0296] server:
[0297] The server records each user's question history and generated answers, and tracks their learning progress. This information can be used later when the user wishes to check their progress.
[0298] Learning materials suggestions
[0299] User:
[0300] If a user requests more learning materials on a particular learning topic, they can type "Suggest learning materials on differential equations" and submit.
[0301] server:
[0302] The server receives the request for suggesting learning materials and sends the request to the artificial intelligence engine.
[0303] Artificial Intelligence Engine:
[0304] The AI engine will suggest suitable learning materials on the topic, generating suggestions such as "an in-depth textbook on differential equations."
[0305] server:
[0306] The server sends the generated suggestions back to the user for viewing.
[0307] Examples and prompts
[0308] For example, if a learner asks, "What is the dot product of vectors?", the server sends this question to the AI engine. The AI engine generates the answer, "The dot product of vectors is the operation of multiplying each component of two vectors and finding the sum." The generated answer is sent back to the user's device via the server, where the learner can check the answer. Also, if a learner requests, "Please suggest teaching materials on the dot product of vectors," the AI engine will suggest, "A detailed textbook on the dot product of vectors."
[0309] Prompt Sentence Examples
[0310] User Question: "What is the dot product of vectors?"
[0311] Prompt the AI engine: "The dot product of vectors is the operation of multiplying two vectors component by component and then finding the sum."
[0312] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0313] Step 1:
[0314] User: Enters and submits a question related to learning through a smartphone app. For example, "Please tell me the basics of differential equations." The input for this step is the user's question, and the output is the question data sent to the server.
[0315] Step 2:
[0316] Server: Receives the question and obtains the question content along with the user ID. This data is saved in the form of question and user information. The server then sends the question data to the AI engine. The input is the received question data, and the output is a request to the AI engine.
[0317] Step 3:
[0318] Artificial intelligence engine: Analyzes the submitted question data and generates an appropriate answer. For example, it generates an answer such as "A differential equation is an equation that describes the rate of change of a function." The input for this step is the question data sent from the server, and the output is the generated answer. Data processing uses natural language processing and machine learning algorithms to generate the answer.
[0319] Step 4:
[0320] Server: Stores the answer received from the AI engine in association with the user ID. At the same time, it returns the answer to the user's device. The input to this step is the answer data from the AI engine, and the output is the stored answer data and the answer sent to the user's device. Data processing includes recording the data in a database.
[0321] Step 5:
[0322] User device: The answer received on the smartphone is displayed. For example, the screen displays "A differential equation is an equation that describes the rate of change of a function." The input for this step is the answer data from the server, and the output is the displayed answer. The operation involves visually providing the answer to the user using the device's GUI.
[0323] Step 6:
[0324] Server: Records the user's question history and answers in a database and tracks their learning progress. The input to this step is the question history and answer data, and the output is the tracked learning progress information. Data operations include adding and updating to the database.
[0325] Step 7:
[0326] User: To request additional learning materials, the user sends a message from their smartphone saying, "Please suggest learning materials related to differential equations." The input of this step is a new learning request, and the output is the request data sent to the server.
[0327] Step 8:
[0328] Server: Receives learning material requests from users and sends them to the AI engine. The input is the request data, and the output is the request to the AI engine.
[0329] Step 9:
[0330] Artificial Intelligence Engine: Suggests appropriate learning materials based on learning history and requests. For example, it suggests "an in-depth textbook on differential equations." The input of this step is the user's learning history and learning material request, and the output is the suggested learning materials.
[0331] Step 10:
[0332] Server: Stores the suggested learning materials in a database and returns them to the user. The input is the suggested learning material data from the AI engine, and the output is the stored learning material data and transmission to the user.
[0333] Step 11:
[0334] User device: The smartphone displays the learning material suggestions received. For example, "Detailed textbook on differential equations" is displayed. The input of this step is the learning material suggestion data from the server, and the output is the displayed learning material suggestion content.
[0335] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0336] The learning support system of the present invention has the function of accepting questions from users, generating appropriate answers using an artificial intelligence engine, and returning them to the user. It also tracks the user's learning progress and suggests learning materials as needed, providing effective learning support tailored to individual learning needs. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it becomes possible to respond flexibly based on the user's emotions.
[0337] System Configuration
[0338] The system includes a server, a user terminal, an artificial intelligence engine, and an emotion engine.
[0339] Accepting questions
[0340] User:
[0341] The user inputs and submits a question related to the study from the terminal. This question is sent to the server as an HTTP POST request. For example, the user inputs the question "What is a differential equation?"
[0342] Receiving and processing questions
[0343] server:
[0344] The server receives a question from the user and extracts the user ID and question content included in the request.
[0345] python
[0346] user_id = request.json['user_id']
[0347] question = request.json['question']
[0348] server:
[0349] Check the user database, and if a record with the corresponding user ID does not exist, create new user data.
[0350] python
[0351] if user_id not in user_data:
[0352] user_data[user_id] = {'questions': [], 'materials': [], 'emotions': []}
[0353] Emotion recognition
[0354] server:
[0355] The server uses an emotion engine to extract emotions from the user's input, for example identifying that the user is "confused" based on the context and tone of the voice.
[0356] python
[0357] emotion = emotion_engine.analyze(question)
[0358] user_data[user_id]['emotions'].append(emotion)
[0359] Generate and return answers
[0360] server:
[0361] The server sends the question and emotional information to the artificial intelligence engine, which generates an appropriate answer.
[0362] python
[0363] response = openai.Completion.create(
[0364] engine="davinci",
[0365] prompt=f"{question} Emotion: {emotion}",
[0366] max_tokens=100
[0367] )
[0368] Artificial Intelligence Engine:
[0369] The AI engine generates answers based on the questions and emotional information sent from the server. For example, it generates an answer like, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we will explain in more detail."
[0370] server:
[0371] The server that receives the generated answer saves the answer in the user database and records it as a question history.
[0372] python
[0373] answer = response['choices'][0]['text'].strip()
[0374] user_data[user_id]['questions'].append({'question': question, 'answer': answer, 'emotion': emotion})
[0375] server:
[0376] The server returns the generated answer to the user terminal as an HTTP response.
[0377] python
[0378] return jsonify({'answer': answer})
[0379] User device:
[0380] The user receives an answer generated on their device and displayed on the screen. For example, the answer might read, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we'll explain in more detail."
[0381] Track your learning progress
[0382] server:
[0383] The server records each user's question history, generated answers, and emotional information, and tracks their learning progress, thereby accumulating a detailed learning history for each user.
[0384] User device:
[0385] To check their learning progress, users send a progress check request from their terminal. The server extracts the relevant information from the user database and returns it to the user.
[0386] python
[0387] return jsonify(user_data[user_id])
[0388] Learning materials suggestions
[0389] User:
[0390] If a user requests more learning materials on a particular learning topic, for example, they may type "Please suggest learning materials on differential equations" and submit.
[0391] server:
[0392] The server receives a request for suggesting learning materials and extracts topic information and sentiment information contained in the request.
[0393] python
[0394] topic = request.json['topic']
[0395] emotion = user_data[user_id]['emotions'][-1] Get the latest emotion information
[0396] server:
[0397] The server sends a request containing topic and sentiment information to an artificial intelligence engine, such as the OpenAI engine.
[0398] python
[0399] material_suggestion = openai.Completion.create(
[0400] engine="davinci",
[0401] prompt=f"Suggest study materials for {topic}. Emotion: {emotion}",
[0402] max_tokens=100
[0403] )
[0404] Artificial Intelligence Engine:
[0405] The engine generates appropriate learning material suggestions based on topic and sentiment information, such as "detailed textbooks, video tutorials, and exercises on differential equations."
[0406] server:
[0407] The server stores the generated teaching material suggestions in a user database and returns the teaching material suggestions received from the engine to the user terminal.
[0408] python
[0409] suggestion = material_suggestion['choices'][0]['text'].strip()
[0410] user_data[user_id]['materials'].append(suggestion)
[0411] return jsonify({'suggestion': suggestion})
[0412] User device:
[0413] The user receives suggested learning materials on the device and they are displayed on the screen, for example, "Detailed textbook, video explanations, and exercises on differential equations."
[0414] In this way, the learning support system of the present invention responds quickly to user questions, efficiently manages learning progress, and suggests appropriate learning materials. Furthermore, by combining it with an emotion engine, it becomes possible to respond flexibly based on the user's emotions, thereby providing even more comprehensive learning support.
[0415] The processing flow will be explained below.
[0416] Step 1:
[0417] User:
[0418] The user inputs and submits a question related to the study from the terminal. This question is sent to the server as an HTTP POST request. For example, the user inputs the question "What is a differential equation?"
[0419] Step 2:
[0420] server:
[0421] The server receives a question from the user and extracts the user ID and question content included in the request.
[0422] python
[0423] user_id = request.json['user_id']
[0424] question = request.json['question']
[0425] Step 3:
[0426] server:
[0427] The server checks the user database, and if there is no record for the corresponding user ID, it creates new user data.
[0428] python
[0429] if user_id not in user_data:
[0430] user_data[user_id] = {'questions': [], 'materials': [], 'emotions': []}
[0431] Step 4:
[0432] server:
[0433] The server sends the question to the emotion engine and recognizes the user's emotion. For example, it identifies the emotion "confused" in response to the user's question.
[0434] python
[0435] emotion = emotion_engine.analyze(question)
[0436] user_data[user_id]['emotions'].append(emotion)
[0437] Step 5:
[0438] server:
[0439] The server sends the question to the AI engine with the question content and emotional information attached. At this time, the server sets the engine to be used (e.g., machine learning algorithm), the question content, and the emotional information, and then sends the request.
[0440] python
[0441] response = openai.Completion.create(
[0442] engine="davinci",
[0443] prompt=f"{question} Emotion: {emotion}",
[0444] max_tokens=100
[0445] )
[0446] Step 6:
[0447] Artificial Intelligence Engine:
[0448] The AI engine generates answers based on the questions and emotional information sent from the server. For example, it generates an answer like, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we will explain in more detail."
[0449] Step 7:
[0450] server:
[0451] The server that receives the generated answer saves the answer in the user database and records it as a question history.
[0452] python
[0453] answer = response['choices'][0]['text'].strip()
[0454] user_data[user_id]['questions'].append({'question': question, 'answer': answer, 'emotion': emotion})
[0455] Step 8:
[0456] server:
[0457] The server returns the generated answer to the user terminal as an HTTP response.
[0458] python
[0459] return jsonify({'answer': answer})
[0460] Step 9:
[0461] User device:
[0462] The user receives an answer generated on their device and displayed on the screen. For example, the answer might read, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we'll explain in more detail."
[0463] Step 10:
[0464] User:
[0465] To check the user's learning progress, the user sends a progress check request from the device. This request is sent using an HTTP GET request.
[0466] Step 11:
[0467] server:
[0468] The server retrieves the learning progress data for the corresponding user ID from the user database and returns it to the user terminal as an HTTP response.
[0469] python
[0470] return jsonify(user_data[user_id])
[0471] Step 12:
[0472] User:
[0473] Users can check their learning progress on their device, including a history of questions asked and answers.
[0474] Step 13:
[0475] User:
[0476] A user requests suggested learning materials for a specific learning topic. This request is sent as an HTTP POST request. For example, the user might type "Please suggest learning materials for differential equations."
[0477] Step 14:
[0478] server:
[0479] The server receives a request for suggesting learning materials and extracts topic information and the latest sentiment information contained in the request.
[0480] python
[0481] topic = request.json['topic']
[0482] emotion = user_data[user_id]['emotions'][-1] Get the latest emotion information
[0483] Step 15:
[0484] server:
[0485] The server sends a request containing topic and sentiment information to an artificial intelligence engine, such as the OpenAI engine.
[0486] python
[0487] material_suggestion = openai.Completion.create(
[0488] engine="davinci",
[0489] prompt=f"Suggest study materials for {topic}. Emotion: {emotion}",
[0490] max_tokens=100
[0491] )
[0492] Step 16:
[0493] Artificial Intelligence Engine:
[0494] The engine generates appropriate learning material suggestions based on topic and sentiment information, such as "detailed textbooks, video tutorials, and exercises on differential equations."
[0495] Step 17:
[0496] server:
[0497] The server stores the generated teaching material suggestions in the user database and returns the suggestions to the user terminal as an HTTP response.
[0498] python
[0499] suggestion = material_suggestion['choices'][0]['text'].strip()
[0500] user_data[user_id]['materials'].append(suggestion)
[0501] return jsonify({'suggestion': suggestion})
[0502] Step 18:
[0503] User device:
[0504] The user receives suggested learning materials on the device and they are displayed on the screen, for example, "Detailed textbook, video explanations, and exercises on differential equations."
[0505] Example 2
[0506] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0507] Conventional learning support systems were unable to fully reflect the individual learning needs and progress of users, making it difficult to provide effective learning support. Furthermore, they struggled to respond flexibly and consider the user's feelings, often resulting in only one-sided answers. As a result, users' learning efficiency declined, and their motivation to learn waned.
[0508] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0509] In this invention, the server includes means for accepting questions from users, means for connecting to an artificial intelligence engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, means for extracting emotional information using an emotion engine that recognizes the user's emotions, and means for responding flexibly based on the emotional information. This enables effective learning support that meets individual learning needs and flexible responses that correspond to the user's emotions.
[0510] A "user" is a person who uses the system to input questions and receive learning support.
[0511] A "question" is a question or inquiry that a user inputs in relation to their studies.
[0512] A "means" is a part of a device or program that is provided to perform a specific function or process.
[0513] An "artificial intelligence engine" is an AI technology and its execution platform used to answer questions and suggest learning materials.
[0514] An "emotion engine" is a technology and its implementation platform for extracting emotional information from user input text.
[0515] An "answer" is a response generated by an artificial intelligence engine in response to a question.
[0516] "Study progress" is information indicating the history and achievement level of the user's learning activities.
[0517] "Learning materials" are educational content such as handouts, videos, and exercises that users can use to further their studies.
[0518] "Means of connection" refers to the technology and protocols that allow multiple devices or programs to communicate with each other.
[0519] "Returning means" refers to the technique or method for transmitting generated answers or suggestions to the user.
[0520] "Tracking tools" are techniques and methods for continuously recording users' learning activities and monitoring their progress.
[0521] "Means of extraction" refers to techniques or methods for extracting specific information from input data.
[0522] "Flexible response" refers to the ability to adaptively change the support content according to the user's emotions and learning progress.
[0523] The learning support system of the present invention includes the following main components: a server, a user terminal, an artificial intelligence engine, and an emotion engine.
[0524] Accepting questions
[0525] User:
[0526] Users can input and submit questions related to their studies from their devices. These questions are sent to the server as HTTP POST requests. For example, a user can input a question such as "What is a differential equation?"
[0527] Receiving and processing questions
[0528] server:
[0529] The server receives a question from the user, extracts the user ID and question contained in the request, checks the user database, and if there is no record for the corresponding user ID, creates new user data.
[0530] Emotion recognition
[0531] server:
[0532] The server uses an emotion engine to extract emotions from the user's input, for example identifying that the user is "confused" based on the context and tone of the words. This emotion information is stored in the user data.
[0533] Generate and return answers
[0534] server:
[0535] The server sends the question and emotional information to the AI engine to generate an appropriate answer. Specifically, it generates the following prompt sentence:
[0536] "What are differential equations? Emotion: Confused"
[0537] Artificial Intelligence Engine:
[0538] The AI engine uses OpenAI's generative AI model to generate answers based on the question and sentiment sent from the server, such as, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we'll explain them in more detail."
[0539] server:
[0540] The server receives the generated answer, saves it in the user database, records it as a question history, and returns the generated answer to the user terminal as an HTTP response.
[0541] User device:
[0542] The user receives the answer generated on their device and displays it on the screen. For example, the answer might read, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we will explain in more detail."
[0543] Track your learning progress
[0544] server:
[0545] The server records each user's question history, generated answers, and emotional information, and tracks their learning progress, thereby accumulating a detailed learning history for each user.
[0546] User device:
[0547] To check their learning progress, users send a progress check request from their terminal. The server extracts the relevant information from the user database and returns it to the user.
[0548] Learning materials suggestions
[0549] User:
[0550] If a user requests more learning materials on a particular learning topic, for example, they may type "Please suggest learning materials on differential equations" and submit.
[0551] server:
[0552] The server receives a request for suggesting learning materials and extracts topic information and sentiment information contained in the request.
[0553] server:
[0554] The server sends a request containing topic and sentiment information to the AI engine, generating a prompt like the following:
[0555] "Please suggest some teaching materials on differential equations. Emotion: Confused"
[0556] Artificial Intelligence Engine:
[0557] The AI engine generates appropriate learning material suggestions based on topic and sentiment information, such as "detailed textbooks, video tutorials, and exercises on differential equations."
[0558] server:
[0559] The server stores the generated teaching material suggestions in a user database and returns the suggestions to the user terminal.
[0560] User device:
[0561] The user receives suggested learning materials on their device and displays them on the screen, for example, "Detailed textbook, video explanations, and exercises on differential equations."
[0562] In this way, the learning support system of the present invention responds quickly to user questions, efficiently manages learning progress, and suggests appropriate learning materials. Furthermore, by combining it with an emotion engine, it becomes possible to respond flexibly based on the user's emotions, providing even more comprehensive learning support.
[0563] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0564] Step 1: Accepting user questions
[0565] User: The user enters and submits a question related to their learning from their device. This question is sent to the server as an HTTP POST request.
[0566] Input: A user-entered question (e.g., "What is a differential equation?")
[0567] Output: The question is sent to the server
[0568] Step 2: Receiving and processing questions
[0569] Server: The server receives the question from the user and extracts the user ID and question content from the request.
[0570] Input: HTTP POST request (user ID, question)
[0571] Output: User ID and question extracted
[0572] Server: Checks the user database and creates new user data if a record with the corresponding user ID does not exist.
[0573] Input: Extracted user ID
[0574] Output: Creation or verification of user data
[0575] Step 3: Recognize emotions
[0576] Server: The server uses an emotion engine to extract emotions from the user's input. Based on the context and tone of the voice, it identifies that the user is "confused."
[0577] Input: User's question
[0578] Output: Emotional information (e.g., "confused")
[0579] Server: Stores emotion information in user data.
[0580] Input: Emotion information
[0581] Output: Emotion information is stored in the user database
[0582] Step 4: Generate and return the answer
[0583] Server: The server sends the question and emotion information to the AI engine to generate an appropriate answer.
[0584] Input: Question content, emotion information
[0585] Output: Generate and send a prompt (e.g., "What is a differential equation? Emotion: Confused")
[0586] Artificial Intelligence Engine: The artificial intelligence engine generates answers based on questions and sentiment information.
[0587] Input: prompt statement
[0588] Output: Answer (e.g., "A differential equation is an equation that describes the rate of change of a function...")
[0589] Server: Receives the generated answers, stores them in the user database, and records them as question history.
[0590] Input: Answer
[0591] Output: Answers are saved in the user database
[0592] Server: The generated answer is sent back to the user's device as an HTTP response.
[0593] Input: Answer
[0594] Output: The answer is sent to the user's device.
[0595] User terminal: The user receives the answer generated on the terminal and displays it on the screen.
[0596] Input: HTTP response (answer text)
[0597] Output: The answer is displayed on the screen
[0598] Step 5: Track your progress
[0599] Server: The server records each user's question history, generated answers, and sentiment information, and tracks their learning progress.
[0600] Input: User question history, generated answers, sentiment information
[0601] Output: Learning progress data is accumulated.
[0602] User device: To check the learning progress, the user sends a progress check request from the device.
[0603] Input: Progress Check Request
[0604] Output: The request is sent to the server
[0605] Server: The server extracts the relevant information from the user database and returns it to the user.
[0606] Input: Learning progress data from the user database
[0607] Output: Progress information is sent to the user's terminal
[0608] Step 6: Suggest learning materials
[0609] User: If a user requests more learning materials on a specific learning topic, for example, they can type "Please suggest learning materials on differential equations" and submit.
[0610] Input: Request for learning materials (e.g., "Please suggest learning materials on differential equations")
[0611] Output: The request is sent to the server
[0612] Server: The server receives a request for suggesting learning materials and extracts topic and sentiment information from the request.
[0613] Input: Request details, emotional information
[0614] Output: Extraction of topic and sentiment information
[0615] Server: The server sends a request to the AI engine containing topic and sentiment information.
[0616] Input: Topic information, sentiment information
[0617] Output: Generate and send a prompt (e.g., "Please suggest educational materials on differential equations. Emotion: Confused")
[0618] Artificial Intelligence Engine: The engine generates appropriate learning material suggestions based on topic and sentiment information.
[0619] Input: prompt statement
[0620] Output: Suggested study materials (e.g., "Detailed textbook, video tutorials, and practice questions")
[0621] Server: The server stores the generated teaching material suggestions in the user database and sends the teaching material suggestions received from the engine back to the user terminal.
[0622] Input: Study material suggestions
[0623] Output: The proposal is saved in the user database and sent to the user's device.
[0624] User terminal: The user receives the suggested learning materials on their terminal and displays them on the screen.
[0625] Input: Study material suggestions
[0626] Output: Learning materials are displayed on the screen
[0627] As described above, the system of the present invention includes a plurality of specific processing steps, each of which processes data based on input from the user, and ultimately provides the user with appropriate answers and educational materials.
[0628] (Application example 2)
[0629] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0630] While conventional learning support systems were able to respond to individual learning needs in online environments, they had limitations in terms of customer support in physical stores and flexible, real-time customer responses. Furthermore, it was difficult to respond based on customer emotions, making it difficult to improve customer satisfaction. There is a need to solve these problems and improve the customer experience in physical stores.
[0631] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0632] In this invention, the server includes means for accepting questions from users, means for connecting to an artificial intelligence engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, means for recognizing emotions from the customer's voice or facial expression, and means for flexibly responding based on the recognized emotional information. This enables prompt and appropriate customer support even in physical stores, thereby improving customer satisfaction.
[0633] The "means for accepting questions" refers to an interface for receiving questions from the user by voice input or text input and sending them to the server.
[0634] An "artificial intelligence engine that generates answers" refers to an artificial intelligence system that has the functionality to generate appropriate answers to questions received from users.
[0635] "Means for returning the generated answer to the user" refers to a communication means for displaying or notifying the user of the answer generated by the artificial intelligence engine.
[0636] "Means for tracking learning progress" refers to a database and analysis function for recording a user's question history and the answers received, and tracking the learning progress based on that.
[0637] "Means for suggesting learning materials" refers to recommendation algorithms and interfaces for selecting and suggesting appropriate learning materials based on user requirements.
[0638] "Means for recognizing emotions" refers to software and hardware for analyzing and identifying the emotional state of a user from their voice and facial expressions.
[0639] "Flexible response means" refers to a dynamic response system that provides optimal answers and responses to users based on recognized emotional information.
[0640] The present invention provides a learning support system for accepting a user's question, generating an appropriate answer, and returning it to the user. Specific embodiments for carrying out the present invention will be described below.
[0641] This system includes a server, a user terminal, an artificial intelligence engine, and an emotion engine. Users input questions by voice or text from a terminal such as smart glasses or a smartphone. These questions are sent to the server as HTTP requests. The server analyzes the received questions and updates the user database based on the user ID.
[0642] Next, the server uses an emotion engine (e.g., Emotion SDK) to recognize emotions from the user's input. The recognized emotion information is sent to an artificial intelligence engine (e.g., OpenAI's engine) along with the user's question. The artificial intelligence engine generates an appropriate answer based on this information.
[0643] The generated answer is sent back to the server, which stores it in the user database, and finally sends it back to the user's device, where it is displayed on the display of the smart glasses or smartphone.
[0644] In addition, the server tracks the user's learning progress and suggests appropriate learning materials when the user requests more information on a particular learning topic. The suggested learning materials are also stored in the user database.
[0645] As a concrete example, consider the case where a customer asks a salesperson wearing smart glasses in a physical store, "What are the features of this product?" This question is sent as voice input to the server. The emotion engine recognizes that the customer is "confused." Based on this information, the artificial intelligence engine generates an answer such as, "This product is made of high-quality materials and will last a long time. If you would like to know more, I can explain other features as well."
[0646] An example prompt is:
[0647] "What is special about this product? Emotion: Confused"
[0648] In this way, the present invention can build an advanced system that can quickly and appropriately respond to user questions and provide flexible, emotion-based responses, thereby improving the quality of customer support, particularly in brick-and-mortar stores, and increasing customer satisfaction.
[0649] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0650] Step 1:
[0651] The user inputs a question by voice or text using smart glasses or a smartphone. This input data is sent to the server as an HTTP request. Input: User's question (voice or text format) Output: Question data sent to the server
[0652] Step 2:
[0653] The server analyzes the received question data and extracts the user ID and question content. It checks the database and, if a record for the corresponding user ID does not exist, creates new user data. Input: Question data Output: User ID and question content
[0654] Step 3:
[0655] The server uses an emotion engine to recognize the user's emotion from the question text. For example, it determines that the user is "confused" based on the content of the voice or text. Input: Question content Data calculation: Voice or text data analysis Output: Recognized emotion information
[0656] Step 4:
[0657] The server sends the question and the recognized emotion information to the AI engine, which then creates a prompt to generate an appropriate answer. Input: Question and emotion information Data processing: Prompt generation Output: Generated prompt
[0658] Step 5:
[0659] The AI engine generates an appropriate answer based on the prompt sent. Example: In response to the prompt "What are the features of this product? Emotion: Confused," the answer output is "This product is made of high-quality materials and is long-lasting." Input: Generated prompt Data calculation: Generate an answer based on the question Output: Generated answer
[0660] Step 6:
[0661] The generated answer is sent back to the server, which stores it in the user database. Input: Generated answer Data storage: Updated question and answer history Output: Updated user data
[0662] Step 7:
[0663] The server returns the generated answer to the user device as an HTTP response. The user device displays this answer on the screen. Input: Generated answer Output: Answer data from the HTTP response Specific operation: Display on the smart glasses display
[0664] This overall flow allows users to get prompt and appropriate answers in physical stores, and by responding flexibly based on emotional information, customer satisfaction can be improved.
[0665] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0666] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0667] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0668] [Second embodiment]
[0669] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0670] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0671] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0672] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0673] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0674] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0675] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0676] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0677] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0678] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0679] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0680] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0681] The learning support system of the present invention has the function of accepting questions from users, generating appropriate answers using an artificial intelligence engine, and returning them to the users. It also tracks the user's learning progress and suggests learning materials as needed, thereby providing effective learning support that meets individual learning needs.
[0682] System Configuration
[0683] The system includes a server, a user terminal, and an artificial intelligence engine.
[0684] Accepting questions
[0685] User:
[0686] The user inputs and submits a question related to the study from a terminal (e.g., a PC or a smartphone). For example, the user inputs and submits a question such as "What is a differential equation?"
[0687] Receiving and processing questions
[0688] server:
[0689] The server receives a question from the user, obtains the question and the user ID, then checks the user database, and if the corresponding user ID does not exist, creates a new record.
[0690] server:
[0691] The server that receives the question sends the question to the AI engine, specifying the engine to be used (e.g., machine learning algorithm) and the question content before sending the request.
[0692] Generate and return answers
[0693] Artificial Intelligence Engine:
[0694] The AI engine generates appropriate answers to questions sent from the server, such as "A differential equation is an equation that describes the rate of change of a function."
[0695] server:
[0696] The server receives the generated answer, saves it in the user database, records it as a question history, and then returns the answer to the user's terminal.
[0697] User device:
[0698] The user receives the answer generated on the terminal and displayed on the screen.
[0699] Track your learning progress
[0700] server:
[0701] The server records each user's question history and generated answers, and tracks their learning progress, thereby building a detailed learning history for each user.
[0702] User device:
[0703] To check their learning progress, users can send a progress check request from their device. The server extracts the relevant information from the user database and returns it to the user.
[0704] Learning materials suggestions
[0705] User:
[0706] If a user requests more learning materials on a particular learning topic, for example, they may type "Please suggest learning materials on differential equations" and submit.
[0707] server:
[0708] The server receives the request for learning material suggestions and sends the request to an artificial intelligence engine, which then suggests appropriate learning materials on the topic.
[0709] Artificial Intelligence Engine:
[0710] The engine generates suggestions such as "a detailed textbook on differential equations."
[0711] server:
[0712] The server stores the generated suggestions in a user database and returns the learning material suggestions received from the engine to the user terminal.
[0713] User device:
[0714] Users can receive the suggested learning materials on their devices and use them for their studies.
[0715] Specific examples
[0716] For example, if a learner asks, "What is the dot product of vectors?", the server sends this question to the AI engine. The AI engine generates the answer, "The dot product of vectors is the operation of multiplying each component of two vectors and then finding the sum." The generated answer is sent back to the user's device via the server, allowing the learner to check the answer.
[0717] Also, if a learner requests, "Please suggest learning materials on the dot product of vectors," the AI engine will suggest learning materials on that topic (e.g., "A detailed textbook on the dot product of vectors").
[0718] In this way, the learning support system of the present invention responds quickly to users' questions, effectively manages their learning progress, and suggests appropriate learning materials, thereby providing an efficient learning experience that meets their individual learning needs.
[0719] The processing flow will be explained below.
[0720] Step 1:
[0721] User:
[0722] The user inputs and submits a question related to the study from the terminal. This question is sent to the server as an HTTP POST request. For example, the user inputs the question "What is a differential equation?"
[0723] Step 2:
[0724] server:
[0725] The server receives a question from the user and extracts the user ID and question content included in the request.
[0726] python
[0727] user_id = request.json['user_id']
[0728] question = request.json['question']
[0729] Step 3:
[0730] server:
[0731] The server checks the user database to see if a record with the corresponding user ID exists. If not, it creates new user data.
[0732] python
[0733] if user_id not in user_data:
[0734] user_data[user_id] = {'questions': [], 'materials': []}
[0735] Step 4:
[0736] server:
[0737] The server makes an API request to send a question to an artificial intelligence engine, such as the OpenAI engine.
[0738] python
[0739] response = openai.Completion.create(
[0740] engine="davinci",
[0741] prompt=question,
[0742] max_tokens=100
[0743] )
[0744] Step 5:
[0745] Artificial Intelligence Engine:
[0746] The AI engine generates appropriate answers to questions received from the server, such as "A differential equation is an equation that describes the rate of change of a function."
[0747] Step 6:
[0748] server:
[0749] The server receives the answer generated by the AI engine and stores it in a record corresponding to the user ID.
[0750] python
[0751] answer = response['choices'][0]['text'].strip()
[0752] user_data[user_id]['questions'].append({'question': question, 'answer': answer})
[0753] Step 7:
[0754] server:
[0755] The server returns the generated answer to the user terminal as an HTTP response.
[0756] python
[0757] return jsonify({'answer': answer})
[0758] Step 8:
[0759] User:
[0760] The user receives the answer generated on the device and displayed on the screen, for example, "A differential equation is an equation that describes the rate of change of a function."
[0761] Step 9:
[0762] User:
[0763] To check the user's learning progress, the user sends a progress check request from the device. This request is sent using an HTTP GET request.
[0764] Step 10:
[0765] server:
[0766] The server retrieves the learning progress data for the corresponding user ID from the user database and returns it to the user terminal as an HTTP response.
[0767] python
[0768] return jsonify(user_data[user_id])
[0769] Step 11:
[0770] User:
[0771] Users can check their learning progress on their device, including a history of questions asked and answers.
[0772] Step 12:
[0773] User:
[0774] A user requests suggested learning materials for a specific learning topic. This request is sent as an HTTP POST request. For example, the user might type "Please suggest learning materials for differential equations."
[0775] Step 13:
[0776] server:
[0777] The server receives a request for suggesting learning materials and extracts topic information contained in the request.
[0778] python
[0779] topic = request.json['topic']
[0780] Step 14:
[0781] server:
[0782] The server sends a request for teaching material suggestions to an artificial intelligence engine, such as the OpenAI engine.
[0783] python
[0784] material_suggestion = openai.Completion.create(
[0785] engine="davinci",
[0786] prompt=f"Suggest study materials for {topic}",
[0787] max_tokens=100
[0788] )
[0789] Step 15:
[0790] Artificial Intelligence Engine:
[0791] The AI engine generates suggestions for appropriate learning materials based on topic information, such as "an in-depth textbook on differential equations."
[0792] Step 16:
[0793] server:
[0794] The server receives the suggested learning materials generated by the AI engine and stores them in a record corresponding to the user ID.
[0795] python
[0796] suggestion = material_suggestion['choices'][0]['text'].strip()
[0797] user_data[user_id]['materials'].append(suggestion)
[0798] Step 17:
[0799] server:
[0800] The server returns the generated teaching material suggestions to the user terminal as an HTTP response.
[0801] python
[0802] return jsonify({'suggestion': suggestion})
[0803] Step 18:
[0804] User:
[0805] The user receives suggested learning materials on their device and they are displayed on the screen, for example, "A detailed textbook on differential equations."
[0806] Example 1
[0807] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0808] Conventional learning systems have difficulty responding to user questions quickly and have been unable to provide appropriate learning materials tailored to individual learning needs. Furthermore, they lack the functionality to effectively track and accumulate each user's learning progress, preventing them from fully improving user learning efficiency.
[0809] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0810] In this invention, the server includes means for accepting questions from users, means for connecting to an AI engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, and means for saving the questions and answers to the questions for each user. This makes it possible to respond quickly and appropriately to users' questions, provide learning support that meets individual learning needs, and effectively manage and store each user's learning progress.
[0811] A "user" is an individual or group that uses the system to learn or ask questions.
[0812] The "means for accepting questions" is a function including an interface for receiving questions from users and inputting the content of those questions into the system.
[0813] An "artificial intelligence engine" is a software system that includes machine learning algorithms and natural language processing models to generate appropriate answers to questions it receives.
[0814] The "means for returning the generated answer to the user" is an interface that includes communication and display functions for transmitting the answer generated by the artificial intelligence engine to the user terminal and displaying it.
[0815] The "means for tracking learning progress" refers to a database and analysis system that records the user's question history and generated answers, and manages and understands the learning progress.
[0816] The "means for suggesting learning materials" is a function including an algorithm and an interface for selecting and suggesting optimal learning materials based on the user's requests and learning progress.
[0817] The "means for saving questions and answers" is a function that records the questions and generated answers for each user and saves them in a database for later reference and analysis.
[0818] "Database" means an electronic information system for systematically storing and managing information such as a user's question history, generated answers, learning progress, and suggested learning materials.
[0819] Overall system overview
[0820] The learning support system of the present invention comprises a user terminal, a server, and an artificial intelligence engine. The user terminal includes a communication device such as a personal computer or smartphone, and the server receives questions from users and transmits and processes the questions to the artificial intelligence engine. The artificial intelligence engine generates answers using, for example, a model with a machine learning algorithm (e.g., GPT-3) and returns them to the user via the server.
[0821] Accepting user questions
[0822] User: The user inputs and submits a question related to the study from a terminal (e.g., a PC or smartphone). For example, the user inputs and submits the question "What is a differential equation?" In this case, the terminal interface includes a question input form.
[0823] Receiving questions and user confirmation
[0824] Server: The server receives the question and user ID sent by the user. Then, the server checks its user database and creates a new record if the corresponding user ID does not exist.
[0825] Submit your question
[0826] Server: The server sends the received question to an AI engine (e.g., GPT-3) by generating an API request and sending it along with the question.
[0827] Generate answers
[0828] Artificial Intelligence Engine: The artificial intelligence engine generates appropriate answers to questions sent from the server, for example, "A differential equation is an equation that describes the rate of change of a function."
[0829] Save and return answers
[0830] Server: The server receives the generated answer, stores it in the user database, records it as a question history, and then sends the answer back to the user's device.
[0831] User terminal: The user's terminal receives the response sent back from the server and displays it on the screen.
[0832] Track your learning progress
[0833] Server: The server records each user's question history and generated answers, and tracks their learning progress, thereby building a detailed learning history for each user.
[0834] User terminal: The user can send a request to check their learning progress from their terminal. The server extracts the relevant information from the user database and returns it to the user.
[0835] Request study materials
[0836] User: If a user requests more learning materials on a specific learning topic, for example, they can type "Please suggest learning materials on differential equations" and submit.
[0837] Teaching material suggestions
[0838] Server: The server receives the request for learning material suggestions and sends the request to the AI engine, which then suggests appropriate learning materials on the topic.
[0839] Artificial intelligence engine: The engine generates suggestions such as "an in-depth textbook on differential equations."
[0840] Server: The server stores the generated suggestions in the user database and sends back the learning material suggestions received from the engine to the user's device.
[0841] User device: Users can receive suggested learning materials on their device and use them for their studies.
[0842] Examples and prompts
[0843] Example: If a learner asks, "What is the dot product of vectors?", the server sends this question to an AI engine. The AI engine generates the answer, "The dot product of vectors is the operation of multiplying each component of two vectors and then finding the sum." The generated answer is sent back to the user's device via the server, allowing the learner to check the answer.
[0844] Example prompt sentence:
[0845] Q: What is the dot product of vectors?
[0846] T: Please suggest some teaching materials on the dot product of vectors.
[0847] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0848] Step 1:
[0849] The user inputs and submits questions related to the study from a terminal (for example, a PC or a smartphone).
[0850] Specific action: A user uses a terminal interface to enter a question such as "What is a differential equation?" and presses the send button.
[0851] Input: The question entered by the user.
[0852] Output: Question data sent from the device to the server.
[0853] Step 2:
[0854] The server accepts the question and user ID sent by the user.
[0855] Specific operation: The server receives an HTTP POST request and obtains the question and user ID via the API.
[0856] Input: HTTP request sent from the terminal (question data and user ID).
[0857] Output: A data structure containing the question and the user ID.
[0858] Step 3:
[0859] The server checks its user database and, if the corresponding user ID does not exist, creates a new record.
[0860] What happens: The server performs a database query to check if the user ID exists. If the user ID does not exist, it inserts a new user record into the database.
[0861] Input: Question and user ID.
[0862] Output: The result of inserting the user record into the database.
[0863] Step 4:
[0864] The server sends the received question to the artificial intelligence engine.
[0865] Specific operation: The server converts the question content into JSON format and sends an HTTP POST request to the API of the artificial intelligence engine (e.g., GPT-3).
[0866] Input: The question.
[0867] Output: API request to the artificial intelligence engine.
[0868] Step 5:
[0869] The artificial intelligence engine generates appropriate answers to questions sent by the server.
[0870] What it does: The engine analyzes the question, uses the model to generate an answer, and sends it back to the server in JSON format.
[0871] Input: The question data sent by the server.
[0872] Output: The generated response data.
[0873] Step 6:
[0874] The server receives the generated answer, stores it in the user database, records it as a question history, and then returns the answer to the user's terminal.
[0875] Specific operation: The server stores the answer in a database and updates the user's question history. Then, it converts the answer from JSON to text format and sends it to the user's device as an HTTP response. This process uses a secure protocol (HTTPS).
[0876] Input: The generated response data.
[0877] Output: The saved database entry and the HTTP response to the user's device.
[0878] Step 7:
[0879] The user's terminal receives the response sent back from the server and displays it on the screen.
[0880] Specific operation: The application on the user terminal analyzes the response received from the server and displays it on the user interface.
[0881] Input: The response data received from the server.
[0882] Output: Answers displayed on the terminal screen.
[0883] Step 8:
[0884] The server records each user's question history and generated answers, and tracks their learning progress.
[0885] Specific operation: The server periodically analyzes learning progress data and visualizes it on a dashboard, etc. If necessary, it notifies the user of progress alerts and reminders.
[0886] Input: Question history and answer data.
[0887] Output: Learning progress report and visualization data.
[0888] Step 9:
[0889] The user can send a request to check the learning progress from the terminal.
[0890] Specific operation: When a user presses the "Check learning progress" button in the app, a request is sent to the server and the latest learning progress is displayed on the screen.
[0891] Input: The user request.
[0892] Output: Extraction and display of learning progress data.
[0893] Step 10:
[0894] When a user requests more learning materials on a particular learning topic, the server sends a request to the artificial intelligence engine.
[0895] Specific operation: The user types in "Please suggest teaching materials related to differential equations" and presses the submit button. The request is sent to the AI engine via the server.
[0896] Input: The user request.
[0897] Output: API request to the artificial intelligence engine.
[0898] Step 11:
[0899] The artificial intelligence engine suggests appropriate learning materials and sends them back to the server.
[0900] What it does: The engine analyzes the request, selects the most suitable learning material from a large dataset, and generates recommendations. This information is sent back to the server in JSON format.
[0901] Input: User request data.
[0902] Output: Suggested learning material data.
[0903] Step 12:
[0904] The server stores the generated suggestions in a user database and returns the learning material suggestions received from the engine to the user terminal.
[0905] Specific operation: The server saves the suggestions in a database and sends them to the user's device as an HTTP response. The user can then view the suggestions on their device.
[0906] Input: Proposed learning material data.
[0907] Output: The saved database entry and the HTTP response to the user's device.
[0908] Step 13:
[0909] The user's terminal receives the suggested learning materials sent back from the server and uses them for learning.
[0910] Specific operation: The application on the user's device analyzes the proposed learning materials and displays them on the user interface. The user can then view the materials and proceed with specific learning.
[0911] Input: Learning material suggestion data received from the server.
[0912] Output: Study material suggestions displayed on the device screen.
[0913] (Application example 1)
[0914] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0915] Previous learning support systems faced challenges, such as difficulty in responding appropriately to individual user needs and tracking learning progress in real time. Furthermore, detailed suggestions for learning materials based on the user's learning history were insufficient. Furthermore, efficient learning support using mobile devices such as smartphones was not available, and the environment for learners to immediately progress in their studies was not yet in place.
[0916] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0917] In this invention, the server includes means for accepting questions from users, means for connecting to an AI engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, means for sending questions from a smartphone and receiving answers in real time, and means for suggesting detailed learning materials based on the question history. This allows users to instantly ask questions using their smartphones and receive answers from the AI engine. Furthermore, appropriate learning materials can be automatically suggested based on the learning history, enabling detailed learning support tailored to each user's learning progress.
[0918] The "means for accepting questions from users" is an interface that allows users to input questions related to their studies and send them to the server.
[0919] The "means for connecting to an AI engine that generates an answer to the question" is a function that sends the accepted question to the AI engine and mediates the process of generating the corresponding answer.
[0920] The "means for returning the generated answer to the user" is a function for returning the answer generated by the artificial intelligence engine to the user's terminal and displaying it on the screen.
[0921] The "means for tracking the user's learning progress" is a function for recording each user's learning activities in a database and managing the progress status.
[0922] "Means for suggesting learning materials based on user requests" refers to a function that utilizes an artificial intelligence engine to suggest appropriate learning materials when a user requests further study on a specific topic.
[0923] "Means for sending questions from a smartphone and receiving answers in real time" is a function that allows a user to input and send questions using a smartphone and receive answers from a server in real time.
[0924] The "means for suggesting detailed study materials based on question history" is a function for suggesting optimal study materials based on the user's past question history and learning progress.
[0925] This invention is a system that provides learning support to users, and is mainly composed of a server, a user terminal (such as a smartphone), and an artificial intelligence engine. The specific operations of these components and the hardware and software used are described below.
[0926] Accepting questions
[0927] User:
[0928] The user uses a smartphone to input and send a question related to their studies, such as "Please tell me the basics of differential equations."
[0929] Receiving and processing questions
[0930] server:
[0931] The server receives the question sent by the user and analyzes the question. Next, it obtains the question and the user ID and sends them to the AI engine. At this time, the server communicates with the AI engine using an HTTP request.
[0932] Generate and return answers
[0933] Artificial Intelligence Engine:
[0934] The AI engine (e.g., GPT-3) generates appropriate answers to questions received from the server, such as "A differential equation is an equation that describes the rate of change of a function."
[0935] server:
[0936] The server receives the generated answers and returns them to the user's device. At the same time, the server records the user's question history and answers in a learning progress database.
[0937] Show Answers
[0938] User device:
[0939] Users receive answers on their smartphones and they are displayed on the screen, a process that allows for immediate resolution of questions and promotes effective learning.
[0940] Track your learning progress
[0941] server:
[0942] The server records each user's question history and generated answers, and tracks their learning progress. This information can be used later when the user wishes to check their progress.
[0943] Learning materials suggestions
[0944] User:
[0945] If a user requests more learning materials on a particular learning topic, they can type "Suggest learning materials on differential equations" and submit.
[0946] server:
[0947] The server receives the request for suggesting learning materials and sends the request to the artificial intelligence engine.
[0948] Artificial Intelligence Engine:
[0949] The AI engine will suggest suitable learning materials on the topic, generating suggestions such as "an in-depth textbook on differential equations."
[0950] server:
[0951] The server sends the generated suggestions back to the user for viewing.
[0952] Examples and prompts
[0953] For example, if a learner asks, "What is the dot product of vectors?", the server sends this question to the AI engine. The AI engine generates the answer, "The dot product of vectors is the operation of multiplying each component of two vectors and finding the sum." The generated answer is sent back to the user's device via the server, where the learner can check the answer. Also, if a learner requests, "Please suggest teaching materials on the dot product of vectors," the AI engine will suggest, "A detailed textbook on the dot product of vectors."
[0954] Prompt Sentence Examples
[0955] User Question: "What is the dot product of vectors?"
[0956] Prompt the AI engine: "The dot product of vectors is the operation of multiplying two vectors component by component and then finding the sum."
[0957] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0958] Step 1:
[0959] User: Enters and submits a question related to learning through a smartphone app. For example, "Please tell me the basics of differential equations." The input for this step is the user's question, and the output is the question data sent to the server.
[0960] Step 2:
[0961] Server: Receives the question and obtains the question content along with the user ID. This data is saved in the form of question and user information. The server then sends the question data to the AI engine. The input is the received question data, and the output is a request to the AI engine.
[0962] Step 3:
[0963] Artificial intelligence engine: Analyzes the submitted question data and generates an appropriate answer. For example, it generates an answer such as "A differential equation is an equation that describes the rate of change of a function." The input for this step is the question data sent from the server, and the output is the generated answer. Data processing uses natural language processing and machine learning algorithms to generate the answer.
[0964] Step 4:
[0965] Server: Stores the answer received from the AI engine in association with the user ID. At the same time, it returns the answer to the user's device. The input to this step is the answer data from the AI engine, and the output is the stored answer data and the answer sent to the user's device. Data processing includes recording the data in a database.
[0966] Step 5:
[0967] User device: The answer received on the smartphone is displayed. For example, the screen displays "A differential equation is an equation that describes the rate of change of a function." The input for this step is the answer data from the server, and the output is the displayed answer. The operation involves visually providing the answer to the user using the device's GUI.
[0968] Step 6:
[0969] Server: Records the user's question history and answers in a database and tracks their learning progress. The input to this step is the question history and answer data, and the output is the tracked learning progress information. Data operations include adding and updating to the database.
[0970] Step 7:
[0971] User: To request additional learning materials, the user sends a message from their smartphone saying, "Please suggest learning materials related to differential equations." The input of this step is a new learning request, and the output is the request data sent to the server.
[0972] Step 8:
[0973] Server: Receives learning material requests from users and sends them to the AI engine. The input is the request data, and the output is the request to the AI engine.
[0974] Step 9:
[0975] Artificial Intelligence Engine: Suggests appropriate learning materials based on learning history and requests. For example, it suggests "an in-depth textbook on differential equations." The input of this step is the user's learning history and learning material request, and the output is the suggested learning materials.
[0976] Step 10:
[0977] Server: Stores the suggested learning materials in a database and returns them to the user. The input is the suggested learning material data from the AI engine, and the output is the stored learning material data and transmission to the user.
[0978] Step 11:
[0979] User device: The smartphone displays the learning material suggestions received. For example, "Detailed textbook on differential equations" is displayed. The input of this step is the learning material suggestion data from the server, and the output is the displayed learning material suggestion content.
[0980] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0981] The learning support system of the present invention has the function of accepting questions from users, generating appropriate answers using an artificial intelligence engine, and returning them to the user. It also tracks the user's learning progress and suggests learning materials as needed, providing effective learning support tailored to individual learning needs. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it becomes possible to respond flexibly based on the user's emotions.
[0982] System Configuration
[0983] The system includes a server, a user terminal, an artificial intelligence engine, and an emotion engine.
[0984] Accepting questions
[0985] User:
[0986] The user inputs and submits a question related to the study from the terminal. This question is sent to the server as an HTTP POST request. For example, the user inputs the question "What is a differential equation?"
[0987] Receiving and processing questions
[0988] server:
[0989] The server receives a question from the user and extracts the user ID and question content included in the request.
[0990] python
[0991] user_id = request.json['user_id']
[0992] question = request.json['question']
[0993] server:
[0994] Check the user database, and if a record with the corresponding user ID does not exist, create new user data.
[0995] python
[0996] if user_id not in user_data:
[0997] user_data[user_id] = {'questions': [], 'materials': [], 'emotions': []}
[0998] Emotion recognition
[0999] server:
[1000] The server uses an emotion engine to extract emotions from the user's input, for example identifying that the user is "confused" based on the context and tone of the voice.
[1001] python
[1002] emotion = emotion_engine.analyze(question)
[1003] user_data[user_id]['emotions'].append(emotion)
[1004] Generate and return answers
[1005] server:
[1006] The server sends the question and emotional information to the artificial intelligence engine, which generates an appropriate answer.
[1007] python
[1008] response = openai.Completion.create(
[1009] engine="davinci",
[1010] prompt=f"{question} Emotion: {emotion}",
[1011] max_tokens=100
[1012] )
[1013] Artificial Intelligence Engine:
[1014] The AI engine generates answers based on the questions and emotional information sent from the server. For example, it generates an answer like, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we will explain in more detail."
[1015] server:
[1016] The server that receives the generated answer saves the answer in the user database and records it as a question history.
[1017] python
[1018] answer = response['choices'][0]['text'].strip()
[1019] user_data[user_id]['questions'].append({'question': question, 'answer': answer, 'emotion': emotion})
[1020] server:
[1021] The server returns the generated answer to the user terminal as an HTTP response.
[1022] python
[1023] return jsonify({'answer': answer})
[1024] User device:
[1025] The user receives an answer generated on their device and displayed on the screen. For example, the answer might read, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we'll explain in more detail."
[1026] Track your learning progress
[1027] server:
[1028] The server records each user's question history, generated answers, and emotional information, and tracks their learning progress, thereby accumulating a detailed learning history for each user.
[1029] User device:
[1030] To check their learning progress, users send a progress check request from their terminal. The server extracts the relevant information from the user database and returns it to the user.
[1031] python
[1032] return jsonify(user_data[user_id])
[1033] Learning materials suggestions
[1034] User:
[1035] If a user requests more learning materials on a particular learning topic, for example, they may type "Please suggest learning materials on differential equations" and submit.
[1036] server:
[1037] The server receives a request for suggesting learning materials and extracts topic information and sentiment information contained in the request.
[1038] python
[1039] topic = request.json['topic']
[1040] emotion = user_data[user_id]['emotions'][-1] Get the latest emotion information
[1041] server:
[1042] The server sends a request containing topic and sentiment information to an artificial intelligence engine, such as the OpenAI engine.
[1043] python
[1044] material_suggestion = openai.Completion.create(
[1045] engine="davinci",
[1046] prompt=f"Suggest study materials for {topic}. Emotion: {emotion}",
[1047] max_tokens=100
[1048] )
[1049] Artificial Intelligence Engine:
[1050] The engine generates appropriate learning material suggestions based on topic and sentiment information, such as "detailed textbooks, video tutorials, and exercises on differential equations."
[1051] server:
[1052] The server stores the generated teaching material suggestions in a user database and returns the teaching material suggestions received from the engine to the user terminal.
[1053] python
[1054] suggestion = material_suggestion['choices'][0]['text'].strip()
[1055] user_data[user_id]['materials'].append(suggestion)
[1056] return jsonify({'suggestion': suggestion})
[1057] User device:
[1058] The user receives suggested learning materials on the device and they are displayed on the screen, for example, "Detailed textbook, video explanations, and exercises on differential equations."
[1059] In this way, the learning support system of the present invention responds quickly to user questions, efficiently manages learning progress, and suggests appropriate learning materials. Furthermore, by combining it with an emotion engine, it becomes possible to respond flexibly based on the user's emotions, thereby providing even more comprehensive learning support.
[1060] The processing flow will be explained below.
[1061] Step 1:
[1062] User:
[1063] The user inputs and submits a question related to the study from the terminal. This question is sent to the server as an HTTP POST request. For example, the user inputs the question "What is a differential equation?"
[1064] Step 2:
[1065] server:
[1066] The server receives a question from the user and extracts the user ID and question content included in the request.
[1067] python
[1068] user_id = request.json['user_id']
[1069] question = request.json['question']
[1070] Step 3:
[1071] server:
[1072] The server checks the user database, and if there is no record for the corresponding user ID, it creates new user data.
[1073] python
[1074] if user_id not in user_data:
[1075] user_data[user_id] = {'questions': [], 'materials': [], 'emotions': []}
[1076] Step 4:
[1077] server:
[1078] The server sends the question to the emotion engine and recognizes the user's emotion. For example, it identifies the emotion "confused" in response to the user's question.
[1079] python
[1080] emotion = emotion_engine.analyze(question)
[1081] user_data[user_id]['emotions'].append(emotion)
[1082] Step 5:
[1083] server:
[1084] The server sends the question to the AI engine with the question content and emotional information attached. At this time, the server sets the engine to be used (e.g., machine learning algorithm), the question content, and the emotional information, and then sends the request.
[1085] python
[1086] response = openai.Completion.create(
[1087] engine="davinci",
[1088] prompt=f"{question} Emotion: {emotion}",
[1089] max_tokens=100
[1090] )
[1091] Step 6:
[1092] Artificial Intelligence Engine:
[1093] The AI engine generates answers based on the questions and emotional information sent from the server. For example, it generates an answer like, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we will explain in more detail."
[1094] Step 7:
[1095] server:
[1096] The server that receives the generated answer saves the answer in the user database and records it as a question history.
[1097] python
[1098] answer = response['choices'][0]['text'].strip()
[1099] user_data[user_id]['questions'].append({'question': question, 'answer': answer, 'emotion': emotion})
[1100] Step 8:
[1101] server:
[1102] The server returns the generated answer to the user terminal as an HTTP response.
[1103] python
[1104] return jsonify({'answer': answer})
[1105] Step 9:
[1106] User device:
[1107] The user receives an answer generated on their device and displayed on the screen. For example, the answer might read, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we'll explain in more detail."
[1108] Step 10:
[1109] User:
[1110] To check the user's learning progress, the user sends a progress check request from the device. This request is sent using an HTTP GET request.
[1111] Step 11:
[1112] server:
[1113] The server retrieves the learning progress data for the corresponding user ID from the user database and returns it to the user terminal as an HTTP response.
[1114] python
[1115] return jsonify(user_data[user_id])
[1116] Step 12:
[1117] User:
[1118] Users can check their learning progress on their device, including a history of questions asked and answers.
[1119] Step 13:
[1120] User:
[1121] A user requests suggested learning materials for a specific learning topic. This request is sent as an HTTP POST request. For example, the user might type "Please suggest learning materials for differential equations."
[1122] Step 14:
[1123] server:
[1124] The server receives a request for suggesting learning materials and extracts topic information and the latest sentiment information contained in the request.
[1125] python
[1126] topic = request.json['topic']
[1127] emotion = user_data[user_id]['emotions'][-1] Get the latest emotion information
[1128] Step 15:
[1129] server:
[1130] The server sends a request containing topic and sentiment information to an artificial intelligence engine, such as the OpenAI engine.
[1131] python
[1132] material_suggestion = openai.Completion.create(
[1133] engine="davinci",
[1134] prompt=f"Suggest study materials for {topic}. Emotion: {emotion}",
[1135] max_tokens=100
[1136] )
[1137] Step 16:
[1138] Artificial Intelligence Engine:
[1139] The engine generates appropriate learning material suggestions based on topic and sentiment information, such as "detailed textbooks, video tutorials, and exercises on differential equations."
[1140] Step 17:
[1141] server:
[1142] The server stores the generated teaching material suggestions in the user database and returns the suggestions to the user terminal as an HTTP response.
[1143] python
[1144] suggestion = material_suggestion['choices'][0]['text'].strip()
[1145] user_data[user_id]['materials'].append(suggestion)
[1146] return jsonify({'suggestion': suggestion})
[1147] Step 18:
[1148] User device:
[1149] The user receives suggested learning materials on the device and they are displayed on the screen, for example, "Detailed textbook, video explanations, and exercises on differential equations."
[1150] Example 2
[1151] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[1152] Conventional learning support systems were unable to fully reflect the individual learning needs and progress of users, making it difficult to provide effective learning support. Furthermore, they struggled to respond flexibly and consider the user's feelings, often resulting in only one-sided answers. As a result, users' learning efficiency declined, and their motivation to learn waned.
[1153] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1154] In this invention, the server includes means for accepting questions from users, means for connecting to an artificial intelligence engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, means for extracting emotional information using an emotion engine that recognizes the user's emotions, and means for responding flexibly based on the emotional information. This enables effective learning support that meets individual learning needs and flexible responses that correspond to the user's emotions.
[1155] A "user" is a person who uses the system to input questions and receive learning support.
[1156] A "question" is a question or inquiry that a user inputs in relation to their studies.
[1157] A "means" is a part of a device or program that is provided to perform a specific function or process.
[1158] An "artificial intelligence engine" is an AI technology and its execution platform used to answer questions and suggest learning materials.
[1159] An "emotion engine" is a technology and its implementation platform for extracting emotional information from user input text.
[1160] An "answer" is a response generated by an artificial intelligence engine in response to a question.
[1161] "Study progress" is information indicating the history and achievement level of the user's learning activities.
[1162] "Learning materials" are educational content such as handouts, videos, and exercises that users can use to further their studies.
[1163] "Means of connection" refers to the technology and protocols that allow multiple devices or programs to communicate with each other.
[1164] "Returning means" refers to the technique or method for transmitting generated answers or suggestions to the user.
[1165] "Tracking tools" are techniques and methods for continuously recording users' learning activities and monitoring their progress.
[1166] "Means of extraction" refers to techniques or methods for extracting specific information from input data.
[1167] "Flexible response" refers to the ability to adaptively change the support content according to the user's emotions and learning progress.
[1168] The learning support system of the present invention includes the following main components: a server, a user terminal, an artificial intelligence engine, and an emotion engine.
[1169] Accepting questions
[1170] User:
[1171] Users can input and submit questions related to their studies from their devices. These questions are sent to the server as HTTP POST requests. For example, a user can input a question such as "What is a differential equation?"
[1172] Receiving and processing questions
[1173] server:
[1174] The server receives a question from the user, extracts the user ID and question contained in the request, checks the user database, and if there is no record for the corresponding user ID, creates new user data.
[1175] Emotion recognition
[1176] server:
[1177] The server uses an emotion engine to extract emotions from the user's input, for example identifying that the user is "confused" based on the context and tone of the words. This emotion information is stored in the user data.
[1178] Generate and return answers
[1179] server:
[1180] The server sends the question and emotional information to the AI engine to generate an appropriate answer. Specifically, it generates the following prompt sentence:
[1181] "What are differential equations? Emotion: Confused"
[1182] Artificial Intelligence Engine:
[1183] The AI engine uses OpenAI's generative AI model to generate answers based on the question and sentiment sent from the server, such as, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we'll explain them in more detail."
[1184] server:
[1185] The server receives the generated answer, saves it in the user database, records it as a question history, and returns the generated answer to the user terminal as an HTTP response.
[1186] User device:
[1187] The user receives the answer generated on their device and displays it on the screen. For example, the answer might read, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we will explain in more detail."
[1188] Track your learning progress
[1189] server:
[1190] The server records each user's question history, generated answers, and emotional information, and tracks their learning progress, thereby accumulating a detailed learning history for each user.
[1191] User device:
[1192] To check their learning progress, users send a progress check request from their terminal. The server extracts the relevant information from the user database and returns it to the user.
[1193] Learning materials suggestions
[1194] User:
[1195] If a user requests more learning materials on a particular learning topic, for example, they may type "Please suggest learning materials on differential equations" and submit.
[1196] server:
[1197] The server receives a request for suggesting learning materials and extracts topic information and sentiment information contained in the request.
[1198] server:
[1199] The server sends a request containing topic and sentiment information to the AI engine, generating a prompt like the following:
[1200] "Please suggest some teaching materials on differential equations. Emotion: Confused"
[1201] Artificial Intelligence Engine:
[1202] The AI engine generates appropriate learning material suggestions based on topic and sentiment information, such as "detailed textbooks, video tutorials, and exercises on differential equations."
[1203] server:
[1204] The server stores the generated teaching material suggestions in a user database and returns the suggestions to the user terminal.
[1205] User device:
[1206] The user receives suggested learning materials on their device and displays them on the screen, for example, "Detailed textbook, video explanations, and exercises on differential equations."
[1207] In this way, the learning support system of the present invention responds quickly to user questions, efficiently manages learning progress, and suggests appropriate learning materials. Furthermore, by combining it with an emotion engine, it becomes possible to respond flexibly based on the user's emotions, providing even more comprehensive learning support.
[1208] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1209] Step 1: Accepting user questions
[1210] User: The user enters and submits a question related to their learning from their device. This question is sent to the server as an HTTP POST request.
[1211] Input: A user-entered question (e.g., "What is a differential equation?")
[1212] Output: The question is sent to the server
[1213] Step 2: Receiving and processing questions
[1214] Server: The server receives the question from the user and extracts the user ID and question content from the request.
[1215] Input: HTTP POST request (user ID, question)
[1216] Output: User ID and question extracted
[1217] Server: Checks the user database and creates new user data if a record with the corresponding user ID does not exist.
[1218] Input: Extracted user ID
[1219] Output: Creation or verification of user data
[1220] Step 3: Recognize emotions
[1221] Server: The server uses an emotion engine to extract emotions from the user's input. Based on the context and tone of the voice, it identifies that the user is "confused."
[1222] Input: User's question
[1223] Output: Emotional information (e.g., "confused")
[1224] Server: Stores emotion information in user data.
[1225] Input: Emotion information
[1226] Output: Emotion information is stored in the user database
[1227] Step 4: Generate and return the answer
[1228] Server: The server sends the question and emotion information to the AI engine to generate an appropriate answer.
[1229] Input: Question content, emotion information
[1230] Output: Generate and send a prompt (e.g., "What is a differential equation? Emotion: Confused")
[1231] Artificial Intelligence Engine: The artificial intelligence engine generates answers based on questions and sentiment information.
[1232] Input: prompt statement
[1233] Output: Answer (e.g., "A differential equation is an equation that describes the rate of change of a function...")
[1234] Server: Receives the generated answers, stores them in the user database, and records them as question history.
[1235] Input: Answer
[1236] Output: Answers are saved in the user database
[1237] Server: The generated answer is sent back to the user's device as an HTTP response.
[1238] Input: Answer
[1239] Output: The answer is sent to the user's device.
[1240] User terminal: The user receives the answer generated on the terminal and displays it on the screen.
[1241] Input: HTTP response (answer text)
[1242] Output: The answer is displayed on the screen
[1243] Step 5: Track your progress
[1244] Server: The server records each user's question history, generated answers, and sentiment information, and tracks their learning progress.
[1245] Input: User question history, generated answers, sentiment information
[1246] Output: Learning progress data is accumulated.
[1247] User device: To check the learning progress, the user sends a progress check request from the device.
[1248] Input: Progress Check Request
[1249] Output: The request is sent to the server
[1250] Server: The server extracts the relevant information from the user database and returns it to the user.
[1251] Input: Learning progress data from the user database
[1252] Output: Progress information is sent to the user's terminal
[1253] Step 6: Suggest learning materials
[1254] User: If a user requests more learning materials on a specific learning topic, for example, they can type "Please suggest learning materials on differential equations" and submit.
[1255] Input: Request for learning materials (e.g., "Please suggest learning materials on differential equations")
[1256] Output: The request is sent to the server
[1257] Server: The server receives a request for suggesting learning materials and extracts topic and sentiment information from the request.
[1258] Input: Request details, emotional information
[1259] Output: Extraction of topic and sentiment information
[1260] Server: The server sends a request to the AI engine containing topic and sentiment information.
[1261] Input: Topic information, sentiment information
[1262] Output: Generate and send a prompt (e.g., "Please suggest educational materials on differential equations. Emotion: Confused")
[1263] Artificial Intelligence Engine: The engine generates appropriate learning material suggestions based on topic and sentiment information.
[1264] Input: prompt statement
[1265] Output: Suggested study materials (e.g., "Detailed textbook, video tutorials, and practice questions")
[1266] Server: The server stores the generated teaching material suggestions in the user database and sends the teaching material suggestions received from the engine back to the user terminal.
[1267] Input: Study material suggestions
[1268] Output: The proposal is saved in the user database and sent to the user's device.
[1269] User terminal: The user receives the suggested learning materials on their terminal and displays them on the screen.
[1270] Input: Study material suggestions
[1271] Output: Learning materials are displayed on the screen
[1272] As described above, the system of the present invention includes a plurality of specific processing steps, each of which processes data based on input from the user, and ultimately provides the user with appropriate answers and educational materials.
[1273] (Application example 2)
[1274] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[1275] While conventional learning support systems were able to respond to individual learning needs in online environments, they had limitations in terms of customer support in physical stores and flexible, real-time customer responses. Furthermore, it was difficult to respond based on customer emotions, making it difficult to improve customer satisfaction. There is a need to solve these problems and improve the customer experience in physical stores.
[1276] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1277] In this invention, the server includes means for accepting questions from users, means for connecting to an artificial intelligence engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, means for recognizing emotions from the customer's voice or facial expression, and means for flexibly responding based on the recognized emotional information. This enables prompt and appropriate customer support even in physical stores, thereby improving customer satisfaction.
[1278] The "means for accepting questions" refers to an interface for receiving questions from the user by voice input or text input and sending them to the server.
[1279] An "artificial intelligence engine that generates answers" refers to an artificial intelligence system that has the functionality to generate appropriate answers to questions received from users.
[1280] "Means for returning the generated answer to the user" refers to a communication means for displaying or notifying the user of the answer generated by the artificial intelligence engine.
[1281] "Means for tracking learning progress" refers to a database and analysis function for recording a user's question history and the answers received, and tracking the learning progress based on that.
[1282] "Means for suggesting learning materials" refers to recommendation algorithms and interfaces for selecting and suggesting appropriate learning materials based on user requirements.
[1283] "Means for recognizing emotions" refers to software and hardware for analyzing and identifying the emotional state of a user from their voice and facial expressions.
[1284] "Flexible response means" refers to a dynamic response system that provides optimal answers and responses to users based on recognized emotional information.
[1285] The present invention provides a learning support system for accepting a user's question, generating an appropriate answer, and returning it to the user. Specific embodiments for carrying out the present invention will be described below.
[1286] This system includes a server, a user terminal, an artificial intelligence engine, and an emotion engine. Users input questions by voice or text from a terminal such as smart glasses or a smartphone. These questions are sent to the server as HTTP requests. The server analyzes the received questions and updates the user database based on the user ID.
[1287] Next, the server uses an emotion engine (e.g., Emotion SDK) to recognize emotions from the user's input. The recognized emotion information is sent to an artificial intelligence engine (e.g., OpenAI's engine) along with the user's question. The artificial intelligence engine generates an appropriate answer based on this information.
[1288] The generated answer is sent back to the server, which stores it in the user database, and finally sends it back to the user's device, where it is displayed on the display of the smart glasses or smartphone.
[1289] In addition, the server tracks the user's learning progress and suggests appropriate learning materials when the user requests more information on a particular learning topic. The suggested learning materials are also stored in the user database.
[1290] As a concrete example, consider the case where a customer asks a salesperson wearing smart glasses in a physical store, "What are the features of this product?" This question is sent as voice input to the server. The emotion engine recognizes that the customer is "confused." Based on this information, the artificial intelligence engine generates an answer such as, "This product is made of high-quality materials and will last a long time. If you would like to know more, I can explain other features as well."
[1291] An example prompt is:
[1292] "What is special about this product? Emotion: Confused"
[1293] In this way, the present invention can build an advanced system that can quickly and appropriately respond to user questions and provide flexible, emotion-based responses, thereby improving the quality of customer support, particularly in brick-and-mortar stores, and increasing customer satisfaction.
[1294] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1295] Step 1:
[1296] The user inputs a question by voice or text using smart glasses or a smartphone. This input data is sent to the server as an HTTP request. Input: User's question (voice or text format) Output: Question data sent to the server
[1297] Step 2:
[1298] The server analyzes the received question data and extracts the user ID and question content. It checks the database and, if a record for the corresponding user ID does not exist, creates new user data. Input: Question data Output: User ID and question content
[1299] Step 3:
[1300] The server uses an emotion engine to recognize the user's emotion from the question text. For example, it determines that the user is "confused" based on the content of the voice or text. Input: Question content Data calculation: Voice or text data analysis Output: Recognized emotion information
[1301] Step 4:
[1302] The server sends the question and the recognized emotion information to the AI engine, which then creates a prompt to generate an appropriate answer. Input: Question and emotion information Data processing: Prompt generation Output: Generated prompt
[1303] Step 5:
[1304] The AI engine generates an appropriate answer based on the prompt sent. Example: In response to the prompt "What are the features of this product? Emotion: Confused," the answer output is "This product is made of high-quality materials and is long-lasting." Input: Generated prompt Data calculation: Generate an answer based on the question Output: Generated answer
[1305] Step 6:
[1306] The generated answer is sent back to the server, which stores it in the user database. Input: Generated answer Data storage: Updated question and answer history Output: Updated user data
[1307] Step 7:
[1308] The server returns the generated answer to the user device as an HTTP response. The user device displays this answer on the screen. Input: Generated answer Output: Answer data from the HTTP response Specific operation: Display on the smart glasses display
[1309] This overall flow allows users to get prompt and appropriate answers in physical stores, and by responding flexibly based on emotional information, customer satisfaction can be improved.
[1310] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1311] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1312] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[1313] [Third embodiment]
[1314] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[1315] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[1316] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1317] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[1318] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1319] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1320] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1321] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1322] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1323] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1324] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1325] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[1326] The learning support system of the present invention has the function of accepting questions from users, generating appropriate answers using an artificial intelligence engine, and returning them to the users. It also tracks the user's learning progress and suggests learning materials as needed, thereby providing effective learning support that meets individual learning needs.
[1327] System Configuration
[1328] The system includes a server, a user terminal, and an artificial intelligence engine.
[1329] Accepting questions
[1330] User:
[1331] The user inputs and submits a question related to the study from a terminal (e.g., a PC or a smartphone). For example, the user inputs and submits a question such as "What is a differential equation?"
[1332] Receiving and processing questions
[1333] server:
[1334] The server receives a question from the user, obtains the question and the user ID, then checks the user database, and if the corresponding user ID does not exist, creates a new record.
[1335] server:
[1336] The server that receives the question sends the question to the AI engine, specifying the engine to be used (e.g., machine learning algorithm) and the question content before sending the request.
[1337] Generate and return answers
[1338] Artificial Intelligence Engine:
[1339] The AI engine generates appropriate answers to questions sent from the server, such as "A differential equation is an equation that describes the rate of change of a function."
[1340] server:
[1341] The server receives the generated answer, saves it in the user database, records it as a question history, and then returns the answer to the user's terminal.
[1342] User device:
[1343] The user receives the answer generated on the terminal and displayed on the screen.
[1344] Track your learning progress
[1345] server:
[1346] The server records each user's question history and generated answers, and tracks their learning progress, thereby building a detailed learning history for each user.
[1347] User device:
[1348] To check their learning progress, users can send a progress check request from their device. The server extracts the relevant information from the user database and returns it to the user.
[1349] Learning materials suggestions
[1350] User:
[1351] If a user requests more learning materials on a particular learning topic, for example, they may type "Please suggest learning materials on differential equations" and submit.
[1352] server:
[1353] The server receives the request for learning material suggestions and sends the request to an artificial intelligence engine, which then suggests appropriate learning materials on the topic.
[1354] Artificial Intelligence Engine:
[1355] The engine generates suggestions such as "a detailed textbook on differential equations."
[1356] server:
[1357] The server stores the generated suggestions in a user database and returns the learning material suggestions received from the engine to the user terminal.
[1358] User device:
[1359] Users can receive the suggested learning materials on their devices and use them for their studies.
[1360] Specific examples
[1361] For example, if a learner asks, "What is the dot product of vectors?", the server sends this question to the AI engine. The AI engine generates the answer, "The dot product of vectors is the operation of multiplying each component of two vectors and then finding the sum." The generated answer is sent back to the user's device via the server, allowing the learner to check the answer.
[1362] Also, if a learner requests, "Please suggest learning materials on the dot product of vectors," the AI engine will suggest learning materials on that topic (e.g., "A detailed textbook on the dot product of vectors").
[1363] In this way, the learning support system of the present invention responds quickly to users' questions, effectively manages their learning progress, and suggests appropriate learning materials, thereby providing an efficient learning experience that meets their individual learning needs.
[1364] The processing flow will be explained below.
[1365] Step 1:
[1366] User:
[1367] The user inputs and submits a question related to the study from the terminal. This question is sent to the server as an HTTP POST request. For example, the user inputs the question "What is a differential equation?"
[1368] Step 2:
[1369] server:
[1370] The server receives a question from the user and extracts the user ID and question content included in the request.
[1371] python
[1372] user_id = request.json['user_id']
[1373] question = request.json['question']
[1374] Step 3:
[1375] server:
[1376] The server checks the user database to see if a record with the corresponding user ID exists. If not, it creates new user data.
[1377] python
[1378] if user_id not in user_data:
[1379] user_data[user_id] = {'questions': [], 'materials': []}
[1380] Step 4:
[1381] server:
[1382] The server makes an API request to send a question to an artificial intelligence engine, such as the OpenAI engine.
[1383] python
[1384] response = openai.Completion.create(
[1385] engine="davinci",
[1386] prompt=question,
[1387] max_tokens=100
[1388] )
[1389] Step 5:
[1390] Artificial Intelligence Engine:
[1391] The AI engine generates appropriate answers to questions received from the server, such as "A differential equation is an equation that describes the rate of change of a function."
[1392] Step 6:
[1393] server:
[1394] The server receives the answer generated by the AI engine and stores it in a record corresponding to the user ID.
[1395] python
[1396] answer = response['choices'][0]['text'].strip()
[1397] user_data[user_id]['questions'].append({'question': question, 'answer': answer})
[1398] Step 7:
[1399] server:
[1400] The server returns the generated answer to the user terminal as an HTTP response.
[1401] python
[1402] return jsonify({'answer': answer})
[1403] Step 8:
[1404] User:
[1405] The user receives the answer generated on the device and displayed on the screen, for example, "A differential equation is an equation that describes the rate of change of a function."
[1406] Step 9:
[1407] User:
[1408] To check the user's learning progress, the user sends a progress check request from the device. This request is sent using an HTTP GET request.
[1409] Step 10:
[1410] server:
[1411] The server retrieves the learning progress data for the corresponding user ID from the user database and returns it to the user terminal as an HTTP response.
[1412] python
[1413] return jsonify(user_data[user_id])
[1414] Step 11:
[1415] User:
[1416] Users can check their learning progress on their device, including a history of questions asked and answers.
[1417] Step 12:
[1418] User:
[1419] A user requests suggested learning materials for a specific learning topic. This request is sent as an HTTP POST request. For example, the user might type "Please suggest learning materials for differential equations."
[1420] Step 13:
[1421] server:
[1422] The server receives a request for suggesting learning materials and extracts topic information contained in the request.
[1423] python
[1424] topic = request.json['topic']
[1425] Step 14:
[1426] server:
[1427] The server sends a request for teaching material suggestions to an artificial intelligence engine, such as the OpenAI engine.
[1428] python
[1429] material_suggestion = openai.Completion.create(
[1430] engine="davinci",
[1431] prompt=f"Suggest study materials for {topic}",
[1432] max_tokens=100
[1433] )
[1434] Step 15:
[1435] Artificial Intelligence Engine:
[1436] The AI engine generates suggestions for appropriate learning materials based on topic information, such as "an in-depth textbook on differential equations."
[1437] Step 16:
[1438] server:
[1439] The server receives the suggested learning materials generated by the AI engine and stores them in a record corresponding to the user ID.
[1440] python
[1441] suggestion = material_suggestion['choices'][0]['text'].strip()
[1442] user_data[user_id]['materials'].append(suggestion)
[1443] Step 17:
[1444] server:
[1445] The server returns the generated teaching material suggestions to the user terminal as an HTTP response.
[1446] python
[1447] return jsonify({'suggestion': suggestion})
[1448] Step 18:
[1449] User:
[1450] The user receives suggested learning materials on their device and they are displayed on the screen, for example, "A detailed textbook on differential equations."
[1451] Example 1
[1452] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1453] Conventional learning systems have difficulty responding to user questions quickly and have been unable to provide appropriate learning materials tailored to individual learning needs. Furthermore, they lack the functionality to effectively track and accumulate each user's learning progress, preventing them from fully improving user learning efficiency.
[1454] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1455] In this invention, the server includes means for accepting questions from users, means for connecting to an AI engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, and means for saving the questions and answers to the questions for each user. This makes it possible to respond quickly and appropriately to users' questions, provide learning support that meets individual learning needs, and effectively manage and store each user's learning progress.
[1456] A "user" is an individual or group that uses the system to learn or ask questions.
[1457] The "means for accepting questions" is a function including an interface for receiving questions from users and inputting the content of those questions into the system.
[1458] An "artificial intelligence engine" is a software system that includes machine learning algorithms and natural language processing models to generate appropriate answers to questions it receives.
[1459] The "means for returning the generated answer to the user" is an interface that includes communication and display functions for transmitting the answer generated by the artificial intelligence engine to the user terminal and displaying it.
[1460] The "means for tracking learning progress" refers to a database and analysis system that records the user's question history and generated answers, and manages and understands the learning progress.
[1461] The "means for suggesting learning materials" is a function including an algorithm and an interface for selecting and suggesting optimal learning materials based on the user's requests and learning progress.
[1462] The "means for saving questions and answers" is a function that records the questions and generated answers for each user and saves them in a database for later reference and analysis.
[1463] "Database" means an electronic information system for systematically storing and managing information such as a user's question history, generated answers, learning progress, and suggested learning materials.
[1464] Overall system overview
[1465] The learning support system of the present invention comprises a user terminal, a server, and an artificial intelligence engine. The user terminal includes a communication device such as a personal computer or smartphone, and the server receives questions from users and transmits and processes the questions to the artificial intelligence engine. The artificial intelligence engine generates answers using, for example, a model with a machine learning algorithm (e.g., GPT-3) and returns them to the user via the server.
[1466] Accepting user questions
[1467] User: The user inputs and submits a question related to the study from a terminal (e.g., a PC or smartphone). For example, the user inputs and submits the question "What is a differential equation?" In this case, the terminal interface includes a question input form.
[1468] Receiving questions and user confirmation
[1469] Server: The server receives the question and user ID sent by the user. Then, the server checks its user database and creates a new record if the corresponding user ID does not exist.
[1470] Submit your question
[1471] Server: The server sends the received question to an AI engine (e.g., GPT-3) by generating an API request and sending it along with the question.
[1472] Generate answers
[1473] Artificial Intelligence Engine: The artificial intelligence engine generates appropriate answers to questions sent from the server, for example, "A differential equation is an equation that describes the rate of change of a function."
[1474] Save and return answers
[1475] Server: The server receives the generated answer, stores it in the user database, records it as a question history, and then sends the answer back to the user's device.
[1476] User terminal: The user's terminal receives the response sent back from the server and displays it on the screen.
[1477] Track your learning progress
[1478] Server: The server records each user's question history and generated answers, and tracks their learning progress, thereby building a detailed learning history for each user.
[1479] User terminal: The user can send a request to check their learning progress from their terminal. The server extracts the relevant information from the user database and returns it to the user.
[1480] Request study materials
[1481] User: If a user requests more learning materials on a specific learning topic, for example, they can type "Please suggest learning materials on differential equations" and submit.
[1482] Teaching material suggestions
[1483] Server: The server receives the request for learning material suggestions and sends the request to the AI engine, which then suggests appropriate learning materials on the topic.
[1484] Artificial intelligence engine: The engine generates suggestions such as "an in-depth textbook on differential equations."
[1485] Server: The server stores the generated suggestions in the user database and sends back the learning material suggestions received from the engine to the user's device.
[1486] User device: Users can receive suggested learning materials on their device and use them for their studies.
[1487] Examples and prompts
[1488] Example: If a learner asks, "What is the dot product of vectors?", the server sends this question to an AI engine. The AI engine generates the answer, "The dot product of vectors is the operation of multiplying each component of two vectors and then finding the sum." The generated answer is sent back to the user's device via the server, allowing the learner to check the answer.
[1489] Example prompt sentence:
[1490] Q: What is the dot product of vectors?
[1491] T: Please suggest some teaching materials on the dot product of vectors.
[1492] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1493] Step 1:
[1494] The user inputs and submits questions related to the study from a terminal (for example, a PC or a smartphone).
[1495] Specific action: A user uses a terminal interface to enter a question such as "What is a differential equation?" and presses the send button.
[1496] Input: The question entered by the user.
[1497] Output: Question data sent from the device to the server.
[1498] Step 2:
[1499] The server accepts the question and user ID sent by the user.
[1500] Specific operation: The server receives an HTTP POST request and obtains the question and user ID via the API.
[1501] Input: HTTP request sent from the terminal (question data and user ID).
[1502] Output: A data structure containing the question and the user ID.
[1503] Step 3:
[1504] The server checks its user database and, if the corresponding user ID does not exist, creates a new record.
[1505] What happens: The server performs a database query to check if the user ID exists. If the user ID does not exist, it inserts a new user record into the database.
[1506] Input: Question and user ID.
[1507] Output: The result of inserting the user record into the database.
[1508] Step 4:
[1509] The server sends the received question to the artificial intelligence engine.
[1510] Specific operation: The server converts the question content into JSON format and sends an HTTP POST request to the API of the artificial intelligence engine (e.g., GPT-3).
[1511] Input: The question.
[1512] Output: API request to the artificial intelligence engine.
[1513] Step 5:
[1514] The artificial intelligence engine generates appropriate answers to questions sent by the server.
[1515] What it does: The engine analyzes the question, uses the model to generate an answer, and sends it back to the server in JSON format.
[1516] Input: The question data sent by the server.
[1517] Output: The generated response data.
[1518] Step 6:
[1519] The server receives the generated answer, stores it in the user database, records it as a question history, and then returns the answer to the user's terminal.
[1520] Specific operation: The server stores the answer in a database and updates the user's question history. Then, it converts the answer from JSON to text format and sends it to the user's device as an HTTP response. This process uses a secure protocol (HTTPS).
[1521] Input: The generated response data.
[1522] Output: The saved database entry and the HTTP response to the user's device.
[1523] Step 7:
[1524] The user's terminal receives the response sent back from the server and displays it on the screen.
[1525] Specific operation: The application on the user terminal analyzes the response received from the server and displays it on the user interface.
[1526] Input: The response data received from the server.
[1527] Output: Answers displayed on the terminal screen.
[1528] Step 8:
[1529] The server records each user's question history and generated answers, and tracks their learning progress.
[1530] Specific operation: The server periodically analyzes learning progress data and visualizes it on a dashboard, etc. If necessary, it notifies the user of progress alerts and reminders.
[1531] Input: Question history and answer data.
[1532] Output: Learning progress report and visualization data.
[1533] Step 9:
[1534] The user can send a request to check the learning progress from the terminal.
[1535] Specific operation: When a user presses the "Check learning progress" button in the app, a request is sent to the server and the latest learning progress is displayed on the screen.
[1536] Input: The user request.
[1537] Output: Extraction and display of learning progress data.
[1538] Step 10:
[1539] When a user requests more learning materials on a particular learning topic, the server sends a request to the artificial intelligence engine.
[1540] Specific operation: The user types in "Please suggest teaching materials related to differential equations" and presses the submit button. The request is sent to the AI engine via the server.
[1541] Input: The user request.
[1542] Output: API request to the artificial intelligence engine.
[1543] Step 11:
[1544] The artificial intelligence engine suggests appropriate learning materials and sends them back to the server.
[1545] What it does: The engine analyzes the request, selects the most suitable learning material from a large dataset, and generates recommendations. This information is sent back to the server in JSON format.
[1546] Input: User request data.
[1547] Output: Suggested learning material data.
[1548] Step 12:
[1549] The server stores the generated suggestions in a user database and returns the learning material suggestions received from the engine to the user terminal.
[1550] Specific operation: The server saves the suggestions in a database and sends them to the user's device as an HTTP response. The user can then view the suggestions on their device.
[1551] Input: Proposed learning material data.
[1552] Output: The saved database entry and the HTTP response to the user's device.
[1553] Step 13:
[1554] The user's terminal receives the suggested learning materials sent back from the server and uses them for learning.
[1555] Specific operation: The application on the user's device analyzes the proposed learning materials and displays them on the user interface. The user can then view the materials and proceed with specific learning.
[1556] Input: Learning material suggestion data received from the server.
[1557] Output: Study material suggestions displayed on the device screen.
[1558] (Application example 1)
[1559] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1560] Previous learning support systems faced challenges, such as difficulty in responding appropriately to individual user needs and tracking learning progress in real time. Furthermore, detailed suggestions for learning materials based on the user's learning history were insufficient. Furthermore, efficient learning support using mobile devices such as smartphones was not available, and the environment for learners to immediately progress in their studies was not yet in place.
[1561] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1562] In this invention, the server includes means for accepting questions from users, means for connecting to an AI engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, means for sending questions from a smartphone and receiving answers in real time, and means for suggesting detailed learning materials based on the question history. This allows users to instantly ask questions using their smartphones and receive answers from the AI engine. Furthermore, appropriate learning materials can be automatically suggested based on the learning history, enabling detailed learning support tailored to each user's learning progress.
[1563] The "means for accepting questions from users" is an interface that allows users to input questions related to their studies and send them to the server.
[1564] The "means for connecting to an AI engine that generates an answer to the question" is a function that sends the accepted question to the AI engine and mediates the process of generating the corresponding answer.
[1565] The "means for returning the generated answer to the user" is a function for returning the answer generated by the artificial intelligence engine to the user's terminal and displaying it on the screen.
[1566] The "means for tracking the user's learning progress" is a function for recording each user's learning activities in a database and managing the progress status.
[1567] "Means for suggesting learning materials based on user requests" refers to a function that utilizes an artificial intelligence engine to suggest appropriate learning materials when a user requests further study on a specific topic.
[1568] "Means for sending questions from a smartphone and receiving answers in real time" is a function that allows a user to input and send questions using a smartphone and receive answers from a server in real time.
[1569] The "means for suggesting detailed study materials based on question history" is a function for suggesting optimal study materials based on the user's past question history and learning progress.
[1570] This invention is a system that provides learning support to users, and is mainly composed of a server, a user terminal (such as a smartphone), and an artificial intelligence engine. The specific operations of these components and the hardware and software used are described below.
[1571] Accepting questions
[1572] User:
[1573] The user uses a smartphone to input and send a question related to their studies, such as "Please tell me the basics of differential equations."
[1574] Receiving and processing questions
[1575] server:
[1576] The server receives the question sent by the user and analyzes the question. Next, it obtains the question and the user ID and sends them to the AI engine. At this time, the server communicates with the AI engine using an HTTP request.
[1577] Generate and return answers
[1578] Artificial Intelligence Engine:
[1579] The AI engine (e.g., GPT-3) generates appropriate answers to questions received from the server, such as "A differential equation is an equation that describes the rate of change of a function."
[1580] server:
[1581] The server receives the generated answers and returns them to the user's device. At the same time, the server records the user's question history and answers in a learning progress database.
[1582] Show Answers
[1583] User device:
[1584] Users receive answers on their smartphones and they are displayed on the screen, a process that allows for immediate resolution of questions and promotes effective learning.
[1585] Track your learning progress
[1586] server:
[1587] The server records each user's question history and generated answers, and tracks their learning progress. This information can be used later when the user wishes to check their progress.
[1588] Learning materials suggestions
[1589] User:
[1590] If a user requests more learning materials on a particular learning topic, they can type "Suggest learning materials on differential equations" and submit.
[1591] server:
[1592] The server receives the request for suggesting learning materials and sends the request to the artificial intelligence engine.
[1593] Artificial Intelligence Engine:
[1594] The AI engine will suggest suitable learning materials on the topic, generating suggestions such as "an in-depth textbook on differential equations."
[1595] server:
[1596] The server sends the generated suggestions back to the user for viewing.
[1597] Examples and prompts
[1598] For example, if a learner asks, "What is the dot product of vectors?", the server sends this question to the AI engine. The AI engine generates the answer, "The dot product of vectors is the operation of multiplying each component of two vectors and finding the sum." The generated answer is sent back to the user's device via the server, where the learner can check the answer. Also, if a learner requests, "Please suggest teaching materials on the dot product of vectors," the AI engine will suggest, "A detailed textbook on the dot product of vectors."
[1599] Prompt Sentence Examples
[1600] User Question: "What is the dot product of vectors?"
[1601] Prompt the AI engine: "The dot product of vectors is the operation of multiplying two vectors component by component and then finding the sum."
[1602] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1603] Step 1:
[1604] User: Enters and submits a question related to learning through a smartphone app. For example, "Please tell me the basics of differential equations." The input for this step is the user's question, and the output is the question data sent to the server.
[1605] Step 2:
[1606] Server: Receives the question and obtains the question content along with the user ID. This data is saved in the form of question and user information. The server then sends the question data to the AI engine. The input is the received question data, and the output is a request to the AI engine.
[1607] Step 3:
[1608] Artificial intelligence engine: Analyzes the submitted question data and generates an appropriate answer. For example, it generates an answer such as "A differential equation is an equation that describes the rate of change of a function." The input for this step is the question data sent from the server, and the output is the generated answer. Data processing uses natural language processing and machine learning algorithms to generate the answer.
[1609] Step 4:
[1610] Server: Stores the answer received from the AI engine in association with the user ID. At the same time, it returns the answer to the user's device. The input to this step is the answer data from the AI engine, and the output is the stored answer data and the answer sent to the user's device. Data processing includes recording the data in a database.
[1611] Step 5:
[1612] User device: The answer received on the smartphone is displayed. For example, the screen displays "A differential equation is an equation that describes the rate of change of a function." The input for this step is the answer data from the server, and the output is the displayed answer. The operation involves visually providing the answer to the user using the device's GUI.
[1613] Step 6:
[1614] Server: Records the user's question history and answers in a database and tracks their learning progress. The input to this step is the question history and answer data, and the output is the tracked learning progress information. Data operations include adding and updating to the database.
[1615] Step 7:
[1616] User: To request additional learning materials, the user sends a message from their smartphone saying, "Please suggest learning materials related to differential equations." The input of this step is a new learning request, and the output is the request data sent to the server.
[1617] Step 8:
[1618] Server: Receives learning material requests from users and sends them to the AI engine. The input is the request data, and the output is the request to the AI engine.
[1619] Step 9:
[1620] Artificial Intelligence Engine: Suggests appropriate learning materials based on learning history and requests. For example, it suggests "an in-depth textbook on differential equations." The input of this step is the user's learning history and learning material request, and the output is the suggested learning materials.
[1621] Step 10:
[1622] Server: Stores the suggested learning materials in a database and returns them to the user. The input is the suggested learning material data from the AI engine, and the output is the stored learning material data and transmission to the user.
[1623] Step 11:
[1624] User device: The smartphone displays the learning material suggestions received. For example, "Detailed textbook on differential equations" is displayed. The input of this step is the learning material suggestion data from the server, and the output is the displayed learning material suggestion content.
[1625] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1626] The learning support system of the present invention has the function of accepting questions from users, generating appropriate answers using an artificial intelligence engine, and returning them to the user. It also tracks the user's learning progress and suggests learning materials as needed, providing effective learning support tailored to individual learning needs. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it becomes possible to respond flexibly based on the user's emotions.
[1627] System Configuration
[1628] The system includes a server, a user terminal, an artificial intelligence engine, and an emotion engine.
[1629] Accepting questions
[1630] User:
[1631] The user inputs and submits a question related to the study from the terminal. This question is sent to the server as an HTTP POST request. For example, the user inputs the question "What is a differential equation?"
[1632] Receiving and processing questions
[1633] server:
[1634] The server receives a question from the user and extracts the user ID and question content included in the request.
[1635] python
[1636] user_id = request.json['user_id']
[1637] question = request.json['question']
[1638] server:
[1639] Check the user database, and if a record with the corresponding user ID does not exist, create new user data.
[1640] python
[1641] if user_id not in user_data:
[1642] user_data[user_id] = {'questions': [], 'materials': [], 'emotions': []}
[1643] Emotion recognition
[1644] server:
[1645] The server uses an emotion engine to extract emotions from the user's input, for example identifying that the user is "confused" based on the context and tone of the voice.
[1646] python
[1647] emotion = emotion_engine.analyze(question)
[1648] user_data[user_id]['emotions'].append(emotion)
[1649] Generate and return answers
[1650] server:
[1651] The server sends the question and emotional information to the artificial intelligence engine, which generates an appropriate answer.
[1652] python
[1653] response = openai.Completion.create(
[1654] engine="davinci",
[1655] prompt=f"{question} Emotion: {emotion}",
[1656] max_tokens=100
[1657] )
[1658] Artificial Intelligence Engine:
[1659] The AI engine generates answers based on the questions and emotional information sent from the server. For example, it generates an answer like, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we will explain in more detail."
[1660] server:
[1661] The server that receives the generated answer saves the answer in the user database and records it as a question history.
[1662] python
[1663] answer = response['choices'][0]['text'].strip()
[1664] user_data[user_id]['questions'].append({'question': question, 'answer': answer, 'emotion': emotion})
[1665] server:
[1666] The server returns the generated answer to the user terminal as an HTTP response.
[1667] python
[1668] return jsonify({'answer': answer})
[1669] User device:
[1670] The user receives an answer generated on their device and displayed on the screen. For example, the answer might read, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we'll explain in more detail."
[1671] Track your learning progress
[1672] server:
[1673] The server records each user's question history, generated answers, and emotional information, and tracks their learning progress, thereby accumulating a detailed learning history for each user.
[1674] User device:
[1675] To check their learning progress, users send a progress check request from their terminal. The server extracts the relevant information from the user database and returns it to the user.
[1676] python
[1677] return jsonify(user_data[user_id])
[1678] Learning materials suggestions
[1679] User:
[1680] If a user requests more learning materials on a particular learning topic, for example, they may type "Please suggest learning materials on differential equations" and submit.
[1681] server:
[1682] The server receives a request for suggesting learning materials and extracts topic information and sentiment information contained in the request.
[1683] python
[1684] topic = request.json['topic']
[1685] emotion = user_data[user_id]['emotions'][-1] Get the latest emotion information
[1686] server:
[1687] The server sends a request containing topic and sentiment information to an artificial intelligence engine, such as the OpenAI engine.
[1688] python
[1689] material_suggestion = openai.Completion.create(
[1690] engine="davinci",
[1691] prompt=f"Suggest study materials for {topic}. Emotion: {emotion}",
[1692] max_tokens=100
[1693] )
[1694] Artificial Intelligence Engine:
[1695] The engine generates appropriate learning material suggestions based on topic and sentiment information, such as "detailed textbooks, video tutorials, and exercises on differential equations."
[1696] server:
[1697] The server stores the generated teaching material suggestions in a user database and returns the teaching material suggestions received from the engine to the user terminal.
[1698] python
[1699] suggestion = material_suggestion['choices'][0]['text'].strip()
[1700] user_data[user_id]['materials'].append(suggestion)
[1701] return jsonify({'suggestion': suggestion})
[1702] User device:
[1703] The user receives suggested learning materials on the device and they are displayed on the screen, for example, "Detailed textbook, video explanations, and exercises on differential equations."
[1704] In this way, the learning support system of the present invention responds quickly to user questions, efficiently manages learning progress, and suggests appropriate learning materials. Furthermore, by combining it with an emotion engine, it becomes possible to respond flexibly based on the user's emotions, thereby providing even more comprehensive learning support.
[1705] The processing flow will be explained below.
[1706] Step 1:
[1707] User:
[1708] The user inputs and submits a question related to the study from the terminal. This question is sent to the server as an HTTP POST request. For example, the user inputs the question "What is a differential equation?"
[1709] Step 2:
[1710] server:
[1711] The server receives a question from the user and extracts the user ID and question content included in the request.
[1712] python
[1713] user_id = request.json['user_id']
[1714] question = request.json['question']
[1715] Step 3:
[1716] server:
[1717] The server checks the user database, and if there is no record for the corresponding user ID, it creates new user data.
[1718] python
[1719] if user_id not in user_data:
[1720] user_data[user_id] = {'questions': [], 'materials': [], 'emotions': []}
[1721] Step 4:
[1722] server:
[1723] The server sends the question to the emotion engine and recognizes the user's emotion. For example, it identifies the emotion "confused" in response to the user's question.
[1724] python
[1725] emotion = emotion_engine.analyze(question)
[1726] user_data[user_id]['emotions'].append(emotion)
[1727] Step 5:
[1728] server:
[1729] The server sends the question to the AI engine with the question content and emotional information attached. At this time, the server sets the engine to be used (e.g., machine learning algorithm), the question content, and the emotional information, and then sends the request.
[1730] python
[1731] response = openai.Completion.create(
[1732] engine="davinci",
[1733] prompt=f"{question} Emotion: {emotion}",
[1734] max_tokens=100
[1735] )
[1736] Step 6:
[1737] Artificial Intelligence Engine:
[1738] The AI engine generates answers based on the questions and emotional information sent from the server. For example, it generates an answer like, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we will explain in more detail."
[1739] Step 7:
[1740] server:
[1741] The server that receives the generated answer saves the answer in the user database and records it as a question history.
[1742] python
[1743] answer = response['choices'][0]['text'].strip()
[1744] user_data[user_id]['questions'].append({'question': question, 'answer': answer, 'emotion': emotion})
[1745] Step 8:
[1746] server:
[1747] The server returns the generated answer to the user terminal as an HTTP response.
[1748] python
[1749] return jsonify({'answer': answer})
[1750] Step 9:
[1751] User device:
[1752] The user receives an answer generated on their device and displayed on the screen. For example, the answer might read, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we'll explain in more detail."
[1753] Step 10:
[1754] User:
[1755] To check the user's learning progress, the user sends a progress check request from the device. This request is sent using an HTTP GET request.
[1756] Step 11:
[1757] server:
[1758] The server retrieves the learning progress data for the corresponding user ID from the user database and returns it to the user terminal as an HTTP response.
[1759] python
[1760] return jsonify(user_data[user_id])
[1761] Step 12:
[1762] User:
[1763] Users can check their learning progress on their device, including a history of questions asked and answers.
[1764] Step 13:
[1765] User:
[1766] A user requests suggested learning materials for a specific learning topic. This request is sent as an HTTP POST request. For example, the user might type "Please suggest learning materials for differential equations."
[1767] Step 14:
[1768] server:
[1769] The server receives a request for suggesting learning materials and extracts topic information and the latest sentiment information contained in the request.
[1770] python
[1771] topic = request.json['topic']
[1772] emotion = user_data[user_id]['emotions'][-1] Get the latest emotion information
[1773] Step 15:
[1774] server:
[1775] The server sends a request containing topic and sentiment information to an artificial intelligence engine, such as the OpenAI engine.
[1776] python
[1777] material_suggestion = openai.Completion.create(
[1778] engine="davinci",
[1779] prompt=f"Suggest study materials for {topic}. Emotion: {emotion}",
[1780] max_tokens=100
[1781] )
[1782] Step 16:
[1783] Artificial Intelligence Engine:
[1784] The engine generates appropriate learning material suggestions based on topic and sentiment information, such as "detailed textbooks, video tutorials, and exercises on differential equations."
[1785] Step 17:
[1786] server:
[1787] The server stores the generated teaching material suggestions in the user database and returns the suggestions to the user terminal as an HTTP response.
[1788] python
[1789] suggestion = material_suggestion['choices'][0]['text'].strip()
[1790] user_data[user_id]['materials'].append(suggestion)
[1791] return jsonify({'suggestion': suggestion})
[1792] Step 18:
[1793] User device:
[1794] The user receives suggested learning materials on the device and they are displayed on the screen, for example, "Detailed textbook, video explanations, and exercises on differential equations."
[1795] Example 2
[1796] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1797] Conventional learning support systems were unable to fully reflect the individual learning needs and progress of users, making it difficult to provide effective learning support. Furthermore, they struggled to respond flexibly and consider the user's feelings, often resulting in only one-sided answers. As a result, users' learning efficiency declined, and their motivation to learn waned.
[1798] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1799] In this invention, the server includes means for accepting questions from users, means for connecting to an artificial intelligence engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, means for extracting emotional information using an emotion engine that recognizes the user's emotions, and means for responding flexibly based on the emotional information. This enables effective learning support that meets individual learning needs and flexible responses that correspond to the user's emotions.
[1800] A "user" is a person who uses the system to input questions and receive learning support.
[1801] A "question" is a question or inquiry that a user inputs in relation to their studies.
[1802] A "means" is a part of a device or program that is provided to perform a specific function or process.
[1803] An "artificial intelligence engine" is an AI technology and its execution platform used to answer questions and suggest learning materials.
[1804] An "emotion engine" is a technology and its implementation platform for extracting emotional information from user input text.
[1805] An "answer" is a response generated by an artificial intelligence engine in response to a question.
[1806] "Study progress" is information indicating the history and achievement level of the user's learning activities.
[1807] "Learning materials" are educational content such as handouts, videos, and exercises that users can use to further their studies.
[1808] "Means of connection" refers to the technology and protocols that allow multiple devices or programs to communicate with each other.
[1809] "Returning means" refers to the technique or method for transmitting generated answers or suggestions to the user.
[1810] "Tracking tools" are techniques and methods for continuously recording users' learning activities and monitoring their progress.
[1811] "Means of extraction" refers to techniques or methods for extracting specific information from input data.
[1812] "Flexible response" refers to the ability to adaptively change the support content according to the user's emotions and learning progress.
[1813] The learning support system of the present invention includes the following main components: a server, a user terminal, an artificial intelligence engine, and an emotion engine.
[1814] Accepting questions
[1815] User:
[1816] Users can input and submit questions related to their studies from their devices. These questions are sent to the server as HTTP POST requests. For example, a user can input a question such as "What is a differential equation?"
[1817] Receiving and processing questions
[1818] server:
[1819] The server receives a question from the user, extracts the user ID and question contained in the request, checks the user database, and if there is no record for the corresponding user ID, creates new user data.
[1820] Emotion recognition
[1821] server:
[1822] The server uses an emotion engine to extract emotions from the user's input, for example identifying that the user is "confused" based on the context and tone of the words. This emotion information is stored in the user data.
[1823] Generate and return answers
[1824] server:
[1825] The server sends the question and emotional information to the AI engine to generate an appropriate answer. Specifically, it generates the following prompt sentence:
[1826] "What are differential equations? Emotion: Confused"
[1827] Artificial Intelligence Engine:
[1828] The AI engine uses OpenAI's generative AI model to generate answers based on the question and sentiment sent from the server, such as, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we'll explain them in more detail."
[1829] server:
[1830] The server receives the generated answer, saves it in the user database, records it as a question history, and returns the generated answer to the user terminal as an HTTP response.
[1831] User device:
[1832] The user receives the answer generated on their device and displays it on the screen. For example, the answer might read, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we will explain in more detail."
[1833] Track your learning progress
[1834] server:
[1835] The server records each user's question history, generated answers, and emotional information, and tracks their learning progress, thereby accumulating a detailed learning history for each user.
[1836] User device:
[1837] To check their learning progress, users send a progress check request from their terminal. The server extracts the relevant information from the user database and returns it to the user.
[1838] Learning materials suggestions
[1839] User:
[1840] If a user requests more learning materials on a particular learning topic, for example, they may type "Please suggest learning materials on differential equations" and submit.
[1841] server:
[1842] The server receives a request for suggesting learning materials and extracts topic information and sentiment information contained in the request.
[1843] server:
[1844] The server sends a request containing topic and sentiment information to the AI engine, generating a prompt like the following:
[1845] "Please suggest some teaching materials on differential equations. Emotion: Confused"
[1846] Artificial Intelligence Engine:
[1847] The AI engine generates appropriate learning material suggestions based on topic and sentiment information, such as "detailed textbooks, video tutorials, and exercises on differential equations."
[1848] server:
[1849] The server stores the generated teaching material suggestions in a user database and returns the suggestions to the user terminal.
[1850] User device:
[1851] The user receives suggested learning materials on their device and displays them on the screen, for example, "Detailed textbook, video explanations, and exercises on differential equations."
[1852] In this way, the learning support system of the present invention responds quickly to user questions, efficiently manages learning progress, and suggests appropriate learning materials. Furthermore, by combining it with an emotion engine, it becomes possible to respond flexibly based on the user's emotions, providing even more comprehensive learning support.
[1853] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1854] Step 1: Accepting user questions
[1855] User: The user enters and submits a question related to their learning from their device. This question is sent to the server as an HTTP POST request.
[1856] Input: A user-entered question (e.g., "What is a differential equation?")
[1857] Output: The question is sent to the server
[1858] Step 2: Receiving and processing questions
[1859] Server: The server receives the question from the user and extracts the user ID and question content from the request.
[1860] Input: HTTP POST request (user ID, question)
[1861] Output: User ID and question extracted
[1862] Server: Checks the user database and creates new user data if a record with the corresponding user ID does not exist.
[1863] Input: Extracted user ID
[1864] Output: Creation or verification of user data
[1865] Step 3: Recognize emotions
[1866] Server: The server uses an emotion engine to extract emotions from the user's input. Based on the context and tone of the voice, it identifies that the user is "confused."
[1867] Input: User's question
[1868] Output: Emotional information (e.g., "confused")
[1869] Server: Stores emotion information in user data.
[1870] Input: Emotion information
[1871] Output: Emotion information is stored in the user database
[1872] Step 4: Generate and return the answer
[1873] Server: The server sends the question and emotion information to the AI engine to generate an appropriate answer.
[1874] Input: Question content, emotion information
[1875] Output: Generate and send a prompt (e.g., "What is a differential equation? Emotion: Confused")
[1876] Artificial Intelligence Engine: The artificial intelligence engine generates answers based on questions and sentiment information.
[1877] Input: prompt statement
[1878] Output: Answer (e.g., "A differential equation is an equation that describes the rate of change of a function...")
[1879] Server: Receives the generated answers, stores them in the user database, and records them as question history.
[1880] Input: Answer
[1881] Output: Answers are saved in the user database
[1882] Server: The generated answer is sent back to the user's device as an HTTP response.
[1883] Input: Answer
[1884] Output: The answer is sent to the user's device.
[1885] User terminal: The user receives the answer generated on the terminal and displays it on the screen.
[1886] Input: HTTP response (answer text)
[1887] Output: The answer is displayed on the screen
[1888] Step 5: Track your progress
[1889] Server: The server records each user's question history, generated answers, and sentiment information, and tracks their learning progress.
[1890] Input: User question history, generated answers, sentiment information
[1891] Output: Learning progress data is accumulated.
[1892] User device: To check the learning progress, the user sends a progress check request from the device.
[1893] Input: Progress Check Request
[1894] Output: The request is sent to the server
[1895] Server: The server extracts the relevant information from the user database and returns it to the user.
[1896] Input: Learning progress data from the user database
[1897] Output: Progress information is sent to the user's terminal
[1898] Step 6: Suggest learning materials
[1899] User: If a user requests more learning materials on a specific learning topic, for example, they can type "Please suggest learning materials on differential equations" and submit.
[1900] Input: Request for learning materials (e.g., "Please suggest learning materials on differential equations")
[1901] Output: The request is sent to the server
[1902] Server: The server receives a request for suggesting learning materials and extracts topic and sentiment information from the request.
[1903] Input: Request details, emotional information
[1904] Output: Extraction of topic and sentiment information
[1905] Server: The server sends a request to the AI engine containing topic and sentiment information.
[1906] Input: Topic information, sentiment information
[1907] Output: Generate and send a prompt (e.g., "Please suggest educational materials on differential equations. Emotion: Confused")
[1908] Artificial Intelligence Engine: The engine generates appropriate learning material suggestions based on topic and sentiment information.
[1909] Input: prompt statement
[1910] Output: Suggested study materials (e.g., "Detailed textbook, video tutorials, and practice questions")
[1911] Server: The server stores the generated teaching material suggestions in the user database and sends the teaching material suggestions received from the engine back to the user terminal.
[1912] Input: Study material suggestions
[1913] Output: The proposal is saved in the user database and sent to the user's device.
[1914] User terminal: The user receives the suggested learning materials on their terminal and displays them on the screen.
[1915] Input: Study material suggestions
[1916] Output: Learning materials are displayed on the screen
[1917] As described above, the system of the present invention includes a plurality of specific processing steps, each of which processes data based on input from the user, and ultimately provides the user with appropriate answers and educational materials.
[1918] (Application example 2)
[1919] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1920] While conventional learning support systems were able to respond to individual learning needs in online environments, they had limitations in terms of customer support in physical stores and flexible, real-time customer responses. Furthermore, it was difficult to respond based on customer emotions, making it difficult to improve customer satisfaction. There is a need to solve these problems and improve the customer experience in physical stores.
[1921] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1922] In this invention, the server includes means for accepting questions from users, means for connecting to an artificial intelligence engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, means for recognizing emotions from the customer's voice or facial expression, and means for flexibly responding based on the recognized emotional information. This enables prompt and appropriate customer support even in physical stores, thereby improving customer satisfaction.
[1923] The "means for accepting questions" refers to an interface for receiving questions from the user by voice input or text input and sending them to the server.
[1924] An "artificial intelligence engine that generates answers" refers to an artificial intelligence system that has the functionality to generate appropriate answers to questions received from users.
[1925] "Means for returning the generated answer to the user" refers to a communication means for displaying or notifying the user of the answer generated by the artificial intelligence engine.
[1926] "Means for tracking learning progress" refers to a database and analysis function for recording a user's question history and the answers received, and tracking the learning progress based on that.
[1927] "Means for suggesting learning materials" refers to recommendation algorithms and interfaces for selecting and suggesting appropriate learning materials based on user requirements.
[1928] "Means for recognizing emotions" refers to software and hardware for analyzing and identifying the emotional state of a user from their voice and facial expressions.
[1929] "Flexible response means" refers to a dynamic response system that provides optimal answers and responses to users based on recognized emotional information.
[1930] The present invention provides a learning support system for accepting a user's question, generating an appropriate answer, and returning it to the user. Specific embodiments for carrying out the present invention will be described below.
[1931] This system includes a server, a user terminal, an artificial intelligence engine, and an emotion engine. Users input questions by voice or text from a terminal such as smart glasses or a smartphone. These questions are sent to the server as HTTP requests. The server analyzes the received questions and updates the user database based on the user ID.
[1932] Next, the server uses an emotion engine (e.g., Emotion SDK) to recognize emotions from the user's input. The recognized emotion information is sent to an artificial intelligence engine (e.g., OpenAI's engine) along with the user's question. The artificial intelligence engine generates an appropriate answer based on this information.
[1933] The generated answer is sent back to the server, which stores it in the user database, and finally sends it back to the user's device, where it is displayed on the display of the smart glasses or smartphone.
[1934] In addition, the server tracks the user's learning progress and suggests appropriate learning materials when the user requests more information on a particular learning topic. The suggested learning materials are also stored in the user database.
[1935] As a concrete example, consider the case where a customer asks a salesperson wearing smart glasses in a physical store, "What are the features of this product?" This question is sent as voice input to the server. The emotion engine recognizes that the customer is "confused." Based on this information, the artificial intelligence engine generates an answer such as, "This product is made of high-quality materials and will last a long time. If you would like to know more, I can explain other features as well."
[1936] An example prompt is:
[1937] "What is special about this product? Emotion: Confused"
[1938] In this way, the present invention can build an advanced system that can quickly and appropriately respond to user questions and provide flexible, emotion-based responses, thereby improving the quality of customer support, particularly in brick-and-mortar stores, and increasing customer satisfaction.
[1939] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1940] Step 1:
[1941] The user inputs a question by voice or text using smart glasses or a smartphone. This input data is sent to the server as an HTTP request. Input: User's question (voice or text format) Output: Question data sent to the server
[1942] Step 2:
[1943] The server analyzes the received question data and extracts the user ID and question content. It checks the database and, if a record for the corresponding user ID does not exist, creates new user data. Input: Question data Output: User ID and question content
[1944] Step 3:
[1945] The server uses an emotion engine to recognize the user's emotion from the question text. For example, it determines that the user is "confused" based on the content of the voice or text. Input: Question content Data calculation: Voice or text data analysis Output: Recognized emotion information
[1946] Step 4:
[1947] The server sends the question and the recognized emotion information to the AI engine, which then creates a prompt to generate an appropriate answer. Input: Question and emotion information Data processing: Prompt generation Output: Generated prompt
[1948] Step 5:
[1949] The AI engine generates an appropriate answer based on the prompt sent. Example: In response to the prompt "What are the features of this product? Emotion: Confused," the answer output is "This product is made of high-quality materials and is long-lasting." Input: Generated prompt Data calculation: Generate an answer based on the question Output: Generated answer
[1950] Step 6:
[1951] The generated answer is sent back to the server, which stores it in the user database. Input: Generated answer Data storage: Updated question and answer history Output: Updated user data
[1952] Step 7:
[1953] The server returns the generated answer to the user device as an HTTP response. The user device displays this answer on the screen. Input: Generated answer Output: Answer data from the HTTP response Specific operation: Display on the smart glasses display
[1954] This overall flow allows users to get prompt and appropriate answers in physical stores, and by responding flexibly based on emotional information, customer satisfaction can be improved.
[1955] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1956] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1957] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1958] [Fourth embodiment]
[1959] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1960] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1961] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1962] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1963] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1964] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1965] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1966] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1967] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1968] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1969] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1970] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1971] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1972] The learning support system of the present invention has the function of accepting questions from users, generating appropriate answers using an artificial intelligence engine, and returning them to the users. It also tracks the user's learning progress and suggests learning materials as needed, thereby providing effective learning support that meets individual learning needs.
[1973] System Configuration
[1974] The system includes a server, a user terminal, and an artificial intelligence engine.
[1975] Accepting questions
[1976] User:
[1977] The user inputs and submits a question related to the study from a terminal (e.g., a PC or a smartphone). For example, the user inputs and submits a question such as "What is a differential equation?"
[1978] Receiving and processing questions
[1979] server:
[1980] The server receives a question from the user, obtains the question and the user ID, then checks the user database, and if the corresponding user ID does not exist, creates a new record.
[1981] server:
[1982] The server that receives the question sends the question to the AI engine, specifying the engine to be used (e.g., machine learning algorithm) and the question content before sending the request.
[1983] Generate and return answers
[1984] Artificial Intelligence Engine:
[1985] The AI engine generates appropriate answers to questions sent from the server, such as "A differential equation is an equation that describes the rate of change of a function."
[1986] server:
[1987] The server receives the generated answer, saves it in the user database, records it as a question history, and then returns the answer to the user's terminal.
[1988] User device:
[1989] The user receives the answer generated on the terminal and displayed on the screen.
[1990] Track your learning progress
[1991] server:
[1992] The server records each user's question history and generated answers, and tracks their learning progress, thereby building a detailed learning history for each user.
[1993] User device:
[1994] To check their learning progress, users can send a progress check request from their device. The server extracts the relevant information from the user database and returns it to the user.
[1995] Learning materials suggestions
[1996] User:
[1997] If a user requests more learning materials on a particular learning topic, for example, they may type "Please suggest learning materials on differential equations" and submit.
[1998] server:
[1999] The server receives the request for learning material suggestions and sends the request to an artificial intelligence engine, which then suggests appropriate learning materials on the topic.
[2000] Artificial Intelligence Engine:
[2001] The engine generates suggestions such as "a detailed textbook on differential equations."
[2002] server:
[2003] The server stores the generated suggestions in a user database and returns the learning material suggestions received from the engine to the user terminal.
[2004] User device:
[2005] Users can receive the suggested learning materials on their devices and use them for their studies.
[2006] Specific examples
[2007] For example, if a learner asks, "What is the dot product of vectors?", the server sends this question to the AI engine. The AI engine generates the answer, "The dot product of vectors is the operation of multiplying each component of two vectors and then finding the sum." The generated answer is sent back to the user's device via the server, allowing the learner to check the answer.
[2008] Also, if a learner requests, "Please suggest learning materials on the dot product of vectors," the AI engine will suggest learning materials on that topic (e.g., "A detailed textbook on the dot product of vectors").
[2009] In this way, the learning support system of the present invention responds quickly to users' questions, effectively manages their learning progress, and suggests appropriate learning materials, thereby providing an efficient learning experience that meets their individual learning needs.
[2010] The processing flow will be explained below.
[2011] Step 1:
[2012] User:
[2013] The user inputs and submits a question related to the study from the terminal. This question is sent to the server as an HTTP POST request. For example, the user inputs the question "What is a differential equation?"
[2014] Step 2:
[2015] server:
[2016] The server receives a question from the user and extracts the user ID and question content included in the request.
[2017] python
[2018] user_id = request.json['user_id']
[2019] question = request.json['question']
[2020] Step 3:
[2021] server:
[2022] The server checks the user database to see if a record with the corresponding user ID exists. If not, it creates new user data.
[2023] python
[2024] if user_id not in user_data:
[2025] user_data[user_id] = {'questions': [], 'materials': []}
[2026] Step 4:
[2027] server:
[2028] The server makes an API request to send a question to an artificial intelligence engine, such as the OpenAI engine.
[2029] python
[2030] response = openai.Completion.create(
[2031] engine="davinci",
[2032] prompt=question,
[2033] max_tokens=100
[2034] )
[2035] Step 5:
[2036] Artificial Intelligence Engine:
[2037] The AI engine generates appropriate answers to questions received from the server, such as "A differential equation is an equation that describes the rate of change of a function."
[2038] Step 6:
[2039] server:
[2040] The server receives the answer generated by the AI engine and stores it in a record corresponding to the user ID.
[2041] python
[2042] answer = response['choices'][0]['text'].strip()
[2043] user_data[user_id]['questions'].append({'question': question, 'answer': answer})
[2044] Step 7:
[2045] server:
[2046] The server returns the generated answer to the user terminal as an HTTP response.
[2047] python
[2048] return jsonify({'answer': answer})
[2049] Step 8:
[2050] User:
[2051] The user receives the answer generated on the device and displayed on the screen, for example, "A differential equation is an equation that describes the rate of change of a function."
[2052] Step 9:
[2053] User:
[2054] To check the user's learning progress, the user sends a progress check request from the device. This request is sent using an HTTP GET request.
[2055] Step 10:
[2056] server:
[2057] The server retrieves the learning progress data for the corresponding user ID from the user database and returns it to the user terminal as an HTTP response.
[2058] python
[2059] return jsonify(user_data[user_id])
[2060] Step 11:
[2061] User:
[2062] Users can check their learning progress on their device, including a history of questions asked and answers.
[2063] Step 12:
[2064] User:
[2065] A user requests suggested learning materials for a specific learning topic. This request is sent as an HTTP POST request. For example, the user might type "Please suggest learning materials for differential equations."
[2066] Step 13:
[2067] server:
[2068] The server receives a request for suggesting learning materials and extracts topic information contained in the request.
[2069] python
[2070] topic = request.json['topic']
[2071] Step 14:
[2072] server:
[2073] The server sends a request for teaching material suggestions to an artificial intelligence engine, such as the OpenAI engine.
[2074] python
[2075] material_suggestion = openai.Completion.create(
[2076] engine="davinci",
[2077] prompt=f"Suggest study materials for {topic}",
[2078] max_tokens=100
[2079] )
[2080] Step 15:
[2081] Artificial Intelligence Engine:
[2082] The AI engine generates suggestions for appropriate learning materials based on topic information, such as "an in-depth textbook on differential equations."
[2083] Step 16:
[2084] server:
[2085] The server receives the suggested learning materials generated by the AI engine and stores them in a record corresponding to the user ID.
[2086] python
[2087] suggestion = material_suggestion['choices'][0]['text'].strip()
[2088] user_data[user_id]['materials'].append(suggestion)
[2089] Step 17:
[2090] server:
[2091] The server returns the generated teaching material suggestions to the user terminal as an HTTP response.
[2092] python
[2093] return jsonify({'suggestion': suggestion})
[2094] Step 18:
[2095] User:
[2096] The user receives suggested learning materials on their device and they are displayed on the screen, for example, "A detailed textbook on differential equations."
[2097] Example 1
[2098] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[2099] Conventional learning systems have difficulty responding to user questions quickly and have been unable to provide appropriate learning materials tailored to individual learning needs. Furthermore, they lack the functionality to effectively track and accumulate each user's learning progress, preventing them from fully improving user learning efficiency.
[2100] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[2101] In this invention, the server includes means for accepting questions from users, means for connecting to an AI engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, and means for saving the questions and answers to the questions for each user. This makes it possible to respond quickly and appropriately to users' questions, provide learning support that meets individual learning needs, and effectively manage and store each user's learning progress.
[2102] A "user" is an individual or group that uses the system to learn or ask questions.
[2103] The "means for accepting questions" is a function including an interface for receiving questions from users and inputting the content of those questions into the system.
[2104] An "artificial intelligence engine" is a software system that includes machine learning algorithms and natural language processing models to generate appropriate answers to questions it receives.
[2105] The "means for returning the generated answer to the user" is an interface that includes communication and display functions for transmitting the answer generated by the artificial intelligence engine to the user terminal and displaying it.
[2106] The "means for tracking learning progress" refers to a database and analysis system that records the user's question history and generated answers, and manages and understands the learning progress.
[2107] The "means for suggesting learning materials" is a function including an algorithm and an interface for selecting and suggesting optimal learning materials based on the user's requests and learning progress.
[2108] The "means for saving questions and answers" is a function that records the questions and generated answers for each user and saves them in a database for later reference and analysis.
[2109] "Database" means an electronic information system for systematically storing and managing information such as a user's question history, generated answers, learning progress, and suggested learning materials.
[2110] Overall system overview
[2111] The learning support system of the present invention comprises a user terminal, a server, and an artificial intelligence engine. The user terminal includes a communication device such as a personal computer or smartphone, and the server receives questions from users and transmits and processes the questions to the artificial intelligence engine. The artificial intelligence engine generates answers using, for example, a model with a machine learning algorithm (e.g., GPT-3) and returns them to the user via the server.
[2112] Accepting user questions
[2113] User: The user inputs and submits a question related to the study from a terminal (e.g., a PC or smartphone). For example, the user inputs and submits the question "What is a differential equation?" In this case, the terminal interface includes a question input form.
[2114] Receiving questions and user confirmation
[2115] Server: The server receives the question and user ID sent by the user. Then, the server checks its user database and creates a new record if the corresponding user ID does not exist.
[2116] Submit your question
[2117] Server: The server sends the received question to an AI engine (e.g., GPT-3) by generating an API request and sending it along with the question.
[2118] Generate answers
[2119] Artificial Intelligence Engine: The artificial intelligence engine generates appropriate answers to questions sent from the server, for example, "A differential equation is an equation that describes the rate of change of a function."
[2120] Save and return answers
[2121] Server: The server receives the generated answer, stores it in the user database, records it as a question history, and then sends the answer back to the user's device.
[2122] User terminal: The user's terminal receives the response sent back from the server and displays it on the screen.
[2123] Track your learning progress
[2124] Server: The server records each user's question history and generated answers, and tracks their learning progress, thereby building a detailed learning history for each user.
[2125] User terminal: The user can send a request to check their learning progress from their terminal. The server extracts the relevant information from the user database and returns it to the user.
[2126] Request study materials
[2127] User: If a user requests more learning materials on a specific learning topic, for example, they can type "Please suggest learning materials on differential equations" and submit.
[2128] Teaching material suggestions
[2129] Server: The server receives the request for learning material suggestions and sends the request to the AI engine, which then suggests appropriate learning materials on the topic.
[2130] Artificial intelligence engine: The engine generates suggestions such as "an in-depth textbook on differential equations."
[2131] Server: The server stores the generated suggestions in the user database and sends back the learning material suggestions received from the engine to the user's device.
[2132] User device: Users can receive suggested learning materials on their device and use them for their studies.
[2133] Examples and prompts
[2134] Example: If a learner asks, "What is the dot product of vectors?", the server sends this question to an AI engine. The AI engine generates the answer, "The dot product of vectors is the operation of multiplying each component of two vectors and then finding the sum." The generated answer is sent back to the user's device via the server, allowing the learner to check the answer.
[2135] Example prompt sentence:
[2136] Q: What is the dot product of vectors?
[2137] T: Please suggest some teaching materials on the dot product of vectors.
[2138] The flow of the identification process in the first embodiment will be described with reference to FIG.
[2139] Step 1:
[2140] The user inputs and submits questions related to the study from a terminal (for example, a PC or a smartphone).
[2141] Specific action: A user uses a terminal interface to enter a question such as "What is a differential equation?" and presses the send button.
[2142] Input: The question entered by the user.
[2143] Output: Question data sent from the device to the server.
[2144] Step 2:
[2145] The server accepts the question and user ID sent by the user.
[2146] Specific operation: The server receives an HTTP POST request and obtains the question and user ID via the API.
[2147] Input: HTTP request sent from the terminal (question data and user ID).
[2148] Output: A data structure containing the question and the user ID.
[2149] Step 3:
[2150] The server checks its user database and, if the corresponding user ID does not exist, creates a new record.
[2151] What happens: The server performs a database query to check if the user ID exists. If the user ID does not exist, it inserts a new user record into the database.
[2152] Input: Question and user ID.
[2153] Output: The result of inserting the user record into the database.
[2154] Step 4:
[2155] The server sends the received question to the artificial intelligence engine.
[2156] Specific operation: The server converts the question content into JSON format and sends an HTTP POST request to the API of the artificial intelligence engine (e.g., GPT-3).
[2157] Input: The question.
[2158] Output: API request to the artificial intelligence engine.
[2159] Step 5:
[2160] The artificial intelligence engine generates appropriate answers to questions sent by the server.
[2161] What it does: The engine analyzes the question, uses the model to generate an answer, and sends it back to the server in JSON format.
[2162] Input: The question data sent by the server.
[2163] Output: The generated response data.
[2164] Step 6:
[2165] The server receives the generated answer, stores it in the user database, records it as a question history, and then returns the answer to the user's terminal.
[2166] Specific operation: The server stores the answer in a database and updates the user's question history. Then, it converts the answer from JSON to text format and sends it to the user's device as an HTTP response. This process uses a secure protocol (HTTPS).
[2167] Input: The generated response data.
[2168] Output: The saved database entry and the HTTP response to the user's device.
[2169] Step 7:
[2170] The user's terminal receives the response sent back from the server and displays it on the screen.
[2171] Specific operation: The application on the user terminal analyzes the response received from the server and displays it on the user interface.
[2172] Input: The response data received from the server.
[2173] Output: Answers displayed on the terminal screen.
[2174] Step 8:
[2175] The server records each user's question history and generated answers, and tracks their learning progress.
[2176] Specific operation: The server periodically analyzes learning progress data and visualizes it on a dashboard, etc. If necessary, it notifies the user of progress alerts and reminders.
[2177] Input: Question history and answer data.
[2178] Output: Learning progress report and visualization data.
[2179] Step 9:
[2180] The user can send a request to check the learning progress from the terminal.
[2181] Specific operation: When a user presses the "Check learning progress" button in the app, a request is sent to the server and the latest learning progress is displayed on the screen.
[2182] Input: The user request.
[2183] Output: Extraction and display of learning progress data.
[2184] Step 10:
[2185] When a user requests more learning materials on a particular learning topic, the server sends a request to the artificial intelligence engine.
[2186] Specific operation: The user types in "Please suggest teaching materials related to differential equations" and presses the submit button. The request is sent to the AI engine via the server.
[2187] Input: The user request.
[2188] Output: API request to the artificial intelligence engine.
[2189] Step 11:
[2190] The artificial intelligence engine suggests appropriate learning materials and sends them back to the server.
[2191] What it does: The engine analyzes the request, selects the most suitable learning material from a large dataset, and generates recommendations. This information is sent back to the server in JSON format.
[2192] Input: User request data.
[2193] Output: Suggested learning material data.
[2194] Step 12:
[2195] The server stores the generated suggestions in a user database and returns the learning material suggestions received from the engine to the user terminal.
[2196] Specific operation: The server saves the suggestions in a database and sends them to the user's device as an HTTP response. The user can then view the suggestions on their device.
[2197] Input: Proposed learning material data.
[2198] Output: The saved database entry and the HTTP response to the user's device.
[2199] Step 13:
[2200] The user's terminal receives the suggested learning materials sent back from the server and uses them for learning.
[2201] Specific operation: The application on the user's device analyzes the proposed learning materials and displays them on the user interface. The user can then view the materials and proceed with specific learning.
[2202] Input: Learning material suggestion data received from the server.
[2203] Output: Study material suggestions displayed on the device screen.
[2204] (Application example 1)
[2205] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[2206] Previous learning support systems faced challenges, such as difficulty in responding appropriately to individual user needs and tracking learning progress in real time. Furthermore, detailed suggestions for learning materials based on the user's learning history were insufficient. Furthermore, efficient learning support using mobile devices such as smartphones was not available, and the environment for learners to immediately progress in their studies was not yet in place.
[2207] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[2208] In this invention, the server includes means for accepting questions from users, means for connecting to an AI engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, means for sending questions from a smartphone and receiving answers in real time, and means for suggesting detailed learning materials based on the question history. This allows users to instantly ask questions using their smartphones and receive answers from the AI engine. Furthermore, appropriate learning materials can be automatically suggested based on the learning history, enabling detailed learning support tailored to each user's learning progress.
[2209] The "means for accepting questions from users" is an interface that allows users to input questions related to their studies and send them to the server.
[2210] The "means for connecting to an AI engine that generates an answer to the question" is a function that sends the accepted question to the AI engine and mediates the process of generating the corresponding answer.
[2211] The "means for returning the generated answer to the user" is a function for returning the answer generated by the artificial intelligence engine to the user's terminal and displaying it on the screen.
[2212] The "means for tracking the user's learning progress" is a function for recording each user's learning activities in a database and managing the progress status.
[2213] "Means for suggesting learning materials based on user requests" refers to a function that utilizes an artificial intelligence engine to suggest appropriate learning materials when a user requests further study on a specific topic.
[2214] "Means for sending questions from a smartphone and receiving answers in real time" is a function that allows a user to input and send questions using a smartphone and receive answers from a server in real time.
[2215] The "means for suggesting detailed study materials based on question history" is a function for suggesting optimal study materials based on the user's past question history and learning progress.
[2216] This invention is a system that provides learning support to users, and is mainly composed of a server, a user terminal (such as a smartphone), and an artificial intelligence engine. The specific operations of these components and the hardware and software used are described below.
[2217] Accepting questions
[2218] User:
[2219] The user uses a smartphone to input and send a question related to their studies, such as "Please tell me the basics of differential equations."
[2220] Receiving and processing questions
[2221] server:
[2222] The server receives the question sent by the user and analyzes the question. Next, it obtains the question and the user ID and sends them to the AI engine. At this time, the server communicates with the AI engine using an HTTP request.
[2223] Generate and return answers
[2224] Artificial Intelligence Engine:
[2225] The AI engine (e.g., GPT-3) generates appropriate answers to questions received from the server, such as "A differential equation is an equation that describes the rate of change of a function."
[2226] server:
[2227] The server receives the generated answers and returns them to the user's device. At the same time, the server records the user's question history and answers in a learning progress database.
[2228] Show Answers
[2229] User device:
[2230] Users receive answers on their smartphones and they are displayed on the screen, a process that allows for immediate resolution of questions and promotes effective learning.
[2231] Track your learning progress
[2232] server:
[2233] The server records each user's question history and generated answers, and tracks their learning progress. This information can be used later when the user wishes to check their progress.
[2234] Learning materials suggestions
[2235] User:
[2236] If a user requests more learning materials on a particular learning topic, they can type "Suggest learning materials on differential equations" and submit.
[2237] server:
[2238] The server receives the request for suggesting learning materials and sends the request to the artificial intelligence engine.
[2239] Artificial Intelligence Engine:
[2240] The AI engine will suggest suitable learning materials on the topic, generating suggestions such as "an in-depth textbook on differential equations."
[2241] server:
[2242] The server sends the generated suggestions back to the user for viewing.
[2243] Examples and prompts
[2244] For example, if a learner asks, "What is the dot product of vectors?", the server sends this question to the AI engine. The AI engine generates the answer, "The dot product of vectors is the operation of multiplying each component of two vectors and finding the sum." The generated answer is sent back to the user's device via the server, where the learner can check the answer. Also, if a learner requests, "Please suggest teaching materials on the dot product of vectors," the AI engine will suggest, "A detailed textbook on the dot product of vectors."
[2245] Prompt Sentence Examples
[2246] User Question: "What is the dot product of vectors?"
[2247] Prompt the AI engine: "The dot product of vectors is the operation of multiplying two vectors component by component and then finding the sum."
[2248] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[2249] Step 1:
[2250] User: Enters and submits a question related to learning through a smartphone app. For example, "Please tell me the basics of differential equations." The input for this step is the user's question, and the output is the question data sent to the server.
[2251] Step 2:
[2252] Server: Receives the question and obtains the question content along with the user ID. This data is saved in the form of question and user information. The server then sends the question data to the AI engine. The input is the received question data, and the output is a request to the AI engine.
[2253] Step 3:
[2254] Artificial intelligence engine: Analyzes the submitted question data and generates an appropriate answer. For example, it generates an answer such as "A differential equation is an equation that describes the rate of change of a function." The input for this step is the question data sent from the server, and the output is the generated answer. Data processing uses natural language processing and machine learning algorithms to generate the answer.
[2255] Step 4:
[2256] Server: Stores the answer received from the AI engine in association with the user ID. At the same time, it returns the answer to the user's device. The input to this step is the answer data from the AI engine, and the output is the stored answer data and the answer sent to the user's device. Data processing includes recording the data in a database.
[2257] Step 5:
[2258] User device: The answer received on the smartphone is displayed. For example, the screen displays "A differential equation is an equation that describes the rate of change of a function." The input for this step is the answer data from the server, and the output is the displayed answer. The operation involves visually providing the answer to the user using the device's GUI.
[2259] Step 6:
[2260] Server: Records the user's question history and answers in a database and tracks their learning progress. The input to this step is the question history and answer data, and the output is the tracked learning progress information. Data operations include adding and updating to the database.
[2261] Step 7:
[2262] User: To request additional learning materials, the user sends a message from their smartphone saying, "Please suggest learning materials related to differential equations." The input of this step is a new learning request, and the output is the request data sent to the server.
[2263] Step 8:
[2264] Server: Receives learning material requests from users and sends them to the AI engine. The input is the request data, and the output is the request to the AI engine.
[2265] Step 9:
[2266] Artificial Intelligence Engine: Suggests appropriate learning materials based on learning history and requests. For example, it suggests "an in-depth textbook on differential equations." The input of this step is the user's learning history and learning material request, and the output is the suggested learning materials.
[2267] Step 10:
[2268] Server: Stores the suggested learning materials in a database and returns them to the user. The input is the suggested learning material data from the AI engine, and the output is the stored learning material data and transmission to the user.
[2269] Step 11:
[2270] User device: The smartphone displays the learning material suggestions received. For example, "Detailed textbook on differential equations" is displayed. The input of this step is the learning material suggestion data from the server, and the output is the displayed learning material suggestion content.
[2271] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[2272] The learning support system of the present invention has the function of accepting questions from users, generating appropriate answers using an artificial intelligence engine, and returning them to the user. It also tracks the user's learning progress and suggests learning materials as needed, providing effective learning support tailored to individual learning needs. Furthermore, by combining it with an emotion engine that recognizes the user's emotions, it becomes possible to respond flexibly based on the user's emotions.
[2273] System Configuration
[2274] The system includes a server, a user terminal, an artificial intelligence engine, and an emotion engine.
[2275] Accepting questions
[2276] User:
[2277] The user inputs and submits a question related to the study from the terminal. This question is sent to the server as an HTTP POST request. For example, the user inputs the question "What is a differential equation?"
[2278] Receiving and processing questions
[2279] server:
[2280] The server receives a question from the user and extracts the user ID and question content included in the request.
[2281] python
[2282] user_id = request.json['user_id']
[2283] question = request.json['question']
[2284] server:
[2285] Check the user database, and if a record with the corresponding user ID does not exist, create new user data.
[2286] python
[2287] if user_id not in user_data:
[2288] user_data[user_id] = {'questions': [], 'materials': [], 'emotions': []}
[2289] Emotion recognition
[2290] server:
[2291] The server uses an emotion engine to extract emotions from the user's input, for example identifying that the user is "confused" based on the context and tone of the voice.
[2292] python
[2293] emotion = emotion_engine.analyze(question)
[2294] user_data[user_id]['emotions'].append(emotion)
[2295] Generate and return answers
[2296] server:
[2297] The server sends the question and emotional information to the artificial intelligence engine, which generates an appropriate answer.
[2298] python
[2299] response = openai.Completion.create(
[2300] engine="davinci",
[2301] prompt=f"{question} Emotion: {emotion}",
[2302] max_tokens=100
[2303] )
[2304] Artificial Intelligence Engine:
[2305] The AI engine generates answers based on the questions and emotional information sent from the server. For example, it generates an answer like, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we will explain in more detail."
[2306] server:
[2307] The server that receives the generated answer saves the answer in the user database and records it as a question history.
[2308] python
[2309] answer = response['choices'][0]['text'].strip()
[2310] user_data[user_id]['questions'].append({'question': question, 'answer': answer, 'emotion': emotion})
[2311] server:
[2312] The server returns the generated answer to the user terminal as an HTTP response.
[2313] python
[2314] return jsonify({'answer': answer})
[2315] User device:
[2316] The user receives an answer generated on their device and displayed on the screen. For example, the answer might read, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we'll explain in more detail."
[2317] Track your learning progress
[2318] server:
[2319] The server records each user's question history, generated answers, and emotional information, and tracks their learning progress, thereby accumulating a detailed learning history for each user.
[2320] User device:
[2321] To check their learning progress, users send a progress check request from their terminal. The server extracts the relevant information from the user database and returns it to the user.
[2322] python
[2323] return jsonify(user_data[user_id])
[2324] Learning materials suggestions
[2325] User:
[2326] If a user requests more learning materials on a particular learning topic, for example, they may type "Please suggest learning materials on differential equations" and submit.
[2327] server:
[2328] The server receives a request for suggesting learning materials and extracts topic information and sentiment information contained in the request.
[2329] python
[2330] topic = request.json['topic']
[2331] emotion = user_data[user_id]['emotions'][-1] Get the latest emotion information
[2332] server:
[2333] The server sends a request containing topic and sentiment information to an artificial intelligence engine, such as the OpenAI engine.
[2334] python
[2335] material_suggestion = openai.Completion.create(
[2336] engine="davinci",
[2337] prompt=f"Suggest study materials for {topic}. Emotion: {emotion}",
[2338] max_tokens=100
[2339] )
[2340] Artificial Intelligence Engine:
[2341] The engine generates appropriate learning material suggestions based on topic and sentiment information, such as "detailed textbooks, video tutorials, and exercises on differential equations."
[2342] server:
[2343] The server stores the generated teaching material suggestions in a user database and returns the teaching material suggestions received from the engine to the user terminal.
[2344] python
[2345] suggestion = material_suggestion['choices'][0]['text'].strip()
[2346] user_data[user_id]['materials'].append(suggestion)
[2347] return jsonify({'suggestion': suggestion})
[2348] User device:
[2349] The user receives suggested learning materials on the device and they are displayed on the screen, for example, "Detailed textbook, video explanations, and exercises on differential equations."
[2350] In this way, the learning support system of the present invention responds quickly to user questions, efficiently manages learning progress, and suggests appropriate learning materials. Furthermore, by combining it with an emotion engine, it becomes possible to respond flexibly based on the user's emotions, thereby providing even more comprehensive learning support.
[2351] The processing flow will be explained below.
[2352] Step 1:
[2353] User:
[2354] The user inputs and submits a question related to the study from the terminal. This question is sent to the server as an HTTP POST request. For example, the user inputs the question "What is a differential equation?"
[2355] Step 2:
[2356] server:
[2357] The server receives a question from the user and extracts the user ID and question content included in the request.
[2358] python
[2359] user_id = request.json['user_id']
[2360] question = request.json['question']
[2361] Step 3:
[2362] server:
[2363] The server checks the user database, and if there is no record for the corresponding user ID, it creates new user data.
[2364] python
[2365] if user_id not in user_data:
[2366] user_data[user_id] = {'questions': [], 'materials': [], 'emotions': []}
[2367] Step 4:
[2368] server:
[2369] The server sends the question to the emotion engine and recognizes the user's emotion. For example, it identifies the emotion "confused" in response to the user's question.
[2370] python
[2371] emotion = emotion_engine.analyze(question)
[2372] user_data[user_id]['emotions'].append(emotion)
[2373] Step 5:
[2374] server:
[2375] The server sends the question to the AI engine with the question content and emotional information attached. At this time, the server sets the engine to be used (e.g., machine learning algorithm), the question content, and the emotional information, and then sends the request.
[2376] python
[2377] response = openai.Completion.create(
[2378] engine="davinci",
[2379] prompt=f"{question} Emotion: {emotion}",
[2380] max_tokens=100
[2381] )
[2382] Step 6:
[2383] Artificial Intelligence Engine:
[2384] The AI engine generates answers based on the questions and emotional information sent from the server. For example, it generates an answer like, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we will explain in more detail."
[2385] Step 7:
[2386] server:
[2387] The server that receives the generated answer saves the answer in the user database and records it as a question history.
[2388] python
[2389] answer = response['choices'][0]['text'].strip()
[2390] user_data[user_id]['questions'].append({'question': question, 'answer': answer, 'emotion': emotion})
[2391] Step 8:
[2392] server:
[2393] The server returns the generated answer to the user terminal as an HTTP response.
[2394] python
[2395] return jsonify({'answer': answer})
[2396] Step 9:
[2397] User device:
[2398] The user receives an answer generated on their device and displayed on the screen. For example, the answer might read, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we'll explain in more detail."
[2399] Step 10:
[2400] User:
[2401] To check the user's learning progress, the user sends a progress check request from the device. This request is sent using an HTTP GET request.
[2402] Step 11:
[2403] server:
[2404] The server retrieves the learning progress data for the corresponding user ID from the user database and returns it to the user terminal as an HTTP response.
[2405] python
[2406] return jsonify(user_data[user_id])
[2407] Step 12:
[2408] User:
[2409] Users can check their learning progress on their device, including a history of questions asked and answers.
[2410] Step 13:
[2411] User:
[2412] A user requests suggested learning materials for a specific learning topic. This request is sent as an HTTP POST request. For example, the user might type "Please suggest learning materials for differential equations."
[2413] Step 14:
[2414] server:
[2415] The server receives a request for suggesting learning materials and extracts topic information and the latest sentiment information contained in the request.
[2416] python
[2417] topic = request.json['topic']
[2418] emotion = user_data[user_id]['emotions'][-1] Get the latest emotion information
[2419] Step 15:
[2420] server:
[2421] The server sends a request containing topic and sentiment information to an artificial intelligence engine, such as the OpenAI engine.
[2422] python
[2423] material_suggestion = openai.Completion.create(
[2424] engine="davinci",
[2425] prompt=f"Suggest study materials for {topic}. Emotion: {emotion}",
[2426] max_tokens=100
[2427] )
[2428] Step 16:
[2429] Artificial Intelligence Engine:
[2430] The engine generates appropriate learning material suggestions based on topic and sentiment information, such as "detailed textbooks, video tutorials, and exercises on differential equations."
[2431] Step 17:
[2432] server:
[2433] The server stores the generated teaching material suggestions in the user database and returns the suggestions to the user terminal as an HTTP response.
[2434] python
[2435] suggestion = material_suggestion['choices'][0]['text'].strip()
[2436] user_data[user_id]['materials'].append(suggestion)
[2437] return jsonify({'suggestion': suggestion})
[2438] Step 18:
[2439] User device:
[2440] The user receives suggested learning materials on the device and they are displayed on the screen, for example, "Detailed textbook, video explanations, and exercises on differential equations."
[2441] Example 2
[2442] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[2443] Conventional learning support systems were unable to fully reflect the individual learning needs and progress of users, making it difficult to provide effective learning support. Furthermore, they struggled to respond flexibly and consider the user's feelings, often resulting in only one-sided answers. As a result, users' learning efficiency declined, and their motivation to learn waned.
[2444] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[2445] In this invention, the server includes means for accepting questions from users, means for connecting to an artificial intelligence engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, means for extracting emotional information using an emotion engine that recognizes the user's emotions, and means for responding flexibly based on the emotional information. This enables effective learning support that meets individual learning needs and flexible responses that correspond to the user's emotions.
[2446] A "user" is a person who uses the system to input questions and receive learning support.
[2447] A "question" is a question or inquiry that a user inputs in relation to their studies.
[2448] A "means" is a part of a device or program that is provided to perform a specific function or process.
[2449] An "artificial intelligence engine" is an AI technology and its execution platform used to answer questions and suggest learning materials.
[2450] An "emotion engine" is a technology and its implementation platform for extracting emotional information from user input text.
[2451] An "answer" is a response generated by an artificial intelligence engine in response to a question.
[2452] "Study progress" is information indicating the history and achievement level of the user's learning activities.
[2453] "Learning materials" are educational content such as handouts, videos, and exercises that users can use to further their studies.
[2454] "Means of connection" refers to the technology and protocols that allow multiple devices or programs to communicate with each other.
[2455] "Returning means" refers to the technique or method for transmitting generated answers or suggestions to the user.
[2456] "Tracking tools" are techniques and methods for continuously recording users' learning activities and monitoring their progress.
[2457] "Means of extraction" refers to techniques or methods for extracting specific information from input data.
[2458] "Flexible response" refers to the ability to adaptively change the support content according to the user's emotions and learning progress.
[2459] The learning support system of the present invention includes the following main components: a server, a user terminal, an artificial intelligence engine, and an emotion engine.
[2460] Accepting questions
[2461] User:
[2462] Users can input and submit questions related to their studies from their devices. These questions are sent to the server as HTTP POST requests. For example, a user can input a question such as "What is a differential equation?"
[2463] Receiving and processing questions
[2464] server:
[2465] The server receives a question from the user, extracts the user ID and question contained in the request, checks the user database, and if there is no record for the corresponding user ID, creates new user data.
[2466] Emotion recognition
[2467] server:
[2468] The server uses an emotion engine to extract emotions from the user's input, for example identifying that the user is "confused" based on the context and tone of the words. This emotion information is stored in the user data.
[2469] Generate and return answers
[2470] server:
[2471] The server sends the question and emotional information to the AI engine to generate an appropriate answer. Specifically, it generates the following prompt sentence:
[2472] "What are differential equations? Emotion: Confused"
[2473] Artificial Intelligence Engine:
[2474] The AI engine uses OpenAI's generative AI model to generate answers based on the question and sentiment sent from the server, such as, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we'll explain them in more detail."
[2475] server:
[2476] The server receives the generated answer, saves it in the user database, records it as a question history, and returns the generated answer to the user terminal as an HTTP response.
[2477] User device:
[2478] The user receives the answer generated on their device and displays it on the screen. For example, the answer might read, "A differential equation is an equation that describes the rate of change of a function. If you have any questions, please ask and we will explain in more detail."
[2479] Track your learning progress
[2480] server:
[2481] The server records each user's question history, generated answers, and emotional information, and tracks their learning progress, thereby accumulating a detailed learning history for each user.
[2482] User device:
[2483] To check their learning progress, users send a progress check request from their terminal. The server extracts the relevant information from the user database and returns it to the user.
[2484] Learning materials suggestions
[2485] User:
[2486] If a user requests more learning materials on a particular learning topic, for example, they may type "Please suggest learning materials on differential equations" and submit.
[2487] server:
[2488] The server receives a request for suggesting learning materials and extracts topic information and sentiment information contained in the request.
[2489] server:
[2490] The server sends a request containing topic and sentiment information to the AI engine, generating a prompt like the following:
[2491] "Please suggest some teaching materials on differential equations. Emotion: Confused"
[2492] Artificial Intelligence Engine:
[2493] The AI engine generates appropriate learning material suggestions based on topic and sentiment information, such as "detailed textbooks, video tutorials, and exercises on differential equations."
[2494] server:
[2495] The server stores the generated teaching material suggestions in a user database and returns the suggestions to the user terminal.
[2496] User device:
[2497] The user receives suggested learning materials on their device and displays them on the screen, for example, "Detailed textbook, video explanations, and exercises on differential equations."
[2498] In this way, the learning support system of the present invention responds quickly to user questions, efficiently manages learning progress, and suggests appropriate learning materials. Furthermore, by combining it with an emotion engine, it becomes possible to respond flexibly based on the user's emotions, providing even more comprehensive learning support.
[2499] The flow of the identification process in the second embodiment will be described with reference to FIG.
[2500] Step 1: Accepting user questions
[2501] User: The user enters and submits a question related to their learning from their device. This question is sent to the server as an HTTP POST request.
[2502] Input: A user-entered question (e.g., "What is a differential equation?")
[2503] Output: The question is sent to the server
[2504] Step 2: Receiving and processing questions
[2505] Server: The server receives the question from the user and extracts the user ID and question content from the request.
[2506] Input: HTTP POST request (user ID, question)
[2507] Output: User ID and question extracted
[2508] Server: Checks the user database and creates new user data if a record with the corresponding user ID does not exist.
[2509] Input: Extracted user ID
[2510] Output: Creation or verification of user data
[2511] Step 3: Recognize emotions
[2512] Server: The server uses an emotion engine to extract emotions from the user's input. Based on the context and tone of the voice, it identifies that the user is "confused."
[2513] Input: User's question
[2514] Output: Emotional information (e.g., "confused")
[2515] Server: Stores emotion information in user data.
[2516] Input: Emotion information
[2517] Output: Emotion information is stored in the user database
[2518] Step 4: Generate and return the answer
[2519] Server: The server sends the question and emotion information to the AI engine to generate an appropriate answer.
[2520] Input: Question content, emotion information
[2521] Output: Generate and send a prompt (e.g., "What is a differential equation? Emotion: Confused")
[2522] Artificial Intelligence Engine: The artificial intelligence engine generates answers based on questions and sentiment information.
[2523] Input: prompt statement
[2524] Output: Answer (e.g., "A differential equation is an equation that describes the rate of change of a function...")
[2525] Server: Receives the generated answers, stores them in the user database, and records them as question history.
[2526] Input: Answer
[2527] Output: Answers are saved in the user database
[2528] Server: The generated answer is sent back to the user's device as an HTTP response.
[2529] Input: Answer
[2530] Output: The answer is sent to the user's device.
[2531] User terminal: The user receives the answer generated on the terminal and displays it on the screen.
[2532] Input: HTTP response (answer text)
[2533] Output: The answer is displayed on the screen
[2534] Step 5: Track your progress
[2535] Server: The server records each user's question history, generated answers, and sentiment information, and tracks their learning progress.
[2536] Input: User question history, generated answers, sentiment information
[2537] Output: Learning progress data is accumulated.
[2538] User device: To check the learning progress, the user sends a progress check request from the device.
[2539] Input: Progress Check Request
[2540] Output: The request is sent to the server
[2541] Server: The server extracts the relevant information from the user database and returns it to the user.
[2542] Input: Learning progress data from the user database
[2543] Output: Progress information is sent to the user's terminal
[2544] Step 6: Suggest learning materials
[2545] User: If a user requests more learning materials on a specific learning topic, for example, they can type "Please suggest learning materials on differential equations" and submit.
[2546] Input: Request for learning materials (e.g., "Please suggest learning materials on differential equations")
[2547] Output: The request is sent to the server
[2548] Server: The server receives a request for suggesting learning materials and extracts topic and sentiment information from the request.
[2549] Input: Request details, emotional information
[2550] Output: Extraction of topic and sentiment information
[2551] Server: The server sends a request to the AI engine containing topic and sentiment information.
[2552] Input: Topic information, sentiment information
[2553] Output: Generate and send a prompt (e.g., "Please suggest educational materials on differential equations. Emotion: Confused")
[2554] Artificial Intelligence Engine: The engine generates appropriate learning material suggestions based on topic and sentiment information.
[2555] Input: prompt statement
[2556] Output: Suggested study materials (e.g., "Detailed textbook, video tutorials, and practice questions")
[2557] Server: The server stores the generated teaching material suggestions in the user database and sends the teaching material suggestions received from the engine back to the user terminal.
[2558] Input: Study material suggestions
[2559] Output: The proposal is saved in the user database and sent to the user's device.
[2560] User terminal: The user receives the suggested learning materials on their terminal and displays them on the screen.
[2561] Input: Study material suggestions
[2562] Output: Learning materials are displayed on the screen
[2563] As described above, the system of the present invention includes a plurality of specific processing steps, each of which processes data based on input from the user, and ultimately provides the user with appropriate answers and educational materials.
[2564] (Application example 2)
[2565] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[2566] While conventional learning support systems were able to respond to individual learning needs in online environments, they had limitations in terms of customer support in physical stores and flexible, real-time customer responses. Furthermore, it was difficult to respond based on customer emotions, making it difficult to improve customer satisfaction. There is a need to solve these problems and improve the customer experience in physical stores.
[2567] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[2568] In this invention, the server includes means for accepting questions from users, means for connecting to an artificial intelligence engine that generates answers to the questions, means for returning the generated answers to the users, means for tracking the user's learning progress, means for suggesting learning materials based on the user's requests, means for recognizing emotions from the customer's voice or facial expression, and means for flexibly responding based on the recognized emotional information. This enables prompt and appropriate customer support even in physical stores, thereby improving customer satisfaction.
[2569] The "means for accepting questions" refers to an interface for receiving questions from the user by voice input or text input and sending them to the server.
[2570] An "artificial intelligence engine that generates answers" refers to an artificial intelligence system that has the functionality to generate appropriate answers to questions received from users.
[2571] "Means for returning the generated answer to the user" refers to a communication means for displaying or notifying the user of the answer generated by the artificial intelligence engine.
[2572] "Means for tracking learning progress" refers to a database and analysis function for recording a user's question history and the answers received, and tracking the learning progress based on that.
[2573] "Means for suggesting learning materials" refers to recommendation algorithms and interfaces for selecting and suggesting appropriate learning materials based on user requirements.
[2574] "Means for recognizing emotions" refers to software and hardware for analyzing and identifying the emotional state of a user from their voice and facial expressions.
[2575] "Flexible response means" refers to a dynamic response system that provides optimal answers and responses to users based on recognized emotional information.
[2576] The present invention provides a learning support system for accepting a user's question, generating an appropriate answer, and returning it to the user. Specific embodiments for carrying out the present invention will be described below.
[2577] This system includes a server, a user terminal, an artificial intelligence engine, and an emotion engine. Users input questions by voice or text from a terminal such as smart glasses or a smartphone. These questions are sent to the server as HTTP requests. The server analyzes the received questions and updates the user database based on the user ID.
[2578] Next, the server uses an emotion engine (e.g., Emotion SDK) to recognize emotions from the user's input. The recognized emotion information is sent to an artificial intelligence engine (e.g., OpenAI's engine) along with the user's question. The artificial intelligence engine generates an appropriate answer based on this information.
[2579] The generated answer is sent back to the server, which stores it in the user database, and finally sends it back to the user's device, where it is displayed on the display of the smart glasses or smartphone.
[2580] In addition, the server tracks the user's learning progress and suggests appropriate learning materials when the user requests more information on a particular learning topic. The suggested learning materials are also stored in the user database.
[2581] As a concrete example, consider the case where a customer asks a salesperson wearing smart glasses in a physical store, "What are the features of this product?" This question is sent as voice input to the server. The emotion engine recognizes that the customer is "confused." Based on this information, the artificial intelligence engine generates an answer such as, "This product is made of high-quality materials and will last a long time. If you would like to know more, I can explain other features as well."
[2582] An example prompt is:
[2583] "What is special about this product? Emotion: Confused"
[2584] In this way, the present invention can build an advanced system that can quickly and appropriately respond to user questions and provide flexible, emotion-based responses, thereby improving the quality of customer support, particularly in brick-and-mortar stores, and increasing customer satisfaction.
[2585] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[2586] Step 1:
[2587] The user inputs a question by voice or text using smart glasses or a smartphone. This input data is sent to the server as an HTTP request. Input: User's question (voice or text format) Output: Question data sent to the server
[2588] Step 2:
[2589] The server analyzes the received question data and extracts the user ID and question content. It checks the database and, if a record for the corresponding user ID does not exist, creates new user data. Input: Question data Output: User ID and question content
[2590] Step 3:
[2591] The server uses an emotion engine to recognize the user's emotion from the question text. For example, it determines that the user is "confused" based on the content of the voice or text. Input: Question content Data calculation: Voice or text data analysis Output: Recognized emotion information
[2592] Step 4:
[2593] The server sends the question and the recognized emotion information to the AI engine, which then creates a prompt to generate an appropriate answer. Input: Question and emotion information Data processing: Prompt generation Output: Generated prompt
[2594] Step 5:
[2595] The AI engine generates an appropriate answer based on the prompt sent. Example: In response to the prompt "What are the features of this product? Emotion: Confused," the answer output is "This product is made of high-quality materials and is long-lasting." Input: Generated prompt Data calculation: Generate an answer based on the question Output: Generated answer
[2596] Step 6:
[2597] The generated answer is sent back to the server, which stores it in the user database. Input: Generated answer Data storage: Updated question and answer history Output: Updated user data
[2598] Step 7:
[2599] The server returns the generated answer to the user device as an HTTP response. The user device displays this answer on the screen. Input: Generated answer Output: Answer data from the HTTP response Specific operation: Display on the smart glasses display
[2600] This overall flow allows users to get prompt and appropriate answers in physical stores, and by responding flexibly based on emotional information, customer satisfaction can be improved.
[2601] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[2602] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and...
Claims
1. means for accepting questions from users; means for connecting to an artificial intelligence engine that generates answers to said questions; means for returning the generated answer to the user; means for tracking the user's learning progress; means for suggesting learning materials based on user requests; A system including:
2. 2. The system according to claim 1, further comprising means for saving questions and answers to the questions for each user.
3. 10. The system of claim 1, further comprising means for connecting to an artificial intelligence engine to suggest learning materials based on a learning topic requested by the user.
4. 10. The system of claim 1, further comprising means for connecting to a user's terminal via the Internet to return to the user an answer generated based on the question.
5. The system of claim 1 , further comprising an interface for visualizing the user's learning progress.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A