system
The system addresses inefficiencies in online learning systems by integrating user registration, authentication, course management, and support, improving user experience and learning efficiency through automated grading and prompt support.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-01
- Publication Date
- 2026-04-13
AI Technical Summary
Conventional online learning systems lack comprehensive coverage from user registration to course management, suffer from inadequate automatic grading for quizzes and assignments, and struggle with inefficient user support, leading to a deteriorated user experience and learning efficiency.
A system that includes user registration, authentication, course material retrieval, automatic grading of quizzes, and user support functionalities, enabling efficient management of online courses through a server and terminal interface.
The system enhances user experience and learning efficiency by streamlining processes such as user registration, course enrollment, quiz scoring, and support, ensuring quick responses to user inquiries and reducing operational costs.
Smart Images

Figure 2026063820000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance that responds to the user utterance.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In conventional online learning systems, there are few systems that comprehensively cover from user registration to course management, learning content provision, progress management, and support. As a result, the problem is that the user experience deteriorates. Also, due to the insufficient automatic grading function for quizzes and assignments, there is a problem that it is difficult to improve the learning efficiency of users. Furthermore, when the user support system is not well organized, there is also a problem that it is difficult to respond quickly when users face problems.
Means for Solving the Problems
[0005] To solve these problems, the present invention provides the following means. First, it provides means for receiving information entered by the user in a registration form and storing it in a database. Next, it provides means for receiving authentication information from the user and performing authentication by matching it with the information in the database. For users who have successfully authenticated, it provides means for displaying a dashboard and means for retrieving a list of available courses from the database and displaying it to the user. Furthermore, it provides means for accepting registration to a course based on the course selected by the user and storing it in the database.
[0006] Furthermore, the system provides means to retrieve course materials for registered courses from a database and send them to the user's device, to receive quiz and assignment answers from users and save them in the database, to automatically grade quizzes, save the results and provide feedback to the user, and to receive assignment grading results from instructors and provide feedback to the user. Finally, it includes means to receive user inquiries and notify the support team, and to send feedback from the support team to the user. This provides a comprehensive and efficient online learning system and improves the user experience.
[0007] A "user" refers to an individual who accesses the online course system to enroll in courses or make inquiries.
[0008] A "registration form" refers to a webpage that contains input fields for new users to enter necessary information such as their name, email address, and password.
[0009] A "database" is a system for storing and managing data such as user information, course information, progress information, quiz / assignment answers, and inquiry details.
[0010] "Authentication information" refers to information such as the email address and password that a user enters to log in to the system.
[0011] "Verification" refers to the process of comparing the entered authentication information with existing data in the database to check if they match.
[0012] The "dashboard" is the main page displayed to users who have successfully authenticated, where they can manage their course registration status, progress, and other information.
[0013] "Course list" refers to a list of the various learning courses offered within the system.
[0014] "Accepting registration" refers to the process of allowing a user to join a course based on their course selection.
[0015] "Learning materials" refer to learning content such as videos, texts, and slides provided to users for their learning.
[0016] "Quizzes and assignments" refer to tests and practice problems presented to users to deepen their understanding of the learning material.
[0017] "Automatic scoring" refers to the process by which a system automatically evaluates a user's quiz answers and calculates a score.
[0018] "Feedback" refers to information used to communicate quiz or assignment scoring results and other instructional content to the user.
[0019] An "instructor" is someone who creates course materials, grades assignments, and answers user inquiries.
[0020] The "support team" refers to a team of specialized staff responsible for providing user support for the system.
[0021] "Inquiry" refers to the act of a user reporting problems or questions they encountered while using the system to the support team. [Brief explanation of the drawing]
[0022] [Figure 1] It is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] It is a conceptual diagram showing an example of the main functions of a data processing device and a smart device according to the first embodiment. [Figure 3] It is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] It is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] It is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] It is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] It is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] It is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] It shows an emotion map to which a plurality of emotions are mapped. [Figure 10] It shows an emotion map to which a plurality of emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [[ID= Hereinafter, an example of an embodiment of the system relating to the technology of this disclosure will be described with reference to the attached drawings.
[0024] First, let's explain the terminology used in the following explanation.
[0025] In the following embodiments, the signed processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Furthermore, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), and APU (Accelerated Processing Unit).
[0026] In the following embodiments, signed RAM (Random Access Memory) is a memory that temporarily stores information and is used as work memory by the processor.
[0027] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0028] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0029] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0030] [First Embodiment]
[0031] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0032] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0033] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0034] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0035] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0036] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0037] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0038] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0039] As shown in Figure 2, in the data processing device 12, a specific processing is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" related to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 according to the specific processing program 56 executed on the RAM 30.
[0040] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0041] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0042] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0043] This invention relates to a system for operating online courses for acquiring specialized skills, learning hobbies and languages, etc., and is a system for efficiently performing processes related to user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support. The following describes the specific program processing and its embodiments.
[0044] User registration and authentication
[0045] New User Registration
[0046] 1. Terminal: The user accesses the system and clicks the "New Registration" button.
[0047] 2. Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[0048] 3. Server: Receives form data and validates the format of the input information. If the format is correct, saves the new user information to the database.
[0049] 4. Server: Sends a confirmation email to the user's email address to verify that registration is complete.
[0050] User Authentication
[0051] 1. Device: The user clicks the authentication link and accesses the login form using their email address and password.
[0052] 2. Device: Enter your email address and password, then click the "Login" button.
[0053] 3. Server: Receives the entered email address and password and verifies them against the information in the database. If authentication is successful, generates session information and redirects the user to the dashboard.
[0054] Search and register for courses
[0055] Course Search
[0056] 1. Device: The user clicks the "Course List" button on the dashboard.
[0057] 2. Server: Retrieves a list of available courses from the database and sends it to the user's terminal.
[0058] 3. Terminal: Displays the acquired course list to the user.
[0059] Course registration
[0060] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[0061] 2. Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[0062] 3. Server: Sends a registration completion confirmation message to the user's device.
[0063] Course enrollment
[0064] Course Access
[0065] 1. Device: Access the course page that the user has registered for.
[0066] 2. Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[0067] 3. Device: The device on which the user views or browses course materials.
[0068] Submission of quizzes and assignments
[0069] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[0070] 2. Server: Receives user response data and saves it to the database.
[0071] 3. Server: In the case of quizzes, the server performs automatic scoring and saves the results to a database. The results are then fed back to the user.
[0072] 4. Server: For assignments, it sends a notification to the instructor and later sends the grading results to the user.
[0073] User Support
[0074] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[0075] 2. Device: Enter your inquiry and click the "Send" button.
[0076] 3. Server: Receives user inquiries and notifies the support team.
[0077] 4. Support Team: Prepare appropriate feedback based on the inquiry and send it to the user.
[0078] Specific example
[0079] For example, suppose "Taro Yamada" registers with the system and is interested in the "Introduction to Python Programming" course. When Mr. Yamada enters his name, email address, and password in the registration form and clicks the "Register" button, the server receives the information and saves it to the database. After that, Mr. Yamada performs email verification and logs in by entering his email address and password in the login form. The server verifies the authentication information, and if authentication is successful, it displays the dashboard to Mr. Yamada.
[0080] When Mr. Yamada selects the "Introduction to Python Programming" course from the "Course List" on the dashboard and clicks the "Register" button, the server saves his user ID and course ID to the database and accepts his registration. Once course registration is complete, Mr. Yamada can access the course page and view the video and text learning materials. After completing quizzes and assignments and clicking the "Submit" button, the server receives his answers, automatically grades them, and provides feedback on the results.
[0081] If a problem arises, Mr. Yamada can submit an inquiry through the support page, and the support team can respond quickly. In this way, a system is created that allows users to learn efficiently.
[0082] The following describes the processing flow.
[0083] User registration and authentication
[0084] New User Registration
[0085] Step 1:
[0086] Terminal: The user accesses the system and clicks the "New Registration" button.
[0087] Step 2:
[0088] Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[0089] Step 3:
[0090] Server: Receives form data. At this point, validates the format of the input information (for example, whether the email address is in the correct format).
[0091] Step 4:
[0092] Server: If the input information is correct, save the new user information to the database.
[0093] Step 5:
[0094] Server: Sends a registration confirmation email to the user's email address.
[0095] User Authentication
[0096] Step 1:
[0097] Terminal: The user clicks the authentication link and accesses the login form using their email address and password.
[0098] Step 2:
[0099] Terminal: Enter your email address and password, then click the "Login" button.
[0100] Step 3:
[0101] Server: Receives the entered email address and password.
[0102] Step 4:
[0103] Server: Performs authentication by comparing the information with that in the database. If authentication is successful, it generates session information.
[0104] Step 5:
[0105] Server: Redirects the user to the dashboard based on session information.
[0106] Search and register for courses
[0107] Course Search
[0108] Step 1:
[0109] Device: The user clicks the "Course List" button on the dashboard.
[0110] Step 2:
[0111] Server: Retrieves a list of available courses from the database.
[0112] Step 3:
[0113] Server: Sends the retrieved course list to the user's terminal.
[0114] Step 4:
[0115] Terminal: Displays the course list to the user.
[0116] Course registration
[0117] Step 1:
[0118] Device: The user selects a course they are interested in and clicks the "Register" button.
[0119] Step 2:
[0120] Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[0121] Step 3:
[0122] Server: Sends a registration confirmation message to the user's device.
[0123] Course enrollment
[0124] Course Access
[0125] Step 1:
[0126] Device: Accesses the course page the user has registered for.
[0127] Step 2:
[0128] Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database.
[0129] Step 3:
[0130] Server: Sends educational material data to the user's terminal.
[0131] Step 4:
[0132] Device: The device on which the user views or browses course materials.
[0133] Submission of quizzes and assignments
[0134] Step 1:
[0135] Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[0136] Step 2:
[0137] Server: Receives user response data.
[0138] Step 3:
[0139] Server: Stores the response data in the database.
[0140] Step 4:
[0141] Server: In the case of a quiz, it performs automatic scoring and saves the results to a database. The automatically scored results are then fed back to the user.
[0142] Step 5:
[0143] Server: For assignments, a notification is sent to the instructor, and the assignment along with the answers is sent to the instructor. Later, the instructor sends the grading results to the server and provides feedback to the user.
[0144] User Support
[0145] Step 1:
[0146] Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[0147] Step 2:
[0148] Terminal: Enter your inquiry and click the "Send" button.
[0149] Step 3:
[0150] Server: Receives user inquiries and notifies the support team.
[0151] Step 4:
[0152] Support team: Prepare appropriate feedback based on the inquiry.
[0153] Step 5:
[0154] Server: Sends feedback from the support team to the user.
[0155] The above is the processing flow of the online course management system. This provides an environment in which users can learn efficiently.
[0156] (Example 1)
[0157] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0158] Conventional online course management systems have suffered from insufficient efficiency and user experience improvements in processes such as user registration, authentication, course search and registration, course participation, quiz and assignment grading, and user support. In particular, inconveniences often occurred in sending confirmation emails after user registration, automatic quiz grading, and prompt responses to user inquiries. This invention aims to solve these problems and improve overall operational efficiency and user satisfaction.
[0159] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0160] In this invention, the server includes means for receiving information entered by the user in a registration form and storing it in a database; means for sending a registration completion confirmation email to the user; means for receiving authentication information from the user and performing authentication by matching it with the information in the database; means for displaying a dashboard to users who have successfully authenticated; means for retrieving a list of available courses from the database and displaying it to the user; means for accepting registration for a course based on the course selected by the user and storing it in the database; means for retrieving course materials for the course registered by the user from the database and sending them to the terminal; means for receiving answers to quizzes and assignments from the user and storing them in the database; means for automatically scoring quizzes, saving the results and providing feedback to the user; means for receiving scoring results for assignments from instructors and providing feedback to the user; means for receiving user inquiries and notifying the support team; and means for sending feedback from the support team to the user. As a result, each of these processes is performed efficiently and quickly, which enables improved user satisfaction and reduced operating costs.
[0161] A "registration form" is an online input screen where users enter information such as their name, email address, and password.
[0162] A "database" is a management system for efficiently storing, searching, updating, and deleting large amounts of information.
[0163] A "confirmation email" is an email sent to inform a user that their registration has been successfully completed.
[0164] "Authentication information" refers to the combination of email address and password that a user uses to log in to the system.
[0165] A "dashboard" is an administrative screen provided to users who have successfully authenticated, and it serves as an interface for users to manage and access online courses.
[0166] A "course list" is a collection of information that displays a list of available courses.
[0167] "Educational materials" refer to educational content such as videos, texts, and slides that users use to take courses.
[0168] A "quiz" is a set of questions and answer format used to evaluate a user's learning progress.
[0169] A "task" is a problem to which users submit answers in order to deepen their own understanding.
[0170] "Automatic scoring" is a process in which a system automatically evaluates a user's quiz answers and calculates a score.
[0171] "Feedback" refers to the evaluation results and comments on the answers submitted by users.
[0172] "Inquiry" refers to a means for users to communicate problems or questions that arise while using the system to the support team.
[0173] A "support team" is a group of dedicated personnel responsible for responding to and resolving user inquiries.
[0174] "Session information" refers to data used to manage the access rights and operation history of a user who has successfully authenticated.
[0175] This invention relates to a system for operating online courses for acquiring professional skills, learning hobbies and languages, and more. This system can efficiently handle a wide range of processes, including user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support. Specific embodiments for implementing this invention are described below.
[0176] User registration and authentication
[0177] New User Registration
[0178] 1. Device: The user accesses the system using a device (such as a PC or smartphone) and clicks the "New Registration" button.
[0179] Here, you enter the system's URL using a web browser.
[0180] 2. Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[0181] As a specific example, enter "Yamada Taro" in the name field, "taro@example.com" in the email address field, and "password123" in the password field.
[0182] 3. Server: The server receives the form data and verifies the format of the entered information. If the format is correct, it saves the new user information to the database (e.g., MySQL®, PostgreSQL).
[0183] 4. Server: Send a registration confirmation email to the user's email address. It will be sent via the mail server to "taro@example.com".
[0184] User Authentication
[0185] 1. Device: The user clicks the authentication link in the confirmation email they received to access the login form.
[0186] As a concrete example, open your mailbox and click on the link in the email.
[0187] 2. Device: Enter your email address and password, then click the "Login" button.
[0188] After being redirected to the login page, enter your email address "taro@example.com" and password "password123".
[0189] 3. Server: The server receives the entered email address and password and verifies them against the information in the database (e.g., MySQL, PostgreSQL). If authentication is successful, it generates session information and redirects the user to the dashboard.
[0190] Search and register for courses
[0191] Course Search
[0192] 1. Device: The user clicks the "Course List" button on the dashboard.
[0193] On the main dashboard screen, find and click the "Course List" button.
[0194] 2. Server: The server retrieves a list of available courses from the database and sends it to the terminal.
[0195] As an example, execute a database query to retrieve the course list in JSON format.
[0196] 3. Terminal: The terminal displays the acquired course list on the screen in HTML format.
[0197] Course registration
[0198] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[0199] For example, select the "Introduction to Python Programming" course.
[0200] 2. Server: The server stores the user ID and course ID in the database and registers the user to the course.
[0201] For example, save user ID "123" and course ID "456" to the registration table in the database.
[0202] 3. Server: Sends a registration confirmation message to the device.
[0203] Course enrollment
[0204] Course Access
[0205] 1. Device: Access the course page that the user has registered for.
[0206] Click "My Courses" from the side menu and select your registered course.
[0207] 2. Server: The server retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[0208] 3. Device: The device on which the user views or browses course materials.
[0209] Submission of quizzes and assignments
[0210] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[0211] Enter your answers on the quiz page or assignment submission form.
[0212] 2. Server: The server receives the user's response data and stores it in the database.
[0213] For example, save the response data along with the corresponding task ID.
[0214] 3. Server: In the case of quizzes, it performs automatic scoring, saves the results to a database, and provides feedback to the terminal.
[0215] 4. Server: For assignments, it sends a notification to the instructor and the grading results to the user.
[0216] User Support
[0217] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[0218] Find and click the "Support" button in the dashboard menu.
[0219] 2. Terminal: The user enters their inquiry and clicks the "Send" button.
[0220] For example, you could enter "I can't log in" and submit it.
[0221] 3. Server: The server receives the user's inquiry and notifies the support team.
[0222] The received information is saved to the database, and the support team is notified.
[0223] 4. Support Team: Prepare solutions based on the problem and send feedback to the user.
[0224] Specific example
[0225] For example, a user might be interested in the "Introduction to Python Programming" course and register by entering their name, email address, and password in the registration form. After email verification, they log in, view the course list from the dashboard, and register for their desired course. The user then watches video and text materials and completes quizzes and assignments. If a problem arises, the user can contact support through the support page and receive prompt assistance. In this way, an environment is in place that allows users to learn efficiently.
[0226] Examples of prompts to input into a generative AI model
[0227] "Please describe the entire process of an online course management system—including user registration, authentication, course search and registration, course participation, quiz and assignment grading, and user support—in natural language."
[0228] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0229] User registration and authentication
[0230] New User Registration
[0231] Step 1:
[0232] Input: The user accesses the system and clicks the "New Registration" button.
[0233] Specific steps: Open a browser and enter the system's URL.
[0234] Output: The registration form is displayed.
[0235] Step 2:
[0236] Input: The user enters their name, email address, and password into the registration form and clicks the "Register" button.
[0237] Specific actions: Enter "Yamada Taro" in the name field, "taro@example.com" in the email address field, and "password123" in the password field.
[0238] Output: Form data is sent to the server.
[0239] Step 3:
[0240] Input: The server processes the form data it receives.
[0241] Specific operation: The system validates the format of the input information (name, email address, password) and saves it to the database if the format is correct.
[0242] Output: New user information is added to the database.
[0243] Step 4:
[0244] Input: The server sends a confirmation email to the user's email address upon successful registration.
[0245] Specific action: A confirmation email is sent to "taro@example.com" via the mail server.
[0246] Output: A confirmation email will be sent to the user's mailbox.
[0247] User Authentication
[0248] Step 1:
[0249] Input: The user clicks the verification link in the confirmation email.
[0250] Specific action: Open the email and click the verification link.
[0251] Output: The login form is displayed.
[0252] Step 2:
[0253] Input: The user enters their email address and password and clicks the "Login" button.
[0254] Specific action: Enter the email address "taro@example.com" and the password "password123".
[0255] Output: Authentication information is sent to the server.
[0256] Step 3:
[0257] Input: The server verifies the submitted authentication information (email address and password) against the information in the database.
[0258] Specific action: Check if it matches the registered information in the database.
[0259] Output: Upon successful authentication, a session ID is generated and the user is redirected to the dashboard.
[0260] Search and register for courses
[0261] Course Search
[0262] Step 1:
[0263] Input: The user clicks the "Course List" button on the dashboard.
[0264] Specific action: On the main screen of the dashboard, find and click the "Course List" button.
[0265] Output: The course list page is displayed.
[0266] Step 2:
[0267] Input: The server retrieves a list of available courses from the database.
[0268] Specific operation: Execute a database query to retrieve the course list and send it to the terminal in JSON format.
[0269] Output: Course list data is sent to the terminal.
[0270] Step 3:
[0271] Input: Displays the course list received by the device on the screen.
[0272] Specific operation: Renders a course list in JSON format into HTML.
[0273] Output: Available courses are displayed on the user's screen.
[0274] Course registration
[0275] Step 1:
[0276] Input: The user selects a course they are interested in and clicks the "Register" button.
[0277] Specific steps: Select the "Introduction to Python Programming" course and click the "Register" button.
[0278] Output: Course registration information is sent to the server.
[0279] Step 2:
[0280] Input: The server saves the user ID and course ID to the database.
[0281] Specific action: Insert user ID "123" and course ID "456" into the database's registration table.
[0282] Output: Course registration is completed, and a confirmation message is generated.
[0283] Step 3:
[0284] Input: The server sends a confirmation message of registration completion to the terminal.
[0285] Specific operation: Generate a registration completion message in HTML format and send it to the terminal.
[0286] Output: The confirmation message is displayed on the user's screen.
[0287] Course enrollment
[0288] Course access
[0289] Step 1:
[0290] Input: The user accesses the registered course page.
[0291] Specific operation: Click "My Courses" from the side menu and select the registered "Introduction to Python Programming" course.
[0292] Output: The course page is displayed.
[0293] Step 2:
[0294] Input: The server retrieves the course materials from the database.
[0295] Specific operation: Search for teaching materials from the database based on the selected teaching material ID and send them to the terminal.
[0296] Output: The teaching material data is sent to the terminal.
[0297] Step 3:
[0298] Input: The terminal displays the teaching materials received to the user.
[0299] Specific operation: Play a video teaching material or display a text teaching material using the received data.
[0300] Output: The user can view or browse the teaching material.
[0301] Submission of quizzes and assignments
[0302] Step 1:
[0303] Input: The user answers quizzes and assignments in the course and clicks the "Send" button.
[0304] Specific operation: Enter the answer in the quiz page or assignment submission form and click the "Send" button.
[0305] Output: The answer data is sent to the server.
[0306] Step 2:
[0307] Input: The server receives the user's answer data.
[0308] Specific operation: Save the answer data in the database together with the corresponding quiz ID or assignment ID.
[0309] Output: The answer data is saved in the database.
[0310] Step 3:
[0311] Input: The server automatically grades the quiz.
[0312] Specific operation: Based on the saved answer data, execute an automatic grading program, calculate the number of correct answers, and save the result in the database.
[0313] Output: The grading result is generated and feedback is provided to the user.
[0314] Step 4:
[0315] Input: The server notifies the instructor of the assignment's grading results.
[0316] Specific actions: Send an email notification to the instructor that you have submitted the assignment, and then wait for the grading results.
[0317] Output: The scoring results are notified to the instructor.
[0318] Step 5:
[0319] Input: The instructor enters the grading results into the server.
[0320] Specific actions: The instructor grades the work and enters the results into the system.
[0321] Output: The scoring results are saved to the system.
[0322] Step 6:
[0323] Input: The server provides feedback to the user regarding the scoring results.
[0324] Specific operation: Generate the scoring results in HTML format and send them to the user's device.
[0325] Output: The user can check the scoring results.
[0326] User Support
[0327] Step 1:
[0328] Input: The user clicks the "Support" button on the dashboard and accesses the contact form.
[0329] Specific steps: Find and click the "Support" button in the dashboard menu.
[0330] Output: The contact form is displayed.
[0331] Step 2:
[0332] Input: The user enters their inquiry and clicks the "Submit" button.
[0333] Specific action: Enter a message such as "I can't log in" into the inquiry form and click the "Send" button.
[0334] Output: The query content is sent to the server.
[0335] Step 3:
[0336] Input: The server receives the user's inquiry.
[0337] Specific action: Save the inquiry details to the database and notify the support team.
[0338] Output: A notification is sent to the support team.
[0339] Step 4:
[0340] Input: The support team will review the inquiry and prepare appropriate feedback.
[0341] Specific action: The support team will compile solutions to address the inquiries.
[0342] Output: Feedback content is prepared.
[0343] Step 5:
[0344] Input: The support team sends feedback to the user.
[0345] Specific action: Send the user feedback via email.
[0346] Output: The user receives feedback.
[0347] (Application Example 1)
[0348] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0349] This invention aims to improve the efficiency of employee training in physical stores and enable employees to perform their duties smoothly. Conventional training methods mainly involve learning using paper materials or fixed terminals, which lack immediacy in the actual work environment. There is a need to build a system that allows employees to immediately check the learned content while working on-site.
[0350] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0351] In this invention, the server includes means for receiving information entered by a user in a registration form and storing it in a database; means for receiving authentication information from a user and performing authentication by matching it with information in the database; means for displaying a dashboard to users who have successfully authenticated; means for obtaining a list of available courses from the database and displaying it to the user; means for accepting registration to a course based on the course selected by the user and storing it in the database; means for obtaining course materials for the course registered by the user from the database and sending them to the terminal; means for receiving answers to quizzes and assignments from the user and storing them in the database; means for automatically scoring quizzes, saving the results and providing feedback to the user; means for receiving scoring results for assignments from the instructor and providing feedback to the user; means for receiving user inquiries and notifying the support team; means for sending feedback from the support team to the user; means for employees of physical stores to learn training and work procedures using a dedicated wearable device; means for displaying the progress of training and work procedures through the wearable device; and means for receiving voice input from the user through the wearable device and storing its contents in a database. This allows employees to efficiently learn training and work procedures while on the job and immediately put that knowledge into practice.
[0352] "User information" refers to personally identifiable information such as the user's name, email address, and password entered in the registration form.
[0353] "Authentication information" refers to verification information such as the email address and password that a user uses when logging in.
[0354] A "dashboard" is the main screen that users can access after logging in, and it is an interface that provides access to various information and functions.
[0355] The "course list" is a list of available training courses retrieved from the database and provided to the user.
[0356] "Registration method" refers to the process of saving the user's registration for the selected training course to a database.
[0357] "Educational materials" refers to the collective term for educational resources such as videos, texts, and quizzes that users utilize during training.
[0358] A "wearable device" is a device that a user can wear, and in this context, it specifically refers to smart glasses and head-mounted displays.
[0359] "Quizzes and assignments" refer to tests or evaluation items that users complete after learning.
[0360] "Automatic scoring" refers to the process of automatically evaluating quiz answers submitted by users using an algorithm and providing feedback on the results.
[0361] A "support team" is a group of staff members who respond to user inquiries and provide appropriate feedback.
[0362] "Voice input" is a method of inputting information by voice through a wearable device.
[0363] "Progress display" is a function that uses a wearable device to visually display the progress of a user's training or work procedures.
[0364] This invention provides a system that enables employees in physical stores to receive training efficiently. An example of an embodiment of this system is described below. The system mainly consists of a server, user terminals (wearable devices), and a database.
[0365] Hardware:
[0366] Wearable devices (e.g., smart glasses, head-mounted displays)
[0367] Servers (e.g., AWS®, Google® Cloud)
[0368] Databases (e.g., MySQL, PostgreSQL)
[0369] software:
[0370] Frontend: React Native, ARKit
[0371] Backend: Node.js, Express
[0372] Database: MySQL
[0373] The server receives the information entered by the user in the registration form and stores it in the database. It also receives the authentication information (email address and password) that the user provides when logging in and performs authentication by comparing it with the information in the database. If authentication is successful, the server displays the dashboard to the user.
[0374] Furthermore, the server retrieves a list of available courses from the database and displays it to the user via a wearable device. If the user selects a specific training course, the server accepts their registration based on that selection and saves it to the database.
[0375] Users can access course materials (videos, texts) for their registered courses through their wearable devices. They can also use their wearable devices to answer quizzes and assignments and submit them to the server. The server receives these submissions, stores them in a database, automatically grades them as needed, and provides feedback to the user. For assignments, it notifies the instructor and returns the grading results to the user.
[0376] Furthermore, it has a function that displays the progress of training and work procedures in real time via a wearable device, allowing users to check the status. Users can input inquiries using voice input, and this information is also stored on the server and notified to the support team. Feedback from the support team is sent to the user via the server.
[0377] Specific example:
[0378] For example, suppose an employee at a physical store needs to learn a new product display method. The employee wears smart glasses, fills out the required information on the registration form, and registers. After the authentication process, they access the dashboard and select "New Product Display Training" from the list of available courses. They then watch the registered training materials, answer quizzes presented along the way, and submit their answers to the server. The quiz results are automatically scored and immediately provided as feedback, and if there are any issues, an evaluation from the instructor is displayed later via the wearable device. Progress can also be checked at every step, allowing for efficient training completion and application of the skills learned in the workplace.
[0379] Examples of prompts to input into a generative AI model:
[0380] I would like to conduct a requirements analysis for developing a "physical store training support app." Please provide specific workflows for new user registration, authentication, training search and registration, training participation, quiz / assignment submission, and user support. I would especially appreciate a focus on scenarios where each operation is performed using smart glasses.
[0381] In this way, employees can efficiently learn the training content and immediately apply it to their actual work.
[0382] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0383] Step 1: User Registration
[0384] The user enters their name, email address, and password into a registration form via voice input using a wearable device. This information is sent to the server. The server validates the received information, confirms that it is in the correct format, and then stores it in its database. Finally, the server sends a confirmation email to the user's email address.
[0385] Step 2: User Authentication
[0386] The user clicks an authentication link on their wearable device, enters their email address and password using voice input, and accesses the login form. The entered information is sent to the server. The server compares the received authentication information with the information in its database, and if authentication is successful, it generates session information for the user and displays the dashboard screen.
[0387] Step 3: Course Search
[0388] The user clicks the "Course List" button on the dashboard. The server retrieves a list of available training courses from the database and sends it to the wearable device. The wearable device visually displays the received course list to the user.
[0389] Step 4: Course Registration
[0390] The user selects a training course of interest from the displayed course list and clicks the "Register" button. This selection information is sent to the server. The server stores the user ID and course ID in its database and sends a registration completion message to the wearable device.
[0391] Step 5: Course Enrollment
[0392] The user accesses the registered course page via a wearable device. The server retrieves the course materials (videos, texts) from the database and sends them to the wearable device. The user then views or browses the materials through the wearable device.
[0393] Step 6: Submit quiz / assignment
[0394] Users answer quizzes and assignments within the course using voice input and click the "Submit" button. This response data is sent to the server, which stores the received data in a database. In the case of quizzes, the server automatically grades the answers, saves the results to the database, and provides feedback to the user. In the case of assignments, the server notifies the instructor, and the grading results are provided to the user at a later date.
[0395] Step 7: Display progress
[0396] Users check their progress using wearable devices. The server periodically saves progress information to a database and retrieves that data and sends it to the wearable device whenever the user requests it. Users can visually check their progress in real time.
[0397] Step 8: User Support
[0398] The user clicks the "Support" button on the dashboard to access the inquiry form. They enter their inquiry using voice input via their wearable device and click the "Submit" button. The entered inquiry is sent to the server, which saves the information to its database and notifies the support team. Feedback from the support team is then sent to the user's wearable device via the server.
[0399] By combining these processing steps, employees in physical stores can receive training efficiently and apply it to their work.
[0400] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0401] This invention relates to a system for operating online courses for acquiring specialized skills, learning hobbies and languages, etc. It combines a system for efficiently handling user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support with an emotion engine that recognizes user emotions. The specific program processing and its embodiments are described below.
[0402] User registration and authentication
[0403] New User Registration
[0404] 1. Terminal: The user accesses the system and clicks the "New Registration" button.
[0405] 2. Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[0406] 3. Server: Receives form data and validates the format of the input information. If the format is correct, saves the new user information to the database.
[0407] 4. Server: Sends a confirmation email to the user's email address to verify that registration is complete.
[0408] User Authentication
[0409] 1. Device: The user clicks the authentication link and accesses the login form using their email address and password.
[0410] 2. Device: Enter your email address and password, then click the "Login" button.
[0411] 3. Server: Receives the entered email address and password and verifies them against the information in the database. If authentication is successful, generates session information and redirects the user to the dashboard.
[0412] Search and register for courses
[0413] Course Search
[0414] 1. Device: The user clicks the "Course List" button on the dashboard.
[0415] 2. Server: Retrieves a list of available courses from the database and sends it to the user's terminal.
[0416] 3. Terminal: Displays the acquired course list to the user.
[0417] Course registration
[0418] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[0419] 2. Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[0420] 3. Server: Sends a registration completion confirmation message to the user's device.
[0421] Course enrollment
[0422] Course Access
[0423] 1. Device: Access the course page that the user has registered for.
[0424] 2. Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[0425] 3. Device: The device on which the user views or browses course materials.
[0426] Submission of quizzes and assignments
[0427] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[0428] 2. Server: Receives user response data and saves it to the database.
[0429] 3. Server: In the case of quizzes, the server performs automatic scoring and saves the results to a database. The results are then fed back to the user.
[0430] 4. Server: For assignments, it sends a notification to the instructor and later sends the grading results to the user.
[0431] Implementation of an emotion engine
[0432] emotion recognition
[0433] 1. Device: While the user is viewing course materials or answering quizzes / assignments, the device's camera and microphone will be used to capture the user's facial expressions and voice.
[0434] 2. Server: Receives the captured data and inputs it into the emotion engine.
[0435] 3. Emotion Engine: Analyzes the user's emotions from facial expressions and voice data, and stores the results in a database.
[0436] Adjusting the learning process
[0437] 1. Server: Executes algorithms to adjust the learning progress based on user sentiment data.
[0438] 2. Device: Displays customized learning content and feedback to the user.
[0439] User Support
[0440] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[0441] 2. Device: Enter your inquiry and click the "Send" button.
[0442] 3. Server: Receives user inquiries and notifies the support team.
[0443] 4. Support Team: Prepare appropriate feedback based on the inquiry and send it to the user. In some cases, they may provide more appropriate support based on the user's sentiment data.
[0444] Specific example
[0445] For example, suppose Hanako Suzuki registers with the system and is interested in the "Introduction to Data Science" course. When Ms. Suzuki enters her name, email address, and password in the registration form and clicks the "Register" button, the server receives the information and saves it to the database. After that, Ms. Suzuki performs email verification and logs in by entering her email address and password in the login form. The server verifies the authentication information, and if authentication is successful, it displays the dashboard to Ms. Suzuki.
[0446] When Ms. Suzuki selects the "Introduction to Data Science" course from the "Course List" on the dashboard and clicks the "Register" button, the server saves her user ID and course ID to the database and accepts her registration. Once registration is complete, Ms. Suzuki can access the course page and view the video and text materials. During her studies, Ms. Suzuki's facial expressions and voice are captured by her device's camera and microphone, and this data is sent to the server and analyzed by the emotion engine. The emotion engine provides appropriate feedback based on Ms. Suzuki's learning progress and adjusts the learning process as needed.
[0447] If a problem arises, Ms. Suzuki can submit an inquiry through the support page, and the support team can respond quickly and appropriately based on sentiment data. In this way, a system is created that allows users to learn more efficiently and effectively.
[0448] The following describes the processing flow.
[0449] User registration and authentication
[0450] New User Registration
[0451] Step 1:
[0452] Terminal: The user accesses the system and clicks the "New Registration" button.
[0453] Step 2:
[0454] Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[0455] Step 3:
[0456] Server: Receives form data. At this point, validates the format of the input information (for example, whether the email address is in the correct format).
[0457] Step 4:
[0458] Server: If the input information is correct, save the new user information to the database.
[0459] Step 5:
[0460] Server: Sends a registration confirmation email to the user's email address.
[0461] User Authentication
[0462] Step 1:
[0463] Terminal: The user clicks the authentication link and accesses the login form using their email address and password.
[0464] Step 2:
[0465] Terminal: Enter your email address and password, then click the "Login" button.
[0466] Step 3:
[0467] Server: Receives the entered email address and password.
[0468] Step 4:
[0469] Server: Performs authentication by comparing the information with that in the database. If authentication is successful, it generates session information.
[0470] Step 5:
[0471] Server: Redirects the user to the dashboard based on session information.
[0472] Search and register for courses
[0473] Course Search
[0474] Step 1:
[0475] Device: The user clicks the "Course List" button on the dashboard.
[0476] Step 2:
[0477] Server: Retrieves a list of available courses from the database.
[0478] Step 3:
[0479] Server: Sends the retrieved course list to the user's terminal.
[0480] Step 4:
[0481] Terminal: Displays the course list to the user.
[0482] Course registration
[0483] Step 1:
[0484] Device: The user selects a course they are interested in and clicks the "Register" button.
[0485] Step 2:
[0486] Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[0487] Step 3:
[0488] Server: Sends a registration confirmation message to the user's device.
[0489] Course enrollment
[0490] Course Access
[0491] Step 1:
[0492] Device: Accesses the course page the user has registered for.
[0493] Step 2:
[0494] Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database.
[0495] Step 3:
[0496] Server: Sends educational material data to the user's terminal.
[0497] Step 4:
[0498] Device: The device on which the user views or browses course materials.
[0499] Submission of quizzes and assignments
[0500] Step 1:
[0501] Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[0502] Step 2:
[0503] Server: Receives user response data.
[0504] Step 3:
[0505] Server: Stores the response data in the database.
[0506] Step 4:
[0507] Server: In the case of a quiz, it performs automatic scoring and saves the results to a database. The automatically scored results are then fed back to the user.
[0508] Step 5:
[0509] Server: For assignments, a notification is sent to the instructor, and the assignment along with the answers is sent to the instructor. Later, the instructor sends the grading results to the server and provides feedback to the user.
[0510] Implementation of an emotion engine
[0511] emotion recognition
[0512] Step 1:
[0513] Device: While the user is viewing course materials or answering quizzes / assignments, the device's camera and microphone are used to capture the user's facial expressions and voice.
[0514] Step 2:
[0515] Server: Receives captured data and inputs it into the emotion engine.
[0516] Step 3:
[0517] Emotion Engine: Analyzes the user's emotions from facial expressions and voice data, and stores the results in a database.
[0518] Adjusting the learning process
[0519] Step 1:
[0520] Server: Executes algorithms to adjust the learning progress based on user sentiment data.
[0521] Step 2:
[0522] Device: Displays tailored learning content and feedback to the user.
[0523] User Support
[0524] Step 1:
[0525] Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[0526] Step 2:
[0527] Terminal: Enter your inquiry and click the "Send" button.
[0528] Step 3:
[0529] Server: Receives user inquiries and notifies the support team.
[0530] Step 4:
[0531] Support team: Prepare appropriate feedback based on the inquiry.
[0532] Step 5:
[0533] Server: Sends feedback from the support team to the user. May also provide more appropriate support based on user sentiment data.
[0534] The above is the processing flow of an online course management system that incorporates an emotion engine. This provides an environment in which users can learn more efficiently and effectively.
[0535] (Example 2)
[0536] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0537] Modern online learning systems are required to efficiently provide numerous functions, including user registration, authentication, course search and enrollment, course participation, quiz and assignment grading, and user support. Furthermore, to maximize user learning efficiency, technologies that understand user emotions and adjust the learning process accordingly are also necessary. However, existing systems struggle to provide these functions in an integrated manner, resulting in a lack of optimized user experience.
[0538] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0539] In this invention, the server includes means for receiving information entered by the user in a registration form and storing it in a database; means for receiving authentication information from the user and performing authentication by matching it with the information in the database; means for displaying a dashboard to users who have successfully authenticated; means for obtaining a list of available learning courses from the database and displaying it to the user; means for accepting registration to a course based on the learning course selected by the user and storing it in a database; means for obtaining learning materials for the learning course registered by the user from the database and sending them to the terminal; means for receiving answers to quizzes and assignments from the user and storing them in a database; means for automatically scoring quizzes, saving the results and providing feedback to the user; means for receiving scoring results for assignments from the instructor and providing feedback to the user; means for receiving user inquiries and notifying the support team; means for sending feedback from the support team to the user; means for capturing the user's facial expressions and voice and inputting them into an emotion analysis engine; and means for adjusting the user's learning progress based on the analysis results of the emotion analysis engine. This enables the user to proceed with online learning efficiently and effectively.
[0540] "User" refers to an individual or group that uses the system.
[0541] A "registration form" refers to an electronic format used by users to enter personal information and authentication information.
[0542] A "database" refers to a system for centrally storing and managing various types of data, such as user information, learning course information, quiz and assignment answers, and sentiment data.
[0543] "Authentication information" refers to information such as email addresses and passwords that system users use when logging in.
[0544] The "dashboard" is the main screen accessible to authenticated users, providing information on registered courses, progress, and various navigation functions.
[0545] A "learning course" refers to a collection of online learning materials and activities designed to teach specific skills or knowledge.
[0546] "Learning materials" refers to videos, texts, audio, or other educational materials that users use to learn through a course.
[0547] A "quiz" refers to a question-and-answer test designed to assess the level of understanding of the learned material.
[0548] "Assignments" refer to practical tasks or projects that users are required to submit within a learning course.
[0549] "Automatic scoring" refers to the process by which a system automatically evaluates a user's quiz answers.
[0550] An "instructor" refers to an educator who teaches the content of a learning course and grades assignments.
[0551] "Inquiry" refers to communication from users, such as questions or requests for support.
[0552] A "support team" refers to a team of specialist staff who handle inquiries from users.
[0553] An "emotion analysis engine" refers to software or hardware that analyzes a user's facial expressions and voice to determine their emotional state.
[0554] "Adjusting the learning progress" refers to the process of optimizing learning content and methods based on the user's learning progress and emotional state.
[0555] Modes for carrying out the invention
[0556] This invention is a system for operating online courses for acquiring specialized skills, learning hobbies and languages, etc. This system is designed to efficiently handle processes related to user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support, and further incorporates an emotion engine that recognizes user emotions.
[0557] User registration and authentication
[0558] New User Registration
[0559] 1. Terminal: The user opens a web browser, accesses the system's homepage, and clicks the "New Registration" button. They enter their name, email address, and password in the registration form and click the "Register" button.
[0560] 2. Server: Receives form data and validates the format of the input information. If validation is successful, saves the new user information to the database.
[0561] 3. Server: Sends a confirmation email to the user's email address to verify that registration is complete.
[0562] User Authentication
[0563] 1. Terminal: The user clicks the authentication link and accesses the login form.
[0564] 2. Device: Enter your email address and password, then click the "Login" button.
[0565] 3. Server: Receives the entered email address and password and verifies them against the information in the database. If authentication is successful, generates session information and redirects the user to the dashboard.
[0566] Search and register for courses
[0567] Course Search
[0568] 1. Device: The user accesses the dashboard and clicks the "Course List" button.
[0569] 2. Server: Retrieves a list of available courses from the database and sends it to the user's terminal.
[0570] 3. Terminal: Displays the acquired course list to the user.
[0571] Course registration
[0572] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[0573] 2. Server: Stores the user ID and course ID in the database, and users register for that course.
[0574] 3. Server: Sends a registration completion confirmation message to the user's device.
[0575] Course enrollment
[0576] Course Access
[0577] 1. Device: Access the course page that the user has registered for.
[0578] 2. Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[0579] 3. Device: The device on which the user views or browses course materials.
[0580] Submission of quizzes and assignments
[0581] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[0582] 2. Server: Receives user response data and saves it to the database.
[0583] 3. Server: In the case of quizzes, the server performs automatic scoring and saves the results to a database. The results are then fed back to the user.
[0584] 4. Server: For assignments, it sends a notification to the instructor and later sends the grading results to the user.
[0585] Implementation of an emotion engine
[0586] emotion recognition
[0587] 1. Device: While the user is viewing course materials or answering quizzes / assignments, the device's camera and microphone will be used to capture the user's facial expressions and voice.
[0588] 2. Server: Receives the captured data and inputs it into the sentiment analysis engine.
[0589] 3. Emotion Analysis Engine: Analyzes the user's emotions from facial expressions and voice data, and stores the results in a database.
[0590] Adjusting the learning process
[0591] 1. Server: Executes algorithms to adjust the learning progress based on user sentiment data.
[0592] 2. Device: Displays customized learning content and feedback to the user.
[0593] User Support
[0594] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[0595] 2. Device: Enter your inquiry and click the "Send" button.
[0596] 3. Server: Receives user inquiries and notifies the support team.
[0597] 4. Support Team: Prepare appropriate feedback based on the inquiry and send it to the user. Also, respond based on sentiment data.
[0598] Specific example
[0599] For example, suppose a user registers with the system and expresses interest in the "Introduction to Data Science" course. The user enters their name, email address, and password into the registration form and clicks the "Register" button. The server receives this information and stores it in the database. The user then performs email verification and logs in by entering their email address and password into the login form. The server verifies the authentication information, and if authentication is successful, the dashboard is displayed.
[0600] When a user selects the "Introduction to Data Science" course from the "Course List" on the dashboard and clicks the "Register" button, the server saves the user ID and course ID to the database and accepts the registration. Once course registration is complete, the user can access the course page and view video and text materials. During learning, the user's facial expressions and voice are captured by the device's camera and microphone, and this data is sent to the server and analyzed by an emotion analysis engine. The emotion analysis engine provides appropriate feedback according to the user's learning progress and adjusts the learning process as needed.
[0601] If a problem arises, users can submit an inquiry through the support page, and the support team can respond quickly and appropriately based on sentiment data. In this way, a system is created that allows users to learn more efficiently and effectively.
[0602] Example of a prompt
[0603] Please describe the new user registration procedure in natural language. Include the following information:
[0604] Display of registration screen
[0605] Form Input
[0606] Data transmission and verification
[0607] Sending a confirmation email.
[0608] This system helps users learn professional skills, hobbies, and languages more efficiently, and utilizes an emotion analysis engine to address individual learning needs. It provides real-time feedback and support using a cloud-based database and the latest machine learning technologies.
[0609] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0610] Step 1:
[0611] The terminal processes the user's request when they access the system's homepage and click the "New Registration" button. It loads the homepage's HTML data as input and makes the button element interactive. The output is that the "New Registration" button becomes clickable.
[0612] Step 2:
[0613] The terminal works as follows: the user enters their name, email address, and password into a registration form and clicks the "Register" button. The terminal captures the data entered by the user into the form using JavaScript (registered trademark). The terminal then sends the form data to the server as a POST request.
[0614] Step 3:
[0615] The server receives the form data and verifies the format of the input information (validity of the email address, strength of the password). The form data is passed to a validation function as input. The server generates user information in a format that can be stored in the database as output.
[0616] Step 4:
[0617] If the verification is successful, the server saves the new user information to the database. The verified user information is passed as input to the SQL insert query. The output is the new user information saved to the database.
[0618] Step 5:
[0619] The server sends a confirmation email to the user's email address upon registration completion. User information is passed to the email sending API as input. The confirmation email is sent to the user as output.
[0620] Step 6:
[0621] The device displays the login form when the user clicks the authentication link in the confirmation email. The input is triggered by clicking the link in the email. The output is the display of the login form.
[0622] Step 7:
[0623] The terminal receives the user's email address and password and clicks the "Login" button. The user's authentication information is captured using JavaScript as input. The authentication information is then sent to the server as a POST request as output.
[0624] Step 8:
[0625] The server receives the entered email address and password and compares them with the information in the database. As input, it compares the authentication information with the user information in the database. As output, if authentication is successful, it generates session information.
[0626] Step 9:
[0627] The server sets session information for successfully authenticated users and redirects them to the dashboard. As input, it generates session information and saves it in a cookie. As output, it sends an HTTP response redirecting to the dashboard.
[0628] Step 10:
[0629] The device works as follows: The user accesses the dashboard and clicks the "Course List" button. The dashboard HTML is loaded as input. The event for clicking the "Course List" button is triggered as output.
[0630] Step 11:
[0631] The server retrieves a list of available courses from the database and sends it to the user's terminal. It takes course information as input via an SQL query and returns the course list in JSON format as output.
[0632] Step 12:
[0633] The terminal displays the acquired course list to the user. It parses the received JSON data as input. As output, it embeds and displays the data in an HTML template.
[0634] Step 13:
[0635] The device allows the user to select a course of interest and click the "Register" button. It captures the selected course ID as input and sends a course registration request to the server as output.
[0636] Step 14:
[0637] The server stores the user ID and course ID in the database, and the user is registered for that course. The user ID and course ID are passed as input to an SQL insert query. The registration information is then stored in the database as output.
[0638] Step 15:
[0639] The server sends a registration completion confirmation message to the user's device. It generates a registration success message as input and returns a confirmation message in JSON format as output.
[0640] Step 16:
[0641] The device accesses the course page the user has registered for. It generates a request containing the user ID as input. The course page is displayed as output.
[0642] Step 17:
[0643] The server retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal. The input is course material data retrieved using an SQL query. The output is course material data sent to the terminal.
[0644] Step 18:
[0645] The terminal allows the user to view or browse course materials. It displays received course data as input and a video player or text viewer as output.
[0646] Step 19:
[0647] The device handles user responses to quizzes and assignments within a course, and clicks the "Submit" button. It captures the response data as input and sends the response data to the server as output.
[0648] Step 20:
[0649] The server receives user response data and saves it to the database. The response data is passed as input to an SQL insert query. The response data is saved to the database as output.
[0650] Step 21:
[0651] In the case of a quiz, the server automatically scores the answers and saves the results to a database. It executes an algorithm that compares the answer data with the correct answer data as input. As output, it saves the scoring results to the database.
[0652] Step 22:
[0653] The server, in the case of an assignment, sends a notification to the instructor and later sends the grading results to the user. The input is the submission data of the assignment, which is then sent to the instructor. The output is the grading results from the instructor, which are then sent to the user.
[0654] Step 23:
[0655] The device captures the user's facial expressions and voice using its camera and microphone while the user is viewing course materials or answering quizzes and assignments. It acquires data streams from the camera and microphone as input and sends the captured data to the server as output.
[0656] Step 24:
[0657] The server receives the captured data and inputs it into the emotion analysis engine. It provides facial expressions and audio data as input to the analysis engine, and outputs the emotion analysis results.
[0658] Step 25:
[0659] The emotion analysis engine analyzes the user's emotions from facial expressions and voice data and stores the results in a database. It receives a data stream to be analyzed as input and stores the emotion data in the database as output.
[0660] Step 26:
[0661] The server executes an algorithm to adjust the learning progress based on the user's emotional data. Emotional data and learning progress data are passed to the algorithm as input. The adjustments are generated as output.
[0662] Step 27:
[0663] The device displays tailored learning content and feedback to the user. It receives tailored content as input and displays appropriate feedback as output.
[0664] Step 28:
[0665] The device loads the form page as input when the user clicks the "Support" button on the dashboard and accesses the contact form. The contact form is displayed as output.
[0666] Step 29:
[0667] The terminal takes the user's inquiry and clicks the "Send" button. It captures the inquiry information as input and sends the inquiry data to the server as output.
[0668] Step 30:
[0669] The server receives user inquiries and notifies the support team. The received inquiry data is passed to the notification system as input. The notification is sent to the support team as output.
[0670] Step 31:
[0671] The support team prepares appropriate feedback based on the inquiry and sends it to the user. The input is analysis of the inquiry. The output is sending feedback to the user. In this process, the response can also be adjusted based on sentiment data.
[0672] (Application Example 2)
[0673] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0674] In modern online learning and virtual shopping, accurately understanding user emotions, recommending appropriate content and products based on those emotions, and providing appropriate support is challenging. Traditional systems lack dynamic feedback and adjustments based on user emotions, resulting in insufficient improvements in the quality of user interaction, learning effectiveness, and shopping experience.
[0675] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving information entered by the user in a registration form and storing it in a database, means for receiving authentication information from the user and performing authentication by matching it with the information in the database, means for displaying a dashboard to users who have successfully been authenticated, means for obtaining a list of available courses from the database and displaying it to the user, means for accepting registration to a course based on the course selected by the user and storing it in a database, means for obtaining course materials for the course registered by the user from the database and sending them to the terminal, means for receiving answers to quizzes and assignments from the user and storing them in a database, means for automatically scoring quizzes, saving the results and providing feedback to the user, means for receiving scoring results for assignments from the instructor and providing feedback to the user, means for receiving user inquiries and notifying the support team, means for sending feedback from the support team to the user, means for capturing the user's facial expressions and voice using the terminal's camera and microphone to recognize the user's emotions and analyzing the data with an emotion engine, and means for adjusting product recommendations and the learning process based on the analyzed emotion data. This makes it possible to understand the user's emotional state in real time and dynamically provide content and support.
[0676] Definitions of important words
[0677] "User registration" is the process by which a user enters personal information into the system and creates a new account.
[0678] "Authentication" is the process of verifying whether a user is registered using authentication information provided by the user (for example, an email address and password).
[0679] A "dashboard" is an interface displayed to users who have successfully authenticated, containing a collection of key system functions and information.
[0680] A "course" refers to educational content for acquiring specialized skills, learning hobbies or languages, etc.
[0681] A "quiz" is a type of question format provided by a system to evaluate a user's level of understanding.
[0682] A "task" is a practical evaluation method provided by the system to deepen the user's understanding of the learning material.
[0683] An "emotion engine" is software that analyzes data such as a user's facial expressions and voice to recognize their emotional state.
[0684] "Facial capture" is the process of using a camera to photograph a user's face and acquiring that image data.
[0685] "Voice capture" is the process of recording a user's voice using a microphone and acquiring that audio data.
[0686] "Analysis" is the process of extracting useful information by applying a specific algorithm to acquired data.
[0687] "Product recommendation" is a process that presents information about products that users are likely to be interested in, based on their emotions and past behavior history.
[0688] "Learning process adjustment" is a process that dynamically changes the learning content and the way feedback is provided according to the user's emotional state and progress.
[0689] "Feedback" refers to the reactions and guidance provided by the system to the user regarding learning progress, quiz results, and other similar matters.
[0690] Modes for carrying out the invention
[0691] The system that implements the application of this invention is composed of various hardware and software. This section describes the specific method of carrying out the invention and explains the operation of the system in natural language.
[0692] Hardware and software to use
[0693] 1. Hardware:
[0694] Computer (with camera and microphone)
[0695] server
[0696] 2. Software:
[0697] Python
[0698] OpenCV (image processing library)
[0699] EmotionRecognition (emotion recognition library)
[0700] Database management system (e.g., MySQL)
[0701] System configuration and operation
[0702] User registration and authentication
[0703] Terminal: Users access the system via a web browser and enter personal information into a registration form. The entered data is sent to the server and stored in a database.
[0704] Server: After registration is complete, an authentication email will be sent to the user's email address. When the user clicks the authentication link, their authentication information will be verified, and if successful, the dashboard will be displayed.
[0705] Emotion recognition and analysis
[0706] Device: When a user views course materials or browses products in a virtual store, the camera and microphone capture the user's facial expressions and voice.
[0707] Server: The captured data is sent to the server and analyzed by the emotion engine. The emotion engine performs facial recognition and voice analysis to identify the user's emotional state.
[0708] Product recommendation and learning process adjustment
[0709] Server: Based on the analysis results of the emotion engine, it recommends products and learning content according to the user's emotional state. For example, if the user shows interest, it displays a list of related products; conversely, if the user is confused, it displays help content.
[0710] Device: Recommended products and learning content are displayed on the user's device. The user can then choose their next action based on this information.
[0711] User Support
[0712] Terminal: The user clicks the inquiry button, enters their inquiry details, and submits them.
[0713] Server: The inquiry is sent to the support team, and sentiment data is also sent along with it if necessary. After specific actions are taken, feedback is sent to the user.
[0714] Specific example
[0715] For example, consider a user browsing a virtual store. While the user views product details via camera, their facial expressions are captured, and the emotion engine recognizes this as "interest." In this case, the system recommends related products and special offers to the user. Conversely, if the user displays a confused expression, the system displays help content and information on how to access customer support.
[0716] Example of a prompt
[0717] Examples of prompts to input into a generative AI model include the following:
[0718] "Create a script that analyzes the user's facial expressions when they log into a virtual store and recommends products based on their emotions."
[0719] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0720] Processing flow of the system program in the application example.
[0721] Processing steps
[0722] Step 1:
[0723] Input: The user accesses the system via a web browser and enters their name, email address, and password into the registration form.
[0724] Action: The terminal sends this input data to the server.
[0725] Output: The server saves the entered data to the database and sends a confirmation email to the user upon completion of registration.
[0726] Step 2:
[0727] Input: The user clicks the authentication link in the confirmation email they received, enters their email address and password, and accesses the login form.
[0728] Action: The terminal sends the entered authentication information to the server.
[0729] Output: The server compares the information with the database, and if authentication is successful, it displays the dashboard.
[0730] Step 3:
[0731] Input: The user clicks the course list button on the dashboard to search for available courses.
[0732] Operation: The server retrieves a list of available courses from the database and sends it to the user's terminal.
[0733] Output: The terminal displays the retrieved course list to the user.
[0734] Step 4:
[0735] Input: The user selects a course they are interested in and clicks the register button.
[0736] Operation: The terminal sends the user ID and the selected course ID to the server.
[0737] Output: The server saves this information to the database and notifies the user that registration for the course is complete.
[0738] Step 5:
[0739] Input: The user accesses the course materials page.
[0740] Operation: The server retrieves the relevant educational material data from the database and sends the material in video or text format to the user's device.
[0741] Output: The device displays the learning materials, which the user can view or browse.
[0742] Step 6:
[0743] Input: While the user is watching the course materials, the device's camera and microphone capture the user's facial expressions and voice.
[0744] Operation: The device sends the captured data to the server.
[0745] Output: The server uses an emotion engine (EmotionRecognition library) to analyze the captured data, identify the user's emotional state, and save the results to a database.
[0746] Step 7:
[0747] Input: User emotion data obtained as a result of the emotion engine analysis.
[0748] Operation: The server recommends products and learning content suitable for the user based on sentiment data.
[0749] Output: The device displays recommended products and learning content to the user. Specifically, if the user shows interest, related products and special offers will be displayed, and if they are confused, help content will be displayed.
[0750] Step 8:
[0751] Input: Submit a user inquiry that requires attention.
[0752] Operation: The terminal sends the query details to the server.
[0753] Output: The server notifies the support team of the inquiry details and then sends feedback from the support team to the user.
[0754] The system in this application example is realized through the steps described above. By clearly defining the specific actions and data flow performed at each step, the overall system operation is easy to understand. As a result, users can receive product recommendations and adjustments to the learning process based on real-time sentiment data.
[0755] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0756] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0757] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0758] [Second Embodiment]
[0759] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0760] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0761] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0762] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0763] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0764] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0765] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0766] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0767] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0768] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0769] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0770] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[0771] This invention relates to a system for operating online courses for acquiring specialized skills, learning hobbies and languages, etc., and is a system for efficiently performing processes related to user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support. The following describes the specific program processing and its embodiments.
[0772] User registration and authentication
[0773] New User Registration
[0774] 1. Terminal: The user accesses the system and clicks the "New Registration" button.
[0775] 2. Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[0776] 3. Server: Receives form data and validates the format of the input information. If the format is correct, saves the new user information to the database.
[0777] 4. Server: Sends a confirmation email to the user's email address to verify that registration is complete.
[0778] User Authentication
[0779] 1. Device: The user clicks the authentication link and accesses the login form using their email address and password.
[0780] 2. Device: Enter your email address and password, then click the "Login" button.
[0781] 3. Server: Receives the entered email address and password and verifies them against the information in the database. If authentication is successful, generates session information and redirects the user to the dashboard.
[0782] Search and register for courses
[0783] Course Search
[0784] 1. Device: The user clicks the "Course List" button on the dashboard.
[0785] 2. Server: Retrieves a list of available courses from the database and sends it to the user's terminal.
[0786] 3. Terminal: Displays the acquired course list to the user.
[0787] Course registration
[0788] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[0789] 2. Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[0790] 3. Server: Sends a registration completion confirmation message to the user's device.
[0791] Course enrollment
[0792] Course Access
[0793] 1. Device: Access the course page that the user has registered for.
[0794] 2. Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[0795] 3. Device: The device on which the user views or browses course materials.
[0796] Submission of quizzes and assignments
[0797] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[0798] 2. Server: Receives user response data and saves it to the database.
[0799] 3. Server: In the case of quizzes, the server performs automatic scoring and saves the results to a database. The results are then fed back to the user.
[0800] 4. Server: For assignments, it sends a notification to the instructor and later sends the grading results to the user.
[0801] User Support
[0802] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[0803] 2. Device: Enter your inquiry and click the "Send" button.
[0804] 3. Server: Receives user inquiries and notifies the support team.
[0805] 4. Support Team: Prepare appropriate feedback based on the inquiry and send it to the user.
[0806] Specific example
[0807] For example, suppose "Taro Yamada" registers with the system and is interested in the "Introduction to Python Programming" course. When Mr. Yamada enters his name, email address, and password in the registration form and clicks the "Register" button, the server receives the information and saves it to the database. After that, Mr. Yamada performs email verification and logs in by entering his email address and password in the login form. The server verifies the authentication information, and if authentication is successful, it displays the dashboard to Mr. Yamada.
[0808] When Mr. Yamada selects the "Introduction to Python Programming" course from the "Course List" on the dashboard and clicks the "Register" button, the server saves his user ID and course ID to the database and accepts his registration. Once course registration is complete, Mr. Yamada can access the course page and view the video and text learning materials. After completing quizzes and assignments and clicking the "Submit" button, the server receives his answers, automatically grades them, and provides feedback on the results.
[0809] If a problem arises, Mr. Yamada can submit an inquiry through the support page, and the support team can respond quickly. In this way, a system is created that allows users to learn efficiently.
[0810] The following describes the processing flow.
[0811] User registration and authentication
[0812] New User Registration
[0813] Step 1:
[0814] Terminal: The user accesses the system and clicks the "New Registration" button.
[0815] Step 2:
[0816] Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[0817] Step 3:
[0818] Server: Receives form data. At this point, validates the format of the input information (for example, whether the email address is in the correct format).
[0819] Step 4:
[0820] Server: If the input information is correct, save the new user information to the database.
[0821] Step 5:
[0822] Server: Sends a registration confirmation email to the user's email address.
[0823] User Authentication
[0824] Step 1:
[0825] Terminal: The user clicks the authentication link and accesses the login form using their email address and password.
[0826] Step 2:
[0827] Terminal: Enter your email address and password, then click the "Login" button.
[0828] Step 3:
[0829] Server: Receives the entered email address and password.
[0830] Step 4:
[0831] Server: Performs authentication by comparing the information with that in the database. If authentication is successful, it generates session information.
[0832] Step 5:
[0833] Server: Redirects the user to the dashboard based on session information.
[0834] Search and register for courses
[0835] Course Search
[0836] Step 1:
[0837] Device: The user clicks the "Course List" button on the dashboard.
[0838] Step 2:
[0839] Server: Retrieves a list of available courses from the database.
[0840] Step 3:
[0841] Server: Sends the retrieved course list to the user's terminal.
[0842] Step 4:
[0843] Terminal: Displays the course list to the user.
[0844] Course registration
[0845] Step 1:
[0846] Device: The user selects a course they are interested in and clicks the "Register" button.
[0847] Step 2:
[0848] Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[0849] Step 3:
[0850] Server: Sends a registration confirmation message to the user's device.
[0851] Course enrollment
[0852] Course Access
[0853] Step 1:
[0854] Device: Accesses the course page the user has registered for.
[0855] Step 2:
[0856] Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database.
[0857] Step 3:
[0858] Server: Sends educational material data to the user's terminal.
[0859] Step 4:
[0860] Device: The device on which the user views or browses course materials.
[0861] Submission of quizzes and assignments
[0862] Step 1:
[0863] Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[0864] Step 2:
[0865] Server: Receives user response data.
[0866] Step 3:
[0867] Server: Stores the response data in the database.
[0868] Step 4:
[0869] Server: In the case of a quiz, it performs automatic scoring and saves the results to a database. The automatically scored results are then fed back to the user.
[0870] Step 5:
[0871] Server: For assignments, a notification is sent to the instructor, and the assignment along with the answers is sent to the instructor. Later, the instructor sends the grading results to the server and provides feedback to the user.
[0872] User Support
[0873] Step 1:
[0874] Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[0875] Step 2:
[0876] Terminal: Enter your inquiry and click the "Send" button.
[0877] Step 3:
[0878] Server: Receives user inquiries and notifies the support team.
[0879] Step 4:
[0880] Support team: Prepare appropriate feedback based on the inquiry.
[0881] Step 5:
[0882] Server: Sends feedback from the support team to the user.
[0883] The above is the processing flow of the online course management system. This provides an environment in which users can learn efficiently.
[0884] (Example 1)
[0885] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0886] Conventional online course management systems have suffered from insufficient efficiency and user experience improvements in processes such as user registration, authentication, course search and registration, course participation, quiz and assignment grading, and user support. In particular, inconveniences often occurred in sending confirmation emails after user registration, automatic quiz grading, and prompt responses to user inquiries. This invention aims to solve these problems and improve overall operational efficiency and user satisfaction.
[0887] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0888] In this invention, the server includes means for receiving information entered by the user in a registration form and storing it in a database; means for sending a registration completion confirmation email to the user; means for receiving authentication information from the user and performing authentication by matching it with the information in the database; means for displaying a dashboard to users who have successfully authenticated; means for retrieving a list of available courses from the database and displaying it to the user; means for accepting registration for a course based on the course selected by the user and storing it in the database; means for retrieving course materials for the course registered by the user from the database and sending them to the terminal; means for receiving answers to quizzes and assignments from the user and storing them in the database; means for automatically scoring quizzes, saving the results and providing feedback to the user; means for receiving scoring results for assignments from instructors and providing feedback to the user; means for receiving user inquiries and notifying the support team; and means for sending feedback from the support team to the user. As a result, each of these processes is performed efficiently and quickly, which enables improved user satisfaction and reduced operating costs.
[0889] A "registration form" is an online input screen where users enter information such as their name, email address, and password.
[0890] A "database" is a management system for efficiently storing, searching, updating, and deleting large amounts of information.
[0891] A "confirmation email" is an email sent to inform a user that their registration has been successfully completed.
[0892] "Authentication information" refers to the combination of email address and password that a user uses to log in to the system.
[0893] A "dashboard" is an administrative screen provided to users who have successfully authenticated, and it serves as an interface for users to manage and access online courses.
[0894] A "course list" is a collection of information that displays a list of available courses.
[0895] "Educational materials" refer to educational content such as videos, texts, and slides that users use to take courses.
[0896] A "quiz" is a set of questions and answer format used to evaluate a user's learning progress.
[0897] A "task" is a problem to which users submit answers in order to deepen their own understanding.
[0898] "Automatic scoring" is a process in which a system automatically evaluates a user's quiz answers and calculates a score.
[0899] "Feedback" refers to the evaluation results and comments on the answers submitted by users.
[0900] "Inquiry" refers to a means for users to communicate problems or questions that arise while using the system to the support team.
[0901] A "support team" is a group of dedicated personnel responsible for responding to and resolving user inquiries.
[0902] "Session information" refers to data used to manage the access rights and operation history of a user who has successfully authenticated.
[0903] This invention relates to a system for operating online courses for acquiring professional skills, learning hobbies and languages, and more. This system can efficiently handle a wide range of processes, including user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support. Specific embodiments for implementing this invention are described below.
[0904] User registration and authentication
[0905] New User Registration
[0906] 1. Device: The user accesses the system using a device (such as a PC or smartphone) and clicks the "New Registration" button.
[0907] Here, you enter the system's URL using a web browser.
[0908] 2. Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[0909] As a specific example, enter "Yamada Taro" in the name field, "taro@example.com" in the email address field, and "password123" in the password field.
[0910] 3. Server: The server receives the form data and verifies the format of the entered information. If the format is correct, it saves the new user information to the database (e.g., MySQL, PostgreSQL).
[0911] 4. Server: Send a registration confirmation email to the user's email address. It will be sent via the mail server to "taro@example.com".
[0912] User Authentication
[0913] 1. Device: The user clicks the authentication link in the confirmation email they received to access the login form.
[0914] As a concrete example, open your mailbox and click on the link in the email.
[0915] 2. Device: Enter your email address and password, then click the "Login" button.
[0916] After being redirected to the login page, enter your email address "taro@example.com" and password "password123".
[0917] 3. Server: The server receives the entered email address and password and verifies them against the information in the database (e.g., MySQL, PostgreSQL). If authentication is successful, it generates session information and redirects the user to the dashboard.
[0918] Search and register for courses
[0919] Course Search
[0920] 1. Device: The user clicks the "Course List" button on the dashboard.
[0921] On the main dashboard screen, find and click the "Course List" button.
[0922] 2. Server: The server retrieves a list of available courses from the database and sends it to the terminal.
[0923] As an example, execute a database query to retrieve the course list in JSON format.
[0924] 3. Terminal: The terminal displays the acquired course list on the screen in HTML format.
[0925] Course registration
[0926] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[0927] For example, select the "Introduction to Python Programming" course.
[0928] 2. Server: The server stores the user ID and course ID in the database and registers the user to the course.
[0929] For example, save user ID "123" and course ID "456" to the registration table in the database.
[0930] 3. Server: Sends a registration confirmation message to the device.
[0931] Course enrollment
[0932] Course Access
[0933] 1. Device: Access the course page that the user has registered for.
[0934] Click "My Courses" from the side menu and select your registered course.
[0935] 2. Server: The server retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[0936] 3. Device: The device on which the user views or browses course materials.
[0937] Submission of quizzes and assignments
[0938] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[0939] Enter your answers on the quiz page or assignment submission form.
[0940] 2. Server: The server receives the user's response data and stores it in the database.
[0941] For example, save the response data along with the corresponding task ID.
[0942] 3. Server: In the case of quizzes, it performs automatic scoring, saves the results to a database, and provides feedback to the terminal.
[0943] 4. Server: For assignments, it sends a notification to the instructor and the grading results to the user.
[0944] User Support
[0945] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[0946] Find and click the "Support" button in the dashboard menu.
[0947] 2. Terminal: The user enters their inquiry and clicks the "Send" button.
[0948] For example, you could enter "I can't log in" and submit it.
[0949] 3. Server: The server receives the user's inquiry and notifies the support team.
[0950] The received information is saved to the database, and the support team is notified.
[0951] 4. Support Team: Prepare solutions based on the problem and send feedback to the user.
[0952] Specific example
[0953] For example, a user might be interested in the "Introduction to Python Programming" course and register by entering their name, email address, and password in the registration form. After email verification, they log in, view the course list from the dashboard, and register for their desired course. The user then watches video and text materials and completes quizzes and assignments. If a problem arises, the user can contact support through the support page and receive prompt assistance. In this way, an environment is in place that allows users to learn efficiently.
[0954] Examples of prompts to input into a generative AI model
[0955] "Please describe the entire process of an online course management system—including user registration, authentication, course search and registration, course participation, quiz and assignment grading, and user support—in natural language."
[0956] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0957] User registration and authentication
[0958] New User Registration
[0959] Step 1:
[0960] Input: The user accesses the system and clicks the "New Registration" button.
[0961] Specific steps: Open a browser and enter the system's URL.
[0962] Output: The registration form is displayed.
[0963] Step 2:
[0964] Input: The user enters their name, email address, and password into the registration form and clicks the "Register" button.
[0965] Specific actions: Enter "Yamada Taro" in the name field, "taro@example.com" in the email address field, and "password123" in the password field.
[0966] Output: Form data is sent to the server.
[0967] Step 3:
[0968] Input: The server processes the form data it receives.
[0969] Specific operation: The system validates the format of the input information (name, email address, password) and saves it to the database if the format is correct.
[0970] Output: New user information is added to the database.
[0971] Step 4:
[0972] Input: The server sends a confirmation email to the user's email address upon successful registration.
[0973] Specific action: A confirmation email is sent to "taro@example.com" via the mail server.
[0974] Output: A confirmation email will be sent to the user's mailbox.
[0975] User Authentication
[0976] Step 1:
[0977] Input: The user clicks the verification link in the confirmation email.
[0978] Specific action: Open the email and click the verification link.
[0979] Output: The login form is displayed.
[0980] Step 2:
[0981] Input: The user enters their email address and password and clicks the "Login" button.
[0982] Specific action: Enter the email address "taro@example.com" and the password "password123".
[0983] Output: Authentication information is sent to the server.
[0984] Step 3:
[0985] Input: The server verifies the submitted authentication information (email address and password) against the information in the database.
[0986] Specific action: Check if it matches the registered information in the database.
[0987] Output: Upon successful authentication, a session ID is generated and the user is redirected to the dashboard.
[0988] Search and register for courses
[0989] Course Search
[0990] Step 1:
[0991] Input: The user clicks the "Course List" button on the dashboard.
[0992] Specific action: On the main screen of the dashboard, find and click the "Course List" button.
[0993] Output: The course list page is displayed.
[0994] Step 2:
[0995] Input: The server retrieves a list of available courses from the database.
[0996] Specific operation: Execute a database query to retrieve the course list and send it to the terminal in JSON format.
[0997] Output: Course list data is sent to the terminal.
[0998] Step 3:
[0999] Input: Displays the course list received by the device on the screen.
[1000] Specific operation: Renders a course list in JSON format into HTML.
[1001] Output: Available courses are displayed on the user's screen.
[1002] Course registration
[1003] Step 1:
[1004] Input: The user selects a course they are interested in and clicks the "Register" button.
[1005] Specific steps: Select the "Introduction to Python Programming" course and click the "Register" button.
[1006] Output: Course registration information is sent to the server.
[1007] Step 2:
[1008] Input: The server saves the user ID and course ID to the database.
[1009] Specific action: Insert user ID "123" and course ID "456" into the database's registration table.
[1010] Output: Course registration is complete and a confirmation message is generated.
[1011] Step 3:
[1012] Input: The server sends a confirmation message to the device upon successful registration.
[1013] Specific action: Generate a registration completion message in HTML format and send it to the device.
[1014] Output: A confirmation message is displayed on the user's screen.
[1015] Course enrollment
[1016] Course Access
[1017] Step 1:
[1018] Input: Access the course page that the user has registered for.
[1019] Specific steps: Click "My Courses" from the side menu and select the registered "Introduction to Python Programming" course.
[1020] Output: The course page is displayed.
[1021] Step 2:
[1022] Input: The server retrieves course materials from the database.
[1023] Specific operation: Search the database for the learning material based on the selected material ID and send it to the device.
[1024] Output: The teaching material data is sent to the device.
[1025] Step 3:
[1026] Input: The terminal displays the received learning materials to the user.
[1027] Specific operation: Use the received data to play video materials or display text materials.
[1028] Output: The user becomes able to view or browse the learning materials.
[1029] Submission of quizzes and assignments
[1030] Step 1:
[1031] Input: Users answer quizzes and assignments within the course and click the "Submit" button.
[1032] Specific actions: Enter your answers on the quiz page or assignment submission form and click the "Submit" button.
[1033] Output: The response data is sent to the server.
[1034] Step 2:
[1035] Input: The server receives the user's response data.
[1036] Specific operation: Save the answer data to the database along with the corresponding quiz ID and task ID.
[1037] Output: The response data is saved to the database.
[1038] Step 3:
[1039] Input: The server will automatically score the quiz.
[1040] Specific operation: Based on the saved answer data, an automated scoring program is executed, the number of correct answers is calculated, and the results are saved to the database.
[1041] Output: Scoring results are generated and provided as feedback to the user.
[1042] Step 4:
[1043] Input: The server notifies the instructor of the assignment's grading results.
[1044] Specific actions: Send an email notification to the instructor that you have submitted the assignment, and then wait for the grading results.
[1045] Output: The scoring results are notified to the instructor.
[1046] Step 5:
[1047] Input: The instructor enters the grading results into the server.
[1048] Specific actions: The instructor grades the work and enters the results into the system.
[1049] Output: The scoring results are saved to the system.
[1050] Step 6:
[1051] Input: The server provides feedback to the user regarding the scoring results.
[1052] Specific operation: Generate the scoring results in HTML format and send them to the user's device.
[1053] Output: The user can check the scoring results.
[1054] User Support
[1055] Step 1:
[1056] Input: The user clicks the "Support" button on the dashboard and accesses the contact form.
[1057] Specific steps: Find and click the "Support" button in the dashboard menu.
[1058] Output: The contact form is displayed.
[1059] Step 2:
[1060] Input: The user enters their inquiry and clicks the "Submit" button.
[1061] Specific action: Enter a message such as "I can't log in" into the inquiry form and click the "Send" button.
[1062] Output: The query content is sent to the server.
[1063] Step 3:
[1064] Input: The server receives the user's inquiry.
[1065] Specific action: Save the inquiry details to the database and notify the support team.
[1066] Output: A notification is sent to the support team.
[1067] Step 4:
[1068] Input: The support team will review the inquiry and prepare appropriate feedback.
[1069] Specific action: The support team will compile solutions to address the inquiries.
[1070] Output: Feedback content is prepared.
[1071] Step 5:
[1072] Input: The support team sends feedback to the user.
[1073] Specific action: Send the user feedback via email.
[1074] Output: The user receives feedback.
[1075] (Application Example 1)
[1076] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[1077] This invention aims to improve the efficiency of employee training in physical stores and enable employees to perform their duties smoothly. Conventional training methods mainly involve learning using paper materials or fixed terminals, which lack immediacy in the actual work environment. There is a need to build a system that allows employees to immediately check the learned content while working on-site.
[1078] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1079] In this invention, the server includes means for receiving information entered by a user in a registration form and storing it in a database; means for receiving authentication information from a user and performing authentication by matching it with information in the database; means for displaying a dashboard to users who have successfully authenticated; means for obtaining a list of available courses from the database and displaying it to the user; means for accepting registration to a course based on the course selected by the user and storing it in the database; means for obtaining course materials for the course registered by the user from the database and sending them to the terminal; means for receiving answers to quizzes and assignments from the user and storing them in the database; means for automatically scoring quizzes, saving the results and providing feedback to the user; means for receiving scoring results for assignments from the instructor and providing feedback to the user; means for receiving user inquiries and notifying the support team; means for sending feedback from the support team to the user; means for employees of physical stores to learn training and work procedures using a dedicated wearable device; means for displaying the progress of training and work procedures through the wearable device; and means for receiving voice input from the user through the wearable device and storing its contents in a database. This allows employees to efficiently learn training and work procedures while on the job and immediately put that knowledge into practice.
[1080] "User information" refers to personally identifiable information such as the user's name, email address, and password entered in the registration form.
[1081] "Authentication information" refers to verification information such as the email address and password that a user uses when logging in.
[1082] A "dashboard" is the main screen that users can access after logging in, and it is an interface that provides access to various information and functions.
[1083] The "course list" is a list of available training courses retrieved from the database and provided to the user.
[1084] "Registration method" refers to the process of saving the user's registration for the selected training course to a database.
[1085] "Educational materials" refers to the collective term for educational resources such as videos, texts, and quizzes that users utilize during training.
[1086] A "wearable device" is a device that a user can wear, and in this context, it specifically refers to smart glasses and head-mounted displays.
[1087] "Quizzes and assignments" refer to tests or evaluation items that users complete after learning.
[1088] "Automatic scoring" refers to the process of automatically evaluating quiz answers submitted by users using an algorithm and providing feedback on the results.
[1089] A "support team" is a group of staff members who respond to user inquiries and provide appropriate feedback.
[1090] "Voice input" is a method of inputting information by voice through a wearable device.
[1091] "Progress display" is a function that uses a wearable device to visually display the progress of a user's training or work procedures.
[1092] This invention provides a system that enables employees in physical stores to receive training efficiently. An example of an embodiment of this system is described below. The system mainly consists of a server, user terminals (wearable devices), and a database.
[1093] Hardware:
[1094] Wearable devices (e.g., smart glasses, head-mounted displays)
[1095] Servers (e.g., AWS, Google Cloud)
[1096] Databases (e.g., MySQL, PostgreSQL)
[1097] software:
[1098] Frontend: React Native, ARKit
[1099] Backend: Node.js, Express
[1100] Database: MySQL
[1101] The server receives the information entered by the user in the registration form and stores it in the database. It also receives the authentication information (email address and password) that the user provides when logging in and performs authentication by comparing it with the information in the database. If authentication is successful, the server displays the dashboard to the user.
[1102] Furthermore, the server retrieves a list of available courses from the database and displays it to the user via a wearable device. If the user selects a specific training course, the server accepts their registration based on that selection and saves it to the database.
[1103] Users can access course materials (videos, texts) for their registered courses through their wearable devices. They can also use their wearable devices to answer quizzes and assignments and submit them to the server. The server receives these submissions, stores them in a database, automatically grades them as needed, and provides feedback to the user. For assignments, it notifies the instructor and returns the grading results to the user.
[1104] Furthermore, it has a function that displays the progress of training and work procedures in real time via a wearable device, allowing users to check the status. Users can input inquiries using voice input, and this information is also stored on the server and notified to the support team. Feedback from the support team is sent to the user via the server.
[1105] Specific example:
[1106] For example, suppose an employee at a physical store needs to learn a new product display method. The employee wears smart glasses, fills out the required information on the registration form, and registers. After the authentication process, they access the dashboard and select "New Product Display Training" from the list of available courses. They then watch the registered training materials, answer quizzes presented along the way, and submit their answers to the server. The quiz results are automatically scored and immediately provided as feedback, and if there are any issues, an evaluation from the instructor is displayed later via the wearable device. Progress can also be checked at every step, allowing for efficient training completion and application of the skills learned in the workplace.
[1107] Examples of prompts to input into a generative AI model:
[1108] I would like to conduct a requirements analysis for developing a "physical store training support app." Please provide specific workflows for new user registration, authentication, training search and registration, training participation, quiz / assignment submission, and user support. I would especially appreciate a focus on scenarios where each operation is performed using smart glasses.
[1109] In this way, employees can efficiently learn the training content and immediately apply it to their actual work.
[1110] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1111] Step 1: User Registration
[1112] The user enters their name, email address, and password into a registration form via voice input using a wearable device. This information is sent to the server. The server validates the received information, confirms that it is in the correct format, and then stores it in its database. Finally, the server sends a confirmation email to the user's email address.
[1113] Step 2: User Authentication
[1114] The user clicks an authentication link on their wearable device, enters their email address and password using voice input, and accesses the login form. The entered information is sent to the server. The server compares the received authentication information with the information in its database, and if authentication is successful, it generates session information for the user and displays the dashboard screen.
[1115] Step 3: Course Search
[1116] The user clicks the "Course List" button on the dashboard. The server retrieves a list of available training courses from the database and sends it to the wearable device. The wearable device visually displays the received course list to the user.
[1117] Step 4: Course Registration
[1118] The user selects a training course of interest from the displayed course list and clicks the "Register" button. This selection information is sent to the server. The server stores the user ID and course ID in its database and sends a registration completion message to the wearable device.
[1119] Step 5: Course Enrollment
[1120] The user accesses the registered course page via a wearable device. The server retrieves the course materials (videos, texts) from the database and sends them to the wearable device. The user then views or browses the materials through the wearable device.
[1121] Step 6: Submit quiz / assignment
[1122] Users answer quizzes and assignments within the course using voice input and click the "Submit" button. This response data is sent to the server, which stores the received data in a database. In the case of quizzes, the server automatically grades the answers, saves the results to the database, and provides feedback to the user. In the case of assignments, the server notifies the instructor, and the grading results are provided to the user at a later date.
[1123] Step 7: Display progress
[1124] Users check their progress using wearable devices. The server periodically saves progress information to a database and retrieves that data and sends it to the wearable device whenever the user requests it. Users can visually check their progress in real time.
[1125] Step 8: User Support
[1126] The user clicks the "Support" button on the dashboard to access the inquiry form. They enter their inquiry using voice input via their wearable device and click the "Submit" button. The entered inquiry is sent to the server, which saves the information to its database and notifies the support team. Feedback from the support team is then sent to the user's wearable device via the server.
[1127] By combining these processing steps, employees in physical stores can receive training efficiently and apply it to their work.
[1128] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1129] This invention relates to a system for operating online courses for acquiring specialized skills, learning hobbies and languages, etc. It combines a system for efficiently handling user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support with an emotion engine that recognizes user emotions. The specific program processing and its embodiments are described below.
[1130] User registration and authentication
[1131] New User Registration
[1132] 1. Terminal: The user accesses the system and clicks the "New Registration" button.
[1133] 2. Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[1134] 3. Server: Receives form data and validates the format of the input information. If the format is correct, saves the new user information to the database.
[1135] 4. Server: Sends a confirmation email to the user's email address to verify that registration is complete.
[1136] User Authentication
[1137] 1. Device: The user clicks the authentication link and accesses the login form using their email address and password.
[1138] 2. Device: Enter your email address and password, then click the "Login" button.
[1139] 3. Server: Receives the entered email address and password and verifies them against the information in the database. If authentication is successful, generates session information and redirects the user to the dashboard.
[1140] Search and register for courses
[1141] Course Search
[1142] 1. Device: The user clicks the "Course List" button on the dashboard.
[1143] 2. Server: Retrieves a list of available courses from the database and sends it to the user's terminal.
[1144] 3. Terminal: Displays the acquired course list to the user.
[1145] Course registration
[1146] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[1147] 2. Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[1148] 3. Server: Sends a registration completion confirmation message to the user's device.
[1149] Course enrollment
[1150] Course Access
[1151] 1. Device: Access the course page that the user has registered for.
[1152] 2. Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[1153] 3. Device: The device on which the user views or browses course materials.
[1154] Submission of quizzes and assignments
[1155] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[1156] 2. Server: Receives user response data and saves it to the database.
[1157] 3. Server: In the case of quizzes, the server performs automatic scoring and saves the results to a database. The results are then fed back to the user.
[1158] 4. Server: For assignments, it sends a notification to the instructor and later sends the grading results to the user.
[1159] Implementation of an emotion engine
[1160] emotion recognition
[1161] 1. Device: While the user is viewing course materials or answering quizzes / assignments, the device's camera and microphone will be used to capture the user's facial expressions and voice.
[1162] 2. Server: Receives the captured data and inputs it into the emotion engine.
[1163] 3. Emotion Engine: Analyzes the user's emotions from facial expressions and voice data, and stores the results in a database.
[1164] Adjusting the learning process
[1165] 1. Server: Executes algorithms to adjust the learning progress based on user sentiment data.
[1166] 2. Device: Displays customized learning content and feedback to the user.
[1167] User Support
[1168] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[1169] 2. Device: Enter your inquiry and click the "Send" button.
[1170] 3. Server: Receives user inquiries and notifies the support team.
[1171] 4. Support Team: Prepare appropriate feedback based on the inquiry and send it to the user. In some cases, they may provide more appropriate support based on the user's sentiment data.
[1172] Specific example
[1173] For example, suppose Hanako Suzuki registers with the system and is interested in the "Introduction to Data Science" course. When Ms. Suzuki enters her name, email address, and password in the registration form and clicks the "Register" button, the server receives the information and saves it to the database. After that, Ms. Suzuki performs email verification and logs in by entering her email address and password in the login form. The server verifies the authentication information, and if authentication is successful, it displays the dashboard to Ms. Suzuki.
[1174] When Ms. Suzuki selects the "Introduction to Data Science" course from the "Course List" on the dashboard and clicks the "Register" button, the server saves her user ID and course ID to the database and accepts her registration. Once registration is complete, Ms. Suzuki can access the course page and view the video and text materials. During her studies, Ms. Suzuki's facial expressions and voice are captured by her device's camera and microphone, and this data is sent to the server and analyzed by the emotion engine. The emotion engine provides appropriate feedback based on Ms. Suzuki's learning progress and adjusts the learning process as needed.
[1175] If a problem arises, Ms. Suzuki can submit an inquiry through the support page, and the support team can respond quickly and appropriately based on sentiment data. In this way, a system is created that allows users to learn more efficiently and effectively.
[1176] The following describes the processing flow.
[1177] User registration and authentication
[1178] New User Registration
[1179] Step 1:
[1180] Terminal: The user accesses the system and clicks the "New Registration" button.
[1181] Step 2:
[1182] Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[1183] Step 3:
[1184] Server: Receives form data. At this point, validates the format of the input information (for example, whether the email address is in the correct format).
[1185] Step 4:
[1186] Server: If the input information is correct, save the new user information to the database.
[1187] Step 5:
[1188] Server: Sends a registration confirmation email to the user's email address.
[1189] User Authentication
[1190] Step 1:
[1191] Terminal: The user clicks the authentication link and accesses the login form using their email address and password.
[1192] Step 2:
[1193] Terminal: Enter your email address and password, then click the "Login" button.
[1194] Step 3:
[1195] Server: Receives the entered email address and password.
[1196] Step 4:
[1197] Server: Performs authentication by comparing the information with that in the database. If authentication is successful, it generates session information.
[1198] Step 5:
[1199] Server: Redirects the user to the dashboard based on session information.
[1200] Search and register for courses
[1201] Course Search
[1202] Step 1:
[1203] Device: The user clicks the "Course List" button on the dashboard.
[1204] Step 2:
[1205] Server: Retrieves a list of available courses from the database.
[1206] Step 3:
[1207] Server: Sends the retrieved course list to the user's terminal.
[1208] Step 4:
[1209] Terminal: Displays the course list to the user.
[1210] Course registration
[1211] Step 1:
[1212] Device: The user selects a course they are interested in and clicks the "Register" button.
[1213] Step 2:
[1214] Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[1215] Step 3:
[1216] Server: Sends a registration confirmation message to the user's device.
[1217] Course enrollment
[1218] Course Access
[1219] Step 1:
[1220] Device: Accesses the course page the user has registered for.
[1221] Step 2:
[1222] Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database.
[1223] Step 3:
[1224] Server: Sends educational material data to the user's terminal.
[1225] Step 4:
[1226] Device: The device on which the user views or browses course materials.
[1227] Submission of quizzes and assignments
[1228] Step 1:
[1229] Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[1230] Step 2:
[1231] Server: Receives user response data.
[1232] Step 3:
[1233] Server: Stores the response data in the database.
[1234] Step 4:
[1235] Server: In the case of a quiz, it performs automatic scoring and saves the results to a database. The automatically scored results are then fed back to the user.
[1236] Step 5:
[1237] Server: For assignments, a notification is sent to the instructor, and the assignment along with the answers is sent to the instructor. Later, the instructor sends the grading results to the server and provides feedback to the user.
[1238] Implementation of an emotion engine
[1239] emotion recognition
[1240] Step 1:
[1241] Device: While the user is viewing course materials or answering quizzes / assignments, the device's camera and microphone are used to capture the user's facial expressions and voice.
[1242] Step 2:
[1243] Server: Receives captured data and inputs it into the emotion engine.
[1244] Step 3:
[1245] Emotion Engine: Analyzes the user's emotions from facial expressions and voice data, and stores the results in a database.
[1246] Adjusting the learning process
[1247] Step 1:
[1248] Server: Executes algorithms to adjust the learning progress based on user sentiment data.
[1249] Step 2:
[1250] Device: Displays tailored learning content and feedback to the user.
[1251] User Support
[1252] Step 1:
[1253] Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[1254] Step 2:
[1255] Terminal: Enter your inquiry and click the "Send" button.
[1256] Step 3:
[1257] Server: Receives user inquiries and notifies the support team.
[1258] Step 4:
[1259] Support team: Prepare appropriate feedback based on the inquiry.
[1260] Step 5:
[1261] Server: Sends feedback from the support team to the user. May also provide more appropriate support based on user sentiment data.
[1262] The above is the processing flow of an online course management system that incorporates an emotion engine. This provides an environment in which users can learn more efficiently and effectively.
[1263] (Example 2)
[1264] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".
[1265] Modern online learning systems are required to efficiently provide numerous functions, including user registration, authentication, course search and enrollment, course participation, quiz and assignment grading, and user support. Furthermore, to maximize user learning efficiency, technologies that understand user emotions and adjust the learning process accordingly are also necessary. However, existing systems struggle to provide these functions in an integrated manner, resulting in a lack of optimized user experience.
[1266] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[1267] In this invention, the server includes means for receiving information entered by the user in a registration form and storing it in a database; means for receiving authentication information from the user and performing authentication by matching it with the information in the database; means for displaying a dashboard to users who have successfully authenticated; means for obtaining a list of available learning courses from the database and displaying it to the user; means for accepting registration to a course based on the learning course selected by the user and storing it in a database; means for obtaining learning materials for the learning course registered by the user from the database and sending them to the terminal; means for receiving answers to quizzes and assignments from the user and storing them in a database; means for automatically scoring quizzes, saving the results and providing feedback to the user; means for receiving scoring results for assignments from the instructor and providing feedback to the user; means for receiving user inquiries and notifying the support team; means for sending feedback from the support team to the user; means for capturing the user's facial expressions and voice and inputting them into an emotion analysis engine; and means for adjusting the user's learning progress based on the analysis results of the emotion analysis engine. This enables the user to proceed with online learning efficiently and effectively.
[1268] "User" refers to an individual or group that uses the system.
[1269] A "registration form" refers to an electronic format used by users to enter personal information and authentication information.
[1270] A "database" refers to a system for centrally storing and managing various types of data, such as user information, learning course information, quiz and assignment answers, and sentiment data.
[1271] "Authentication information" refers to information such as email addresses and passwords that system users use when logging in.
[1272] The "dashboard" is the main screen accessible to authenticated users, providing information on registered courses, progress, and various navigation functions.
[1273] A "learning course" refers to a collection of online learning materials and activities designed to teach specific skills or knowledge.
[1274] "Learning materials" refers to videos, texts, audio, or other educational materials that users use to learn through a course.
[1275] A "quiz" refers to a question-and-answer test designed to assess the level of understanding of the learned material.
[1276] "Assignments" refer to practical tasks or projects that users are required to submit within a learning course.
[1277] "Automatic scoring" refers to the process by which a system automatically evaluates a user's quiz answers.
[1278] An "instructor" refers to an educator who teaches the content of a learning course and grades assignments.
[1279] "Inquiry" refers to communication from users, such as questions or requests for support.
[1280] A "support team" refers to a team of specialist staff who handle inquiries from users.
[1281] An "emotion analysis engine" refers to software or hardware that analyzes a user's facial expressions and voice to determine their emotional state.
[1282] "Adjusting the learning progress" refers to the process of optimizing learning content and methods based on the user's learning progress and emotional state.
[1283] Modes for carrying out the invention
[1284] This invention is a system for operating online courses for acquiring specialized skills, learning hobbies and languages, etc. This system is designed to efficiently handle processes related to user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support, and further incorporates an emotion engine that recognizes user emotions.
[1285] User registration and authentication
[1286] New User Registration
[1287] 1. Terminal: The user opens a web browser, accesses the system's homepage, and clicks the "New Registration" button. They enter their name, email address, and password in the registration form and click the "Register" button.
[1288] 2. Server: Receives form data and validates the format of the input information. If validation is successful, saves the new user information to the database.
[1289] 3. Server: Sends a confirmation email to the user's email address to verify that registration is complete.
[1290] User Authentication
[1291] 1. Terminal: The user clicks the authentication link and accesses the login form.
[1292] 2. Device: Enter your email address and password, then click the "Login" button.
[1293] 3. Server: Receives the entered email address and password and verifies them against the information in the database. If authentication is successful, generates session information and redirects the user to the dashboard.
[1294] Search and register for courses
[1295] Course Search
[1296] 1. Device: The user accesses the dashboard and clicks the "Course List" button.
[1297] 2. Server: Retrieves a list of available courses from the database and sends it to the user's terminal.
[1298] 3. Terminal: Displays the acquired course list to the user.
[1299] Course registration
[1300] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[1301] 2. Server: Stores the user ID and course ID in the database, and users register for that course.
[1302] 3. Server: Sends a registration completion confirmation message to the user's device.
[1303] Course enrollment
[1304] Course Access
[1305] 1. Device: Access the course page that the user has registered for.
[1306] 2. Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[1307] 3. Device: The device on which the user views or browses course materials.
[1308] Submission of quizzes and assignments
[1309] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[1310] 2. Server: Receives user response data and saves it to the database.
[1311] 3. Server: In the case of quizzes, the server performs automatic scoring and saves the results to a database. The results are then fed back to the user.
[1312] 4. Server: For assignments, it sends a notification to the instructor and later sends the grading results to the user.
[1313] Implementation of an emotion engine
[1314] emotion recognition
[1315] 1. Device: While the user is viewing course materials or answering quizzes / assignments, the device's camera and microphone will be used to capture the user's facial expressions and voice.
[1316] 2. Server: Receives the captured data and inputs it into the sentiment analysis engine.
[1317] 3. Emotion Analysis Engine: Analyzes the user's emotions from facial expressions and voice data, and stores the results in a database.
[1318] Adjusting the learning process
[1319] 1. Server: Executes algorithms to adjust the learning progress based on user sentiment data.
[1320] 2. Device: Displays customized learning content and feedback to the user.
[1321] User Support
[1322] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[1323] 2. Device: Enter your inquiry and click the "Send" button.
[1324] 3. Server: Receives user inquiries and notifies the support team.
[1325] 4. Support Team: Prepare appropriate feedback based on the inquiry and send it to the user. Also, respond based on sentiment data.
[1326] Specific example
[1327] For example, suppose a user registers with the system and expresses interest in the "Introduction to Data Science" course. The user enters their name, email address, and password into the registration form and clicks the "Register" button. The server receives this information and stores it in the database. The user then performs email verification and logs in by entering their email address and password into the login form. The server verifies the authentication information, and if authentication is successful, the dashboard is displayed.
[1328] When a user selects the "Introduction to Data Science" course from the "Course List" on the dashboard and clicks the "Register" button, the server saves the user ID and course ID to the database and accepts the registration. Once course registration is complete, the user can access the course page and view video and text materials. During learning, the user's facial expressions and voice are captured by the device's camera and microphone, and this data is sent to the server and analyzed by an emotion analysis engine. The emotion analysis engine provides appropriate feedback according to the user's learning progress and adjusts the learning process as needed.
[1329] If a problem arises, users can submit an inquiry through the support page, and the support team can respond quickly and appropriately based on sentiment data. In this way, a system is created that allows users to learn more efficiently and effectively.
[1330] Example of a prompt
[1331] Please describe the new user registration procedure in natural language. Include the following information:
[1332] Display of registration screen
[1333] Form Input
[1334] Data transmission and verification
[1335] Sending a confirmation email.
[1336] This system helps users learn professional skills, hobbies, and languages more efficiently, and utilizes an emotion analysis engine to address individual learning needs. It provides real-time feedback and support using a cloud-based database and the latest machine learning technologies.
[1337] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1338] Step 1:
[1339] The terminal processes the user's request when they access the system's homepage and click the "New Registration" button. It loads the homepage's HTML data as input and makes the button element interactive. The output is that the "New Registration" button becomes clickable.
[1340] Step 2:
[1341] The device works as follows: the user enters their name, email address, and password into a registration form and clicks the "Register" button. The device captures the data entered by the user into the form using JavaScript as input. The device then sends the form data to the server as a POST request as output.
[1342] Step 3:
[1343] The server receives the form data and verifies the format of the input information (validity of the email address, strength of the password). The form data is passed to a validation function as input. The server generates user information in a format that can be stored in the database as output.
[1344] Step 4:
[1345] If the verification is successful, the server saves the new user information to the database. The verified user information is passed as input to the SQL insert query. The output is the new user information saved to the database.
[1346] Step 5:
[1347] The server sends a confirmation email to the user's email address upon registration completion. User information is passed to the email sending API as input. The confirmation email is sent to the user as output.
[1348] Step 6:
[1349] The device displays the login form when the user clicks the authentication link in the confirmation email. The input is triggered by clicking the link in the email. The output is the display of the login form.
[1350] Step 7:
[1351] The terminal receives the user's email address and password and clicks the "Login" button. The user's authentication information is captured using JavaScript as input. The authentication information is then sent to the server as a POST request as output.
[1352] Step 8:
[1353] The server receives the entered email address and password and compares them with the information in the database. As input, it compares the authentication information with the user information in the database. As output, if authentication is successful, it generates session information.
[1354] Step 9:
[1355] The server sets session information for successfully authenticated users and redirects them to the dashboard. As input, it generates session information and saves it in a cookie. As output, it sends an HTTP response redirecting to the dashboard.
[1356] Step 10:
[1357] The device works as follows: The user accesses the dashboard and clicks the "Course List" button. The dashboard HTML is loaded as input. The event for clicking the "Course List" button is triggered as output.
[1358] Step 11:
[1359] The server retrieves a list of available courses from the database and sends it to the user's terminal. It takes course information as input via an SQL query and returns the course list in JSON format as output.
[1360] Step 12:
[1361] The terminal displays the acquired course list to the user. It parses the received JSON data as input. As output, it embeds and displays the data in an HTML template.
[1362] Step 13:
[1363] The device allows the user to select a course of interest and click the "Register" button. It captures the selected course ID as input and sends a course registration request to the server as output.
[1364] Step 14:
[1365] The server stores the user ID and course ID in the database, and the user is registered for that course. The user ID and course ID are passed as input to an SQL insert query. The registration information is then stored in the database as output.
[1366] Step 15:
[1367] The server sends a registration completion confirmation message to the user's device. It generates a registration success message as input and returns a confirmation message in JSON format as output.
[1368] Step 16:
[1369] The device accesses the course page the user has registered for. It generates a request containing the user ID as input. The course page is displayed as output.
[1370] Step 17:
[1371] The server retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal. The input is course material data retrieved using an SQL query. The output is course material data sent to the terminal.
[1372] Step 18:
[1373] The terminal allows the user to view or browse course materials. It displays received course data as input and a video player or text viewer as output.
[1374] Step 19:
[1375] The device handles user responses to quizzes and assignments within a course, and clicks the "Submit" button. It captures the response data as input and sends the response data to the server as output.
[1376] Step 20:
[1377] The server receives user response data and saves it to the database. The response data is passed as input to an SQL insert query. The response data is saved to the database as output.
[1378] Step 21:
[1379] In the case of a quiz, the server automatically scores the answers and saves the results to a database. It executes an algorithm that compares the answer data with the correct answer data as input. As output, it saves the scoring results to the database.
[1380] Step 22:
[1381] The server, in the case of an assignment, sends a notification to the instructor and later sends the grading results to the user. The input is the submission data of the assignment, which is then sent to the instructor. The output is the grading results from the instructor, which are then sent to the user.
[1382] Step 23:
[1383] The device captures the user's facial expressions and voice using its camera and microphone while the user is viewing course materials or answering quizzes and assignments. It acquires data streams from the camera and microphone as input and sends the captured data to the server as output.
[1384] Step 24:
[1385] The server receives the captured data and inputs it into the emotion analysis engine. It provides facial expressions and audio data as input to the analysis engine, and outputs the emotion analysis results.
[1386] Step 25:
[1387] The emotion analysis engine analyzes the user's emotions from facial expressions and voice data and stores the results in a database. It receives a data stream to be analyzed as input and stores the emotion data in the database as output.
[1388] Step 26:
[1389] The server executes an algorithm to adjust the learning progress based on the user's emotional data. Emotional data and learning progress data are passed to the algorithm as input. The adjustments are generated as output.
[1390] Step 27:
[1391] The device displays tailored learning content and feedback to the user. It receives tailored content as input and displays appropriate feedback as output.
[1392] Step 28:
[1393] The device loads the form page as input when the user clicks the "Support" button on the dashboard and accesses the contact form. The contact form is displayed as output.
[1394] Step 29:
[1395] The terminal takes the user's inquiry and clicks the "Send" button. It captures the inquiry information as input and sends the inquiry data to the server as output.
[1396] Step 30:
[1397] The server receives user inquiries and notifies the support team. The received inquiry data is passed to the notification system as input. The notification is sent to the support team as output.
[1398] Step 31:
[1399] The support team prepares appropriate feedback based on the inquiry and sends it to the user. The input is analysis of the inquiry. The output is sending feedback to the user. In this process, the response can also be adjusted based on sentiment data.
[1400] (Application Example 2)
[1401] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[1402] In modern online learning and virtual shopping, accurately understanding user emotions, recommending appropriate content and products based on those emotions, and providing appropriate support is challenging. Traditional systems lack dynamic feedback and adjustments based on user emotions, resulting in insufficient improvements in the quality of user interaction, learning effectiveness, and shopping experience.
[1403] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving information entered by the user in a registration form and storing it in a database, means for receiving authentication information from the user and performing authentication by matching it with the information in the database, means for displaying a dashboard to users who have successfully been authenticated, means for obtaining a list of available courses from the database and displaying it to the user, means for accepting registration to a course based on the course selected by the user and storing it in a database, means for obtaining course materials for the course registered by the user from the database and sending them to the terminal, means for receiving answers to quizzes and assignments from the user and storing them in a database, means for automatically scoring quizzes, saving the results and providing feedback to the user, means for receiving scoring results for assignments from the instructor and providing feedback to the user, means for receiving user inquiries and notifying the support team, means for sending feedback from the support team to the user, means for capturing the user's facial expressions and voice using the terminal's camera and microphone to recognize the user's emotions and analyzing the data with an emotion engine, and means for adjusting product recommendations and the learning process based on the analyzed emotion data. This makes it possible to understand the user's emotional state in real time and dynamically provide content and support.
[1404] Definitions of important words
[1405] "User registration" is the process by which a user enters personal information into the system and creates a new account.
[1406] "Authentication" is the process of verifying whether a user is registered using authentication information provided by the user (for example, an email address and password).
[1407] A "dashboard" is an interface displayed to users who have successfully authenticated, containing a collection of key system functions and information.
[1408] A "course" refers to educational content for acquiring specialized skills, learning hobbies or languages, etc.
[1409] A "quiz" is a type of question format provided by a system to evaluate a user's level of understanding.
[1410] A "task" is a practical evaluation method provided by the system to deepen the user's understanding of the learning material.
[1411] An "emotion engine" is software that analyzes data such as a user's facial expressions and voice to recognize their emotional state.
[1412] "Facial capture" is the process of using a camera to photograph a user's face and acquiring that image data.
[1413] "Voice capture" is the process of recording a user's voice using a microphone and acquiring that audio data.
[1414] "Analysis" is the process of extracting useful information by applying a specific algorithm to acquired data.
[1415] "Product recommendation" is a process that presents information about products that users are likely to be interested in, based on their emotions and past behavior history.
[1416] "Learning process adjustment" is a process that dynamically changes the learning content and the way feedback is provided according to the user's emotional state and progress.
[1417] "Feedback" refers to the reactions and guidance provided by the system to the user regarding learning progress, quiz results, and other similar matters.
[1418] Modes for carrying out the invention
[1419] The system that implements the application of this invention is composed of various hardware and software. This section describes the specific method of carrying out the invention and explains the operation of the system in natural language.
[1420] Hardware and software to use
[1421] 1. Hardware:
[1422] Computer (with camera and microphone)
[1423] server
[1424] 2. Software:
[1425] Python
[1426] OpenCV (image processing library)
[1427] EmotionRecognition (emotion recognition library)
[1428] Database management system (e.g., MySQL)
[1429] System configuration and operation
[1430] User registration and authentication
[1431] Terminal: Users access the system via a web browser and enter personal information into a registration form. The entered data is sent to the server and stored in a database.
[1432] Server: After registration is complete, an authentication email will be sent to the user's email address. When the user clicks the authentication link, their authentication information will be verified, and if successful, the dashboard will be displayed.
[1433] Emotion recognition and analysis
[1434] Device: When a user views course materials or browses products in a virtual store, the camera and microphone capture the user's facial expressions and voice.
[1435] Server: The captured data is sent to the server and analyzed by the emotion engine. The emotion engine performs facial recognition and voice analysis to identify the user's emotional state.
[1436] Product recommendation and learning process adjustment
[1437] Server: Based on the analysis results of the emotion engine, it recommends products and learning content according to the user's emotional state. For example, if the user shows interest, it displays a list of related products; conversely, if the user is confused, it displays help content.
[1438] Device: Recommended products and learning content are displayed on the user's device. The user can then choose their next action based on this information.
[1439] User Support
[1440] Terminal: The user clicks the inquiry button, enters their inquiry details, and submits them.
[1441] Server: The inquiry is sent to the support team, and sentiment data is also sent along with it if necessary. After specific actions are taken, feedback is sent to the user.
[1442] Specific example
[1443] For example, consider a user browsing a virtual store. While the user views product details via camera, their facial expressions are captured, and the emotion engine recognizes this as "interest." In this case, the system recommends related products and special offers to the user. Conversely, if the user displays a confused expression, the system displays help content and information on how to access customer support.
[1444] Example of a prompt
[1445] Examples of prompts to input into a generative AI model include the following:
[1446] "Create a script that analyzes the user's facial expressions when they log into a virtual store and recommends products based on their emotions."
[1447] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1448] Processing flow of the system program in the application example.
[1449] Processing steps
[1450] Step 1:
[1451] Input: The user accesses the system via a web browser and enters their name, email address, and password into the registration form.
[1452] Action: The terminal sends this input data to the server.
[1453] Output: The server saves the entered data to the database and sends a confirmation email to the user upon completion of registration.
[1454] Step 2:
[1455] Input: The user clicks the authentication link in the confirmation email they received, enters their email address and password, and accesses the login form.
[1456] Action: The terminal sends the entered authentication information to the server.
[1457] Output: The server compares the information with the database, and if authentication is successful, it displays the dashboard.
[1458] Step 3:
[1459] Input: The user clicks the course list button on the dashboard to search for available courses.
[1460] Operation: The server retrieves a list of available courses from the database and sends it to the user's terminal.
[1461] Output: The terminal displays the retrieved course list to the user.
[1462] Step 4:
[1463] Input: The user selects a course they are interested in and clicks the register button.
[1464] Operation: The terminal sends the user ID and the selected course ID to the server.
[1465] Output: The server saves this information to the database and notifies the user that registration for the course is complete.
[1466] Step 5:
[1467] Input: The user accesses the course materials page.
[1468] Operation: The server retrieves the relevant educational material data from the database and sends the material in video or text format to the user's device.
[1469] Output: The device displays the learning materials, which the user can view or browse.
[1470] Step 6:
[1471] Input: While the user is watching the course materials, the device's camera and microphone capture the user's facial expressions and voice.
[1472] Operation: The device sends the captured data to the server.
[1473] Output: The server uses an emotion engine (EmotionRecognition library) to analyze the captured data, identify the user's emotional state, and save the results to a database.
[1474] Step 7:
[1475] Input: User emotion data obtained as a result of the emotion engine analysis.
[1476] Operation: The server recommends products and learning content suitable for the user based on sentiment data.
[1477] Output: The device displays recommended products and learning content to the user. Specifically, if the user shows interest, related products and special offers will be displayed, and if they are confused, help content will be displayed.
[1478] Step 8:
[1479] Input: Submit a user inquiry that requires attention.
[1480] Operation: The terminal sends the query details to the server.
[1481] Output: The server notifies the support team of the inquiry details and then sends feedback from the support team to the user.
[1482] The system in this application example is realized through the steps described above. By clearly defining the specific actions and data flow performed at each step, the overall system operation is easy to understand. As a result, users can receive product recommendations and adjustments to the learning process based on real-time sentiment data.
[1483] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1484] The data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One 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">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1485] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[1486] [Third Embodiment]
[1487] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[1488] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[1489] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1490] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[1491] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[1492] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[1493] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[1494] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[1495] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1496] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1497] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[1498] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[1499] This invention relates to a system for operating online courses for acquiring specialized skills, learning hobbies and languages, etc., and is a system for efficiently performing processes related to user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support. The following describes the specific program processing and its embodiments.
[1500] User registration and authentication
[1501] New User Registration
[1502] 1. Terminal: The user accesses the system and clicks the "New Registration" button.
[1503] 2. Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[1504] 3. Server: Receives form data and validates the format of the input information. If the format is correct, saves the new user information to the database.
[1505] 4. Server: Sends a confirmation email to the user's email address to verify that registration is complete.
[1506] User Authentication
[1507] 1. Device: The user clicks the authentication link and accesses the login form using their email address and password.
[1508] 2. Device: Enter your email address and password, then click the "Login" button.
[1509] 3. Server: Receives the entered email address and password and verifies them against the information in the database. If authentication is successful, generates session information and redirects the user to the dashboard.
[1510] Search and register for courses
[1511] Course Search
[1512] 1. Device: The user clicks the "Course List" button on the dashboard.
[1513] 2. Server: Retrieves a list of available courses from the database and sends it to the user's terminal.
[1514] 3. Terminal: Displays the acquired course list to the user.
[1515] Course registration
[1516] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[1517] 2. Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[1518] 3. Server: Sends a registration completion confirmation message to the user's device.
[1519] Course enrollment
[1520] Course Access
[1521] 1. Device: Access the course page that the user has registered for.
[1522] 2. Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[1523] 3. Device: The device on which the user views or browses course materials.
[1524] Submission of quizzes and assignments
[1525] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[1526] 2. Server: Receives user response data and saves it to the database.
[1527] 3. Server: In the case of quizzes, the server performs automatic scoring and saves the results to a database. The results are then fed back to the user.
[1528] 4. Server: For assignments, it sends a notification to the instructor and later sends the grading results to the user.
[1529] User Support
[1530] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[1531] 2. Device: Enter your inquiry and click the "Send" button.
[1532] 3. Server: Receives user inquiries and notifies the support team.
[1533] 4. Support Team: Prepare appropriate feedback based on the inquiry and send it to the user.
[1534] Specific example
[1535] For example, suppose "Taro Yamada" registers with the system and is interested in the "Introduction to Python Programming" course. When Mr. Yamada enters his name, email address, and password in the registration form and clicks the "Register" button, the server receives the information and saves it to the database. After that, Mr. Yamada performs email verification and logs in by entering his email address and password in the login form. The server verifies the authentication information, and if authentication is successful, it displays the dashboard to Mr. Yamada.
[1536] When Mr. Yamada selects the "Introduction to Python Programming" course from the "Course List" on the dashboard and clicks the "Register" button, the server saves his user ID and course ID to the database and accepts his registration. Once course registration is complete, Mr. Yamada can access the course page and view the video and text learning materials. After completing quizzes and assignments and clicking the "Submit" button, the server receives his answers, automatically grades them, and provides feedback on the results.
[1537] If a problem arises, Mr. Yamada can submit an inquiry through the support page, and the support team can respond quickly. In this way, a system is created that allows users to learn efficiently.
[1538] The following describes the processing flow.
[1539] User registration and authentication
[1540] New User Registration
[1541] Step 1:
[1542] Terminal: The user accesses the system and clicks the "New Registration" button.
[1543] Step 2:
[1544] Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[1545] Step 3:
[1546] Server: Receives form data. At this point, validates the format of the input information (for example, whether the email address is in the correct format).
[1547] Step 4:
[1548] Server: If the input information is correct, save the new user information to the database.
[1549] Step 5:
[1550] Server: Sends a registration confirmation email to the user's email address.
[1551] User Authentication
[1552] Step 1:
[1553] Terminal: The user clicks the authentication link and accesses the login form using their email address and password.
[1554] Step 2:
[1555] Terminal: Enter your email address and password, then click the "Login" button.
[1556] Step 3:
[1557] Server: Receives the entered email address and password.
[1558] Step 4:
[1559] Server: Performs authentication by comparing the information with that in the database. If authentication is successful, it generates session information.
[1560] Step 5:
[1561] Server: Redirects the user to the dashboard based on session information.
[1562] Search and register for courses
[1563] Course Search
[1564] Step 1:
[1565] Device: The user clicks the "Course List" button on the dashboard.
[1566] Step 2:
[1567] Server: Retrieves a list of available courses from the database.
[1568] Step 3:
[1569] Server: Sends the retrieved course list to the user's terminal.
[1570] Step 4:
[1571] Terminal: Displays the course list to the user.
[1572] Course registration
[1573] Step 1:
[1574] Device: The user selects a course they are interested in and clicks the "Register" button.
[1575] Step 2:
[1576] Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[1577] Step 3:
[1578] Server: Sends a registration confirmation message to the user's device.
[1579] Course enrollment
[1580] Course Access
[1581] Step 1:
[1582] Device: Accesses the course page the user has registered for.
[1583] Step 2:
[1584] Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database.
[1585] Step 3:
[1586] Server: Sends educational material data to the user's terminal.
[1587] Step 4:
[1588] Device: The device on which the user views or browses course materials.
[1589] Submission of quizzes and assignments
[1590] Step 1:
[1591] Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[1592] Step 2:
[1593] Server: Receives user response data.
[1594] Step 3:
[1595] Server: Stores the response data in the database.
[1596] Step 4:
[1597] Server: In the case of a quiz, it performs automatic scoring and saves the results to a database. The automatically scored results are then fed back to the user.
[1598] Step 5:
[1599] Server: For assignments, a notification is sent to the instructor, and the assignment along with the answers is sent to the instructor. Later, the instructor sends the grading results to the server and provides feedback to the user.
[1600] User Support
[1601] Step 1:
[1602] Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[1603] Step 2:
[1604] Terminal: Enter your inquiry and click the "Send" button.
[1605] Step 3:
[1606] Server: Receives user inquiries and notifies the support team.
[1607] Step 4:
[1608] Support team: Prepare appropriate feedback based on the inquiry.
[1609] Step 5:
[1610] Server: Sends feedback from the support team to the user.
[1611] The above is the processing flow of the online course management system. This provides an environment in which users can learn efficiently.
[1612] (Example 1)
[1613] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[1614] Conventional online course management systems have suffered from insufficient efficiency and user experience improvements in processes such as user registration, authentication, course search and registration, course participation, quiz and assignment grading, and user support. In particular, inconveniences often occurred in sending confirmation emails after user registration, automatic quiz grading, and prompt responses to user inquiries. This invention aims to solve these problems and improve overall operational efficiency and user satisfaction.
[1615] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[1616] In this invention, the server includes means for receiving information entered by the user in a registration form and storing it in a database; means for sending a registration completion confirmation email to the user; means for receiving authentication information from the user and performing authentication by matching it with the information in the database; means for displaying a dashboard to users who have successfully authenticated; means for retrieving a list of available courses from the database and displaying it to the user; means for accepting registration for a course based on the course selected by the user and storing it in the database; means for retrieving course materials for the course registered by the user from the database and sending them to the terminal; means for receiving answers to quizzes and assignments from the user and storing them in the database; means for automatically scoring quizzes, saving the results and providing feedback to the user; means for receiving scoring results for assignments from instructors and providing feedback to the user; means for receiving user inquiries and notifying the support team; and means for sending feedback from the support team to the user. As a result, each of these processes is performed efficiently and quickly, which enables improved user satisfaction and reduced operating costs.
[1617] A "registration form" is an online input screen where users enter information such as their name, email address, and password.
[1618] A "database" is a management system for efficiently storing, searching, updating, and deleting large amounts of information.
[1619] A "confirmation email" is an email sent to inform a user that their registration has been successfully completed.
[1620] "Authentication information" refers to the combination of email address and password that a user uses to log in to the system.
[1621] A "dashboard" is an administrative screen provided to users who have successfully authenticated, and it serves as an interface for users to manage and access online courses.
[1622] A "course list" is a collection of information that displays a list of available courses.
[1623] "Educational materials" refer to educational content such as videos, texts, and slides that users use to take courses.
[1624] A "quiz" is a set of questions and answer format used to evaluate a user's learning progress.
[1625] A "task" is a problem to which users submit answers in order to deepen their own understanding.
[1626] "Automatic scoring" is a process in which a system automatically evaluates a user's quiz answers and calculates a score.
[1627] "Feedback" refers to the evaluation results and comments on the answers submitted by users.
[1628] "Inquiry" refers to a means for users to communicate problems or questions that arise while using the system to the support team.
[1629] A "support team" is a group of dedicated personnel responsible for responding to and resolving user inquiries.
[1630] "Session information" refers to data used to manage the access rights and operation history of a user who has successfully authenticated.
[1631] This invention relates to a system for operating online courses for acquiring professional skills, learning hobbies and languages, and more. This system can efficiently handle a wide range of processes, including user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support. Specific embodiments for implementing this invention are described below.
[1632] User registration and authentication
[1633] New User Registration
[1634] 1. Device: The user accesses the system using a device (such as a PC or smartphone) and clicks the "New Registration" button.
[1635] Here, you enter the system's URL using a web browser.
[1636] 2. Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[1637] As a specific example, enter "Yamada Taro" in the name field, "taro@example.com" in the email address field, and "password123" in the password field.
[1638] 3. Server: The server receives the form data and verifies the format of the entered information. If the format is correct, it saves the new user information to the database (e.g., MySQL, PostgreSQL).
[1639] 4. Server: Send a registration confirmation email to the user's email address. It will be sent via the mail server to "taro@example.com".
[1640] User Authentication
[1641] 1. Device: The user clicks the authentication link in the confirmation email they received to access the login form.
[1642] As a concrete example, open your mailbox and click on the link in the email.
[1643] 2. Device: Enter your email address and password, then click the "Login" button.
[1644] After being redirected to the login page, enter your email address "taro@example.com" and password "password123".
[1645] 3. Server: The server receives the entered email address and password and verifies them against the information in the database (e.g., MySQL, PostgreSQL). If authentication is successful, it generates session information and redirects the user to the dashboard.
[1646] Search and register for courses
[1647] Course Search
[1648] 1. Device: The user clicks the "Course List" button on the dashboard.
[1649] On the main dashboard screen, find and click the "Course List" button.
[1650] 2. Server: The server retrieves a list of available courses from the database and sends it to the terminal.
[1651] As an example, execute a database query to retrieve the course list in JSON format.
[1652] 3. Terminal: The terminal displays the acquired course list on the screen in HTML format.
[1653] Course registration
[1654] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[1655] For example, select the "Introduction to Python Programming" course.
[1656] 2. Server: The server stores the user ID and course ID in the database and registers the user to the course.
[1657] For example, save user ID "123" and course ID "456" to the registration table in the database.
[1658] 3. Server: Sends a registration confirmation message to the device.
[1659] Course enrollment
[1660] Course Access
[1661] 1. Device: Access the course page that the user has registered for.
[1662] Click "My Courses" from the side menu and select your registered course.
[1663] 2. Server: The server retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[1664] 3. Device: The device on which the user views or browses course materials.
[1665] Submission of quizzes and assignments
[1666] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[1667] Enter your answers on the quiz page or assignment submission form.
[1668] 2. Server: The server receives the user's response data and stores it in the database.
[1669] For example, save the response data along with the corresponding task ID.
[1670] 3. Server: In the case of quizzes, it performs automatic scoring, saves the results to a database, and provides feedback to the terminal.
[1671] 4. Server: For assignments, it sends a notification to the instructor and the grading results to the user.
[1672] User Support
[1673] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[1674] Find and click the "Support" button in the dashboard menu.
[1675] 2. Terminal: The user enters their inquiry and clicks the "Send" button.
[1676] For example, you could enter "I can't log in" and submit it.
[1677] 3. Server: The server receives the user's inquiry and notifies the support team.
[1678] The received information is saved to the database, and the support team is notified.
[1679] 4. Support Team: Prepare solutions based on the problem and send feedback to the user.
[1680] Specific example
[1681] For example, a user might be interested in the "Introduction to Python Programming" course and register by entering their name, email address, and password in the registration form. After email verification, they log in, view the course list from the dashboard, and register for their desired course. The user then watches video and text materials and completes quizzes and assignments. If a problem arises, the user can contact support through the support page and receive prompt assistance. In this way, an environment is in place that allows users to learn efficiently.
[1682] Examples of prompts to input into a generative AI model
[1683] "Please describe the entire process of an online course management system—including user registration, authentication, course search and registration, course participation, quiz and assignment grading, and user support—in natural language."
[1684] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1685] User registration and authentication
[1686] New User Registration
[1687] Step 1:
[1688] Input: The user accesses the system and clicks the "New Registration" button.
[1689] Specific steps: Open a browser and enter the system's URL.
[1690] Output: The registration form is displayed.
[1691] Step 2:
[1692] Input: The user enters their name, email address, and password into the registration form and clicks the "Register" button.
[1693] Specific actions: Enter "Yamada Taro" in the name field, "taro@example.com" in the email address field, and "password123" in the password field.
[1694] Output: Form data is sent to the server.
[1695] Step 3:
[1696] Input: The server processes the form data it receives.
[1697] Specific operation: The system validates the format of the input information (name, email address, password) and saves it to the database if the format is correct.
[1698] Output: New user information is added to the database.
[1699] Step 4:
[1700] Input: The server sends a confirmation email to the user's email address upon successful registration.
[1701] Specific action: A confirmation email is sent to "taro@example.com" via the mail server.
[1702] Output: A confirmation email will be sent to the user's mailbox.
[1703] User Authentication
[1704] Step 1:
[1705] Input: The user clicks the verification link in the confirmation email.
[1706] Specific action: Open the email and click the verification link.
[1707] Output: The login form is displayed.
[1708] Step 2:
[1709] Input: The user enters their email address and password and clicks the "Login" button.
[1710] Specific action: Enter the email address "taro@example.com" and the password "password123".
[1711] Output: Authentication information is sent to the server.
[1712] Step 3:
[1713] Input: The server verifies the submitted authentication information (email address and password) against the information in the database.
[1714] Specific action: Check if it matches the registered information in the database.
[1715] Output: Upon successful authentication, a session ID is generated and the user is redirected to the dashboard.
[1716] Search and register for courses
[1717] Course Search
[1718] Step 1:
[1719] Input: The user clicks the "Course List" button on the dashboard.
[1720] Specific action: On the main screen of the dashboard, find and click the "Course List" button.
[1721] Output: The course list page is displayed.
[1722] Step 2:
[1723] Input: The server retrieves a list of available courses from the database.
[1724] Specific operation: Execute a database query to retrieve the course list and send it to the terminal in JSON format.
[1725] Output: Course list data is sent to the terminal.
[1726] Step 3:
[1727] Input: Displays the course list received by the device on the screen.
[1728] Specific operation: Renders a course list in JSON format into HTML.
[1729] Output: Available courses are displayed on the user's screen.
[1730] Course registration
[1731] Step 1:
[1732] Input: The user selects a course they are interested in and clicks the "Register" button.
[1733] Specific steps: Select the "Introduction to Python Programming" course and click the "Register" button.
[1734] Output: Course registration information is sent to the server.
[1735] Step 2:
[1736] Input: The server saves the user ID and course ID to the database.
[1737] Specific action: Insert user ID "123" and course ID "456" into the database's registration table.
[1738] Output: Course registration is complete and a confirmation message is generated.
[1739] Step 3:
[1740] Input: The server sends a confirmation message to the device upon successful registration.
[1741] Specific action: Generate a registration completion message in HTML format and send it to the device.
[1742] Output: A confirmation message is displayed on the user's screen.
[1743] Course enrollment
[1744] Course Access
[1745] Step 1:
[1746] Input: Access the course page that the user has registered for.
[1747] Specific steps: Click "My Courses" from the side menu and select the registered "Introduction to Python Programming" course.
[1748] Output: The course page is displayed.
[1749] Step 2:
[1750] Input: The server retrieves course materials from the database.
[1751] Specific operation: Search the database for the learning material based on the selected material ID and send it to the device.
[1752] Output: The teaching material data is sent to the device.
[1753] Step 3:
[1754] Input: The terminal displays the received learning materials to the user.
[1755] Specific operation: Use the received data to play video materials or display text materials.
[1756] Output: The user becomes able to view or browse the learning materials.
[1757] Submission of quizzes and assignments
[1758] Step 1:
[1759] Input: Users answer quizzes and assignments within the course and click the "Submit" button.
[1760] Specific actions: Enter your answers on the quiz page or assignment submission form and click the "Submit" button.
[1761] Output: The response data is sent to the server.
[1762] Step 2:
[1763] Input: The server receives the user's response data.
[1764] Specific operation: Save the answer data to the database along with the corresponding quiz ID and task ID.
[1765] Output: The response data is saved to the database.
[1766] Step 3:
[1767] Input: The server will automatically score the quiz.
[1768] Specific operation: Based on the saved answer data, an automated scoring program is executed, the number of correct answers is calculated, and the results are saved to the database.
[1769] Output: Scoring results are generated and provided as feedback to the user.
[1770] Step 4:
[1771] Input: The server notifies the instructor of the assignment's grading results.
[1772] Specific actions: Send an email notification to the instructor that you have submitted the assignment, and then wait for the grading results.
[1773] Output: The scoring results are notified to the instructor.
[1774] Step 5:
[1775] Input: The instructor enters the grading results into the server.
[1776] Specific actions: The instructor grades the work and enters the results into the system.
[1777] Output: The scoring results are saved to the system.
[1778] Step 6:
[1779] Input: The server provides feedback to the user regarding the scoring results.
[1780] Specific operation: Generate the scoring results in HTML format and send them to the user's device.
[1781] Output: The user can check the scoring results.
[1782] User Support
[1783] Step 1:
[1784] Input: The user clicks the "Support" button on the dashboard and accesses the contact form.
[1785] Specific steps: Find and click the "Support" button in the dashboard menu.
[1786] Output: The contact form is displayed.
[1787] Step 2:
[1788] Input: The user enters their inquiry and clicks the "Submit" button.
[1789] Specific action: Enter a message such as "I can't log in" into the inquiry form and click the "Send" button.
[1790] Output: The query content is sent to the server.
[1791] Step 3:
[1792] Input: The server receives the user's inquiry.
[1793] Specific action: Save the inquiry details to the database and notify the support team.
[1794] Output: A notification is sent to the support team.
[1795] Step 4:
[1796] Input: The support team will review the inquiry and prepare appropriate feedback.
[1797] Specific action: The support team will compile solutions to address the inquiries.
[1798] Output: Feedback content is prepared.
[1799] Step 5:
[1800] Input: The support team sends feedback to the user.
[1801] Specific action: Send the user feedback via email.
[1802] Output: The user receives feedback.
[1803] (Application Example 1)
[1804] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[1805] This invention aims to improve the efficiency of employee training in physical stores and enable employees to perform their duties smoothly. Conventional training methods mainly involve learning using paper materials or fixed terminals, which lack immediacy in the actual work environment. There is a need to build a system that allows employees to immediately check the learned content while working on-site.
[1806] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1807] In this invention, the server includes means for receiving information entered by a user in a registration form and storing it in a database; means for receiving authentication information from a user and performing authentication by matching it with information in the database; means for displaying a dashboard to users who have successfully authenticated; means for obtaining a list of available courses from the database and displaying it to the user; means for accepting registration to a course based on the course selected by the user and storing it in the database; means for obtaining course materials for the course registered by the user from the database and sending them to the terminal; means for receiving answers to quizzes and assignments from the user and storing them in the database; means for automatically scoring quizzes, saving the results and providing feedback to the user; means for receiving scoring results for assignments from the instructor and providing feedback to the user; means for receiving user inquiries and notifying the support team; means for sending feedback from the support team to the user; means for employees of physical stores to learn training and work procedures using a dedicated wearable device; means for displaying the progress of training and work procedures through the wearable device; and means for receiving voice input from the user through the wearable device and storing its contents in a database. This allows employees to efficiently learn training and work procedures while on the job and immediately put that knowledge into practice.
[1808] "User information" refers to personally identifiable information such as the user's name, email address, and password entered in the registration form.
[1809] "Authentication information" refers to verification information such as the email address and password that a user uses when logging in.
[1810] A "dashboard" is the main screen that users can access after logging in, and it is an interface that provides access to various information and functions.
[1811] The "course list" is a list of available training courses retrieved from the database and provided to the user.
[1812] "Registration method" refers to the process of saving the user's registration for the selected training course to a database.
[1813] "Educational materials" refers to the collective term for educational resources such as videos, texts, and quizzes that users utilize during training.
[1814] A "wearable device" is a device that a user can wear, and in this context, it specifically refers to smart glasses and head-mounted displays.
[1815] "Quizzes and assignments" refer to tests or evaluation items that users complete after learning.
[1816] "Automatic scoring" refers to the process of automatically evaluating quiz answers submitted by users using an algorithm and providing feedback on the results.
[1817] A "support team" is a group of staff members who respond to user inquiries and provide appropriate feedback.
[1818] "Voice input" is a method of inputting information by voice through a wearable device.
[1819] "Progress display" is a function that uses a wearable device to visually display the progress of a user's training or work procedures.
[1820] This invention provides a system that enables employees in physical stores to receive training efficiently. An example of an embodiment of this system is described below. The system mainly consists of a server, user terminals (wearable devices), and a database.
[1821] Hardware:
[1822] Wearable devices (e.g., smart glasses, head-mounted displays)
[1823] Servers (e.g., AWS, Google Cloud)
[1824] Databases (e.g., MySQL, PostgreSQL)
[1825] software:
[1826] Frontend: React Native, ARKit
[1827] Backend: Node.js, Express
[1828] Database: MySQL
[1829] The server receives the information entered by the user in the registration form and stores it in the database. It also receives the authentication information (email address and password) that the user provides when logging in and performs authentication by comparing it with the information in the database. If authentication is successful, the server displays the dashboard to the user.
[1830] Furthermore, the server retrieves a list of available courses from the database and displays it to the user via a wearable device. If the user selects a specific training course, the server accepts their registration based on that selection and saves it to the database.
[1831] Users can access course materials (videos, texts) for their registered courses through their wearable devices. They can also use their wearable devices to answer quizzes and assignments and submit them to the server. The server receives these submissions, stores them in a database, automatically grades them as needed, and provides feedback to the user. For assignments, it notifies the instructor and returns the grading results to the user.
[1832] Furthermore, it has a function that displays the progress of training and work procedures in real time via a wearable device, allowing users to check the status. Users can input inquiries using voice input, and this information is also stored on the server and notified to the support team. Feedback from the support team is sent to the user via the server.
[1833] Specific example:
[1834] For example, suppose an employee at a physical store needs to learn a new product display method. The employee wears smart glasses, fills out the required information on the registration form, and registers. After the authentication process, they access the dashboard and select "New Product Display Training" from the list of available courses. They then watch the registered training materials, answer quizzes presented along the way, and submit their answers to the server. The quiz results are automatically scored and immediately provided as feedback, and if there are any issues, an evaluation from the instructor is displayed later via the wearable device. Progress can also be checked at every step, allowing for efficient training completion and application of the skills learned in the workplace.
[1835] Examples of prompts to input into a generative AI model:
[1836] I would like to conduct a requirements analysis for developing a "physical store training support app." Please provide specific workflows for new user registration, authentication, training search and registration, training participation, quiz / assignment submission, and user support. I would especially appreciate a focus on scenarios where each operation is performed using smart glasses.
[1837] In this way, employees can efficiently learn the training content and immediately apply it to their actual work.
[1838] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1839] Step 1: User Registration
[1840] The user enters their name, email address, and password into a registration form via voice input using a wearable device. This information is sent to the server. The server validates the received information, confirms that it is in the correct format, and then stores it in its database. Finally, the server sends a confirmation email to the user's email address.
[1841] Step 2: User Authentication
[1842] The user clicks an authentication link on their wearable device, enters their email address and password using voice input, and accesses the login form. The entered information is sent to the server. The server compares the received authentication information with the information in its database, and if authentication is successful, it generates session information for the user and displays the dashboard screen.
[1843] Step 3: Course Search
[1844] The user clicks the "Course List" button on the dashboard. The server retrieves a list of available training courses from the database and sends it to the wearable device. The wearable device visually displays the received course list to the user.
[1845] Step 4: Course Registration
[1846] The user selects a training course of interest from the displayed course list and clicks the "Register" button. This selection information is sent to the server. The server stores the user ID and course ID in its database and sends a registration completion message to the wearable device.
[1847] Step 5: Course Enrollment
[1848] The user accesses the registered course page via a wearable device. The server retrieves the course materials (videos, texts) from the database and sends them to the wearable device. The user then views or browses the materials through the wearable device.
[1849] Step 6: Submit quiz / assignment
[1850] Users answer quizzes and assignments within the course using voice input and click the "Submit" button. This response data is sent to the server, which stores the received data in a database. In the case of quizzes, the server automatically grades the answers, saves the results to the database, and provides feedback to the user. In the case of assignments, the server notifies the instructor, and the grading results are provided to the user at a later date.
[1851] Step 7: Display progress
[1852] Users check their progress using wearable devices. The server periodically saves progress information to a database and retrieves that data and sends it to the wearable device whenever the user requests it. Users can visually check their progress in real time.
[1853] Step 8: User Support
[1854] The user clicks the "Support" button on the dashboard to access the inquiry form. They enter their inquiry using voice input via their wearable device and click the "Submit" button. The entered inquiry is sent to the server, which saves the information to its database and notifies the support team. Feedback from the support team is then sent to the user's wearable device via the server.
[1855] By combining these processing steps, employees in physical stores can receive training efficiently and apply it to their work.
[1856] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1857] This invention relates to a system for operating online courses for acquiring specialized skills, learning hobbies and languages, etc. It combines a system for efficiently handling user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support with an emotion engine that recognizes user emotions. The specific program processing and its embodiments are described below.
[1858] User registration and authentication
[1859] New User Registration
[1860] 1. Terminal: The user accesses the system and clicks the "New Registration" button.
[1861] 2. Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[1862] 3. Server: Receives form data and validates the format of the input information. If the format is correct, saves the new user information to the database.
[1863] 4. Server: Sends a confirmation email to the user's email address to verify that registration is complete.
[1864] User Authentication
[1865] 1. Device: The user clicks the authentication link and accesses the login form using their email address and password.
[1866] 2. Device: Enter your email address and password, then click the "Login" button.
[1867] 3. Server: Receives the entered email address and password and verifies them against the information in the database. If authentication is successful, generates session information and redirects the user to the dashboard.
[1868] Search and register for courses
[1869] Course Search
[1870] 1. Device: The user clicks the "Course List" button on the dashboard.
[1871] 2. Server: Retrieves a list of available courses from the database and sends it to the user's terminal.
[1872] 3. Terminal: Displays the acquired course list to the user.
[1873] Course registration
[1874] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[1875] 2. Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[1876] 3. Server: Sends a registration completion confirmation message to the user's device.
[1877] Course enrollment
[1878] Course Access
[1879] 1. Device: Access the course page that the user has registered for.
[1880] 2. Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[1881] 3. Device: The device on which the user views or browses course materials.
[1882] Submission of quizzes and assignments
[1883] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[1884] 2. Server: Receives user response data and saves it to the database.
[1885] 3. Server: In the case of quizzes, the server performs automatic scoring and saves the results to a database. The results are then fed back to the user.
[1886] 4. Server: For assignments, it sends a notification to the instructor and later sends the grading results to the user.
[1887] Implementation of an emotion engine
[1888] emotion recognition
[1889] 1. Device: While the user is viewing course materials or answering quizzes / assignments, the device's camera and microphone will be used to capture the user's facial expressions and voice.
[1890] 2. Server: Receives the captured data and inputs it into the emotion engine.
[1891] 3. Emotion Engine: Analyzes the user's emotions from facial expressions and voice data, and stores the results in a database.
[1892] Adjusting the learning process
[1893] 1. Server: Executes algorithms to adjust the learning progress based on user sentiment data.
[1894] 2. Device: Displays customized learning content and feedback to the user.
[1895] User Support
[1896] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[1897] 2. Device: Enter your inquiry and click the "Send" button.
[1898] 3. Server: Receives user inquiries and notifies the support team.
[1899] 4. Support Team: Prepare appropriate feedback based on the inquiry and send it to the user. In some cases, they may provide more appropriate support based on the user's sentiment data.
[1900] Specific example
[1901] For example, suppose Hanako Suzuki registers with the system and is interested in the "Introduction to Data Science" course. When Ms. Suzuki enters her name, email address, and password in the registration form and clicks the "Register" button, the server receives the information and saves it to the database. After that, Ms. Suzuki performs email verification and logs in by entering her email address and password in the login form. The server verifies the authentication information, and if authentication is successful, it displays the dashboard to Ms. Suzuki.
[1902] When Ms. Suzuki selects the "Introduction to Data Science" course from the "Course List" on the dashboard and clicks the "Register" button, the server saves her user ID and course ID to the database and accepts her registration. Once registration is complete, Ms. Suzuki can access the course page and view the video and text materials. During her studies, Ms. Suzuki's facial expressions and voice are captured by her device's camera and microphone, and this data is sent to the server and analyzed by the emotion engine. The emotion engine provides appropriate feedback based on Ms. Suzuki's learning progress and adjusts the learning process as needed.
[1903] If a problem arises, Ms. Suzuki can submit an inquiry through the support page, and the support team can respond quickly and appropriately based on sentiment data. In this way, a system is created that allows users to learn more efficiently and effectively.
[1904] The following describes the processing flow.
[1905] User registration and authentication
[1906] New User Registration
[1907] Step 1:
[1908] Terminal: The user accesses the system and clicks the "New Registration" button.
[1909] Step 2:
[1910] Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[1911] Step 3:
[1912] Server: Receives form data. At this point, validates the format of the input information (for example, whether the email address is in the correct format).
[1913] Step 4:
[1914] Server: If the input information is correct, save the new user information to the database.
[1915] Step 5:
[1916] Server: Sends a registration confirmation email to the user's email address.
[1917] User Authentication
[1918] Step 1:
[1919] Terminal: The user clicks the authentication link and accesses the login form using their email address and password.
[1920] Step 2:
[1921] Terminal: Enter your email address and password, then click the "Login" button.
[1922] Step 3:
[1923] Server: Receives the entered email address and password.
[1924] Step 4:
[1925] Server: Performs authentication by comparing the information with that in the database. If authentication is successful, it generates session information.
[1926] Step 5:
[1927] Server: Redirects the user to the dashboard based on session information.
[1928] Search and register for courses
[1929] Course Search
[1930] Step 1:
[1931] Device: The user clicks the "Course List" button on the dashboard.
[1932] Step 2:
[1933] Server: Retrieves a list of available courses from the database.
[1934] Step 3:
[1935] Server: Sends the retrieved course list to the user's terminal.
[1936] Step 4:
[1937] Terminal: Displays the course list to the user.
[1938] Course registration
[1939] Step 1:
[1940] Device: The user selects a course they are interested in and clicks the "Register" button.
[1941] Step 2:
[1942] Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[1943] Step 3:
[1944] Server: Sends a registration confirmation message to the user's device.
[1945] Course enrollment
[1946] Course Access
[1947] Step 1:
[1948] Device: Accesses the course page the user has registered for.
[1949] Step 2:
[1950] Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database.
[1951] Step 3:
[1952] Server: Sends educational material data to the user's terminal.
[1953] Step 4:
[1954] Device: The device on which the user views or browses course materials.
[1955] Submission of quizzes and assignments
[1956] Step 1:
[1957] Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[1958] Step 2:
[1959] Server: Receives user response data.
[1960] Step 3:
[1961] Server: Stores the response data in the database.
[1962] Step 4:
[1963] Server: In the case of a quiz, it performs automatic scoring and saves the results to a database. The automatically scored results are then fed back to the user.
[1964] Step 5:
[1965] Server: For assignments, a notification is sent to the instructor, and the assignment along with the answers is sent to the instructor. Later, the instructor sends the grading results to the server and provides feedback to the user.
[1966] Implementation of an emotion engine
[1967] emotion recognition
[1968] Step 1:
[1969] Device: While the user is viewing course materials or answering quizzes / assignments, the device's camera and microphone are used to capture the user's facial expressions and voice.
[1970] Step 2:
[1971] Server: Receives captured data and inputs it into the emotion engine.
[1972] Step 3:
[1973] Emotion Engine: Analyzes the user's emotions from facial expressions and voice data, and stores the results in a database.
[1974] Adjusting the learning process
[1975] Step 1:
[1976] Server: Executes algorithms to adjust the learning progress based on user sentiment data.
[1977] Step 2:
[1978] Device: Displays tailored learning content and feedback to the user.
[1979] User Support
[1980] Step 1:
[1981] Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[1982] Step 2:
[1983] Terminal: Enter your inquiry and click the "Send" button.
[1984] Step 3:
[1985] Server: Receives user inquiries and notifies the support team.
[1986] Step 4:
[1987] Support team: Prepare appropriate feedback based on the inquiry.
[1988] Step 5:
[1989] Server: Sends feedback from the support team to the user. May also provide more appropriate support based on user sentiment data.
[1990] The above is the processing flow of an online course management system that incorporates an emotion engine. This provides an environment in which users can learn more efficiently and effectively.
[1991] (Example 2)
[1992] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[1993] Modern online learning systems are required to efficiently provide numerous functions, including user registration, authentication, course search and enrollment, course participation, quiz and assignment grading, and user support. Furthermore, to maximize user learning efficiency, technologies that understand user emotions and adjust the learning process accordingly are also necessary. However, existing systems struggle to provide these functions in an integrated manner, resulting in a lack of optimized user experience.
[1994] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[1995] In this invention, the server includes means for receiving information entered by the user in a registration form and storing it in a database; means for receiving authentication information from the user and performing authentication by matching it with the information in the database; means for displaying a dashboard to users who have successfully authenticated; means for obtaining a list of available learning courses from the database and displaying it to the user; means for accepting registration to a course based on the learning course selected by the user and storing it in a database; means for obtaining learning materials for the learning course registered by the user from the database and sending them to the terminal; means for receiving answers to quizzes and assignments from the user and storing them in a database; means for automatically scoring quizzes, saving the results and providing feedback to the user; means for receiving scoring results for assignments from the instructor and providing feedback to the user; means for receiving user inquiries and notifying the support team; means for sending feedback from the support team to the user; means for capturing the user's facial expressions and voice and inputting them into an emotion analysis engine; and means for adjusting the user's learning progress based on the analysis results of the emotion analysis engine. This enables the user to proceed with online learning efficiently and effectively.
[1996] "User" refers to an individual or group that uses the system.
[1997] A "registration form" refers to an electronic format used by users to enter personal information and authentication information.
[1998] A "database" refers to a system for centrally storing and managing various types of data, such as user information, learning course information, quiz and assignment answers, and sentiment data.
[1999] "Authentication information" refers to information such as email addresses and passwords that system users use when logging in.
[2000] The "dashboard" is the main screen accessible to authenticated users, providing information on registered courses, progress, and various navigation functions.
[2001] A "learning course" refers to a collection of online learning materials and activities designed to teach specific skills or knowledge.
[2002] "Learning materials" refers to videos, texts, audio, or other educational materials that users use to learn through a course.
[2003] A "quiz" refers to a question-and-answer test designed to assess the level of understanding of the learned material.
[2004] "Assignments" refer to practical tasks or projects that users are required to submit within a learning course.
[2005] "Automatic scoring" refers to the process by which a system automatically evaluates a user's quiz answers.
[2006] An "instructor" refers to an educator who teaches the content of a learning course and grades assignments.
[2007] "Inquiry" refers to communication from users, such as questions or requests for support.
[2008] A "support team" refers to a team of specialist staff who handle inquiries from users.
[2009] An "emotion analysis engine" refers to software or hardware that analyzes a user's facial expressions and voice to determine their emotional state.
[2010] "Adjusting the learning progress" refers to the process of optimizing learning content and methods based on the user's learning progress and emotional state.
[2011] Modes for carrying out the invention
[2012] This invention is a system for operating online courses for acquiring specialized skills, learning hobbies and languages, etc. This system is designed to efficiently handle processes related to user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support, and further incorporates an emotion engine that recognizes user emotions.
[2013] User registration and authentication
[2014] New User Registration
[2015] 1. Terminal: The user opens a web browser, accesses the system's homepage, and clicks the "New Registration" button. They enter their name, email address, and password in the registration form and click the "Register" button.
[2016] 2. Server: Receives form data and validates the format of the input information. If validation is successful, saves the new user information to the database.
[2017] 3. Server: Sends a confirmation email to the user's email address to verify that registration is complete.
[2018] User Authentication
[2019] 1. Terminal: The user clicks the authentication link and accesses the login form.
[2020] 2. Device: Enter your email address and password, then click the "Login" button.
[2021] 3. Server: Receives the entered email address and password and verifies them against the information in the database. If authentication is successful, generates session information and redirects the user to the dashboard.
[2022] Search and register for courses
[2023] Course Search
[2024] 1. Device: The user accesses the dashboard and clicks the "Course List" button.
[2025] 2. Server: Retrieves a list of available courses from the database and sends it to the user's terminal.
[2026] 3. Terminal: Displays the acquired course list to the user.
[2027] Course registration
[2028] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[2029] 2. Server: Stores the user ID and course ID in the database, and users register for that course.
[2030] 3. Server: Sends a registration completion confirmation message to the user's device.
[2031] Course enrollment
[2032] Course Access
[2033] 1. Device: Access the course page that the user has registered for.
[2034] 2. Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[2035] 3. Device: The device on which the user views or browses course materials.
[2036] Submission of quizzes and assignments
[2037] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[2038] 2. Server: Receives user response data and saves it to the database.
[2039] 3. Server: In the case of quizzes, the server performs automatic scoring and saves the results to a database. The results are then fed back to the user.
[2040] 4. Server: For assignments, it sends a notification to the instructor and later sends the grading results to the user.
[2041] Implementation of an emotion engine
[2042] emotion recognition
[2043] 1. Device: While the user is viewing course materials or answering quizzes / assignments, the device's camera and microphone will be used to capture the user's facial expressions and voice.
[2044] 2. Server: Receives the captured data and inputs it into the sentiment analysis engine.
[2045] 3. Emotion Analysis Engine: Analyzes the user's emotions from facial expressions and voice data, and stores the results in a database.
[2046] Adjusting the learning process
[2047] 1. Server: Executes algorithms to adjust the learning progress based on user sentiment data.
[2048] 2. Device: Displays customized learning content and feedback to the user.
[2049] User Support
[2050] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[2051] 2. Device: Enter your inquiry and click the "Send" button.
[2052] 3. Server: Receives user inquiries and notifies the support team.
[2053] 4. Support Team: Prepare appropriate feedback based on the inquiry and send it to the user. Also, respond based on sentiment data.
[2054] Specific example
[2055] For example, suppose a user registers with the system and expresses interest in the "Introduction to Data Science" course. The user enters their name, email address, and password into the registration form and clicks the "Register" button. The server receives this information and stores it in the database. The user then performs email verification and logs in by entering their email address and password into the login form. The server verifies the authentication information, and if authentication is successful, the dashboard is displayed.
[2056] When a user selects the "Introduction to Data Science" course from the "Course List" on the dashboard and clicks the "Register" button, the server saves the user ID and course ID to the database and accepts the registration. Once course registration is complete, the user can access the course page and view video and text materials. During learning, the user's facial expressions and voice are captured by the device's camera and microphone, and this data is sent to the server and analyzed by an emotion analysis engine. The emotion analysis engine provides appropriate feedback according to the user's learning progress and adjusts the learning process as needed.
[2057] If a problem arises, users can submit an inquiry through the support page, and the support team can respond quickly and appropriately based on sentiment data. In this way, a system is created that allows users to learn more efficiently and effectively.
[2058] Example of a prompt
[2059] Please describe the new user registration procedure in natural language. Include the following information:
[2060] Display of registration screen
[2061] Form Input
[2062] Data transmission and verification
[2063] Sending a confirmation email.
[2064] This system helps users learn professional skills, hobbies, and languages more efficiently, and utilizes an emotion analysis engine to address individual learning needs. It provides real-time feedback and support using a cloud-based database and the latest machine learning technologies.
[2065] The flow of the specific processing in Example 2 will be explained using Figure 13.
[2066] Step 1:
[2067] The terminal processes the user's request when they access the system's homepage and click the "New Registration" button. It loads the homepage's HTML data as input and makes the button element interactive. The output is that the "New Registration" button becomes clickable.
[2068] Step 2:
[2069] The device works as follows: the user enters their name, email address, and password into a registration form and clicks the "Register" button. The device captures the data entered by the user into the form using JavaScript as input. The device then sends the form data to the server as a POST request as output.
[2070] Step 3:
[2071] The server receives the form data and verifies the format of the input information (validity of the email address, strength of the password). The form data is passed to a validation function as input. The server generates user information in a format that can be stored in the database as output.
[2072] Step 4:
[2073] If the verification is successful, the server saves the new user information to the database. The verified user information is passed as input to the SQL insert query. The output is the new user information saved to the database.
[2074] Step 5:
[2075] The server sends a confirmation email to the user's email address upon registration completion. User information is passed to the email sending API as input. The confirmation email is sent to the user as output.
[2076] Step 6:
[2077] The device displays the login form when the user clicks the authentication link in the confirmation email. The input is triggered by clicking the link in the email. The output is the display of the login form.
[2078] Step 7:
[2079] The terminal receives the user's email address and password and clicks the "Login" button. The user's authentication information is captured using JavaScript as input. The authentication information is then sent to the server as a POST request as output.
[2080] Step 8:
[2081] The server receives the entered email address and password and compares them with the information in the database. As input, it compares the authentication information with the user information in the database. As output, if authentication is successful, it generates session information.
[2082] Step 9:
[2083] The server sets session information for successfully authenticated users and redirects them to the dashboard. As input, it generates session information and saves it in a cookie. As output, it sends an HTTP response redirecting to the dashboard.
[2084] Step 10:
[2085] The device works as follows: The user accesses the dashboard and clicks the "Course List" button. The dashboard HTML is loaded as input. The event for clicking the "Course List" button is triggered as output.
[2086] Step 11:
[2087] The server retrieves a list of available courses from the database and sends it to the user's terminal. It takes course information as input via an SQL query and returns the course list in JSON format as output.
[2088] Step 12:
[2089] The terminal displays the acquired course list to the user. It parses the received JSON data as input. As output, it embeds and displays the data in an HTML template.
[2090] Step 13:
[2091] The device allows the user to select a course of interest and click the "Register" button. It captures the selected course ID as input and sends a course registration request to the server as output.
[2092] Step 14:
[2093] The server stores the user ID and course ID in the database, and the user is registered for that course. The user ID and course ID are passed as input to an SQL insert query. The registration information is then stored in the database as output.
[2094] Step 15:
[2095] The server sends a registration completion confirmation message to the user's device. It generates a registration success message as input and returns a confirmation message in JSON format as output.
[2096] Step 16:
[2097] The device accesses the course page the user has registered for. It generates a request containing the user ID as input. The course page is displayed as output.
[2098] Step 17:
[2099] The server retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal. The input is course material data retrieved using an SQL query. The output is course material data sent to the terminal.
[2100] Step 18:
[2101] The terminal allows the user to view or browse course materials. It displays received course data as input and a video player or text viewer as output.
[2102] Step 19:
[2103] The device handles user responses to quizzes and assignments within a course, and clicks the "Submit" button. It captures the response data as input and sends the response data to the server as output.
[2104] Step 20:
[2105] The server receives user response data and saves it to the database. The response data is passed as input to an SQL insert query. The response data is saved to the database as output.
[2106] Step 21:
[2107] In the case of a quiz, the server automatically scores the answers and saves the results to a database. It executes an algorithm that compares the answer data with the correct answer data as input. As output, it saves the scoring results to the database.
[2108] Step 22:
[2109] The server, in the case of an assignment, sends a notification to the instructor and later sends the grading results to the user. The input is the submission data of the assignment, which is then sent to the instructor. The output is the grading results from the instructor, which are then sent to the user.
[2110] Step 23:
[2111] The device captures the user's facial expressions and voice using its camera and microphone while the user is viewing course materials or answering quizzes and assignments. It acquires data streams from the camera and microphone as input and sends the captured data to the server as output.
[2112] Step 24:
[2113] The server receives the captured data and inputs it into the emotion analysis engine. It provides facial expressions and audio data as input to the analysis engine, and outputs the emotion analysis results.
[2114] Step 25:
[2115] The emotion analysis engine analyzes the user's emotions from facial expressions and voice data and stores the results in a database. It receives a data stream to be analyzed as input and stores the emotion data in the database as output.
[2116] Step 26:
[2117] The server executes an algorithm to adjust the learning progress based on the user's emotional data. Emotional data and learning progress data are passed to the algorithm as input. The adjustments are generated as output.
[2118] Step 27:
[2119] The device displays tailored learning content and feedback to the user. It receives tailored content as input and displays appropriate feedback as output.
[2120] Step 28:
[2121] The device loads the form page as input when the user clicks the "Support" button on the dashboard and accesses the contact form. The contact form is displayed as output.
[2122] Step 29:
[2123] The terminal takes the user's inquiry and clicks the "Send" button. It captures the inquiry information as input and sends the inquiry data to the server as output.
[2124] Step 30:
[2125] The server receives user inquiries and notifies the support team. The received inquiry data is passed to the notification system as input. The notification is sent to the support team as output.
[2126] Step 31:
[2127] The support team prepares appropriate feedback based on the inquiry and sends it to the user. The input is analysis of the inquiry. The output is sending feedback to the user. In this process, the response can also be adjusted based on sentiment data.
[2128] (Application Example 2)
[2129] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."
[2130] In modern online learning and virtual shopping, accurately understanding user emotions, recommending appropriate content and products based on those emotions, and providing appropriate support is challenging. Traditional systems lack dynamic feedback and adjustments based on user emotions, resulting in insufficient improvements in the quality of user interaction, learning effectiveness, and shopping experience.
[2131] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving information entered by the user in a registration form and storing it in a database, means for receiving authentication information from the user and performing authentication by matching it with the information in the database, means for displaying a dashboard to users who have successfully been authenticated, means for obtaining a list of available courses from the database and displaying it to the user, means for accepting registration to a course based on the course selected by the user and storing it in a database, means for obtaining course materials for the course registered by the user from the database and sending them to the terminal, means for receiving answers to quizzes and assignments from the user and storing them in a database, means for automatically scoring quizzes, saving the results and providing feedback to the user, means for receiving scoring results for assignments from the instructor and providing feedback to the user, means for receiving user inquiries and notifying the support team, means for sending feedback from the support team to the user, means for capturing the user's facial expressions and voice using the terminal's camera and microphone to recognize the user's emotions and analyzing the data with an emotion engine, and means for adjusting product recommendations and the learning process based on the analyzed emotion data. This makes it possible to understand the user's emotional state in real time and dynamically provide content and support.
[2132] Definitions of important words
[2133] "User registration" is the process by which a user enters personal information into the system and creates a new account.
[2134] "Authentication" is the process of verifying whether a user is registered using authentication information provided by the user (for example, an email address and password).
[2135] A "dashboard" is an interface displayed to users who have successfully authenticated, containing a collection of key system functions and information.
[2136] A "course" refers to educational content for acquiring specialized skills, learning hobbies or languages, etc.
[2137] A "quiz" is a type of question format provided by a system to evaluate a user's level of understanding.
[2138] A "task" is a practical evaluation method provided by the system to deepen the user's understanding of the learning material.
[2139] An "emotion engine" is software that analyzes data such as a user's facial expressions and voice to recognize their emotional state.
[2140] "Facial capture" is the process of using a camera to photograph a user's face and acquiring that image data.
[2141] "Voice capture" is the process of recording a user's voice using a microphone and acquiring that audio data.
[2142] "Analysis" is the process of extracting useful information by applying a specific algorithm to acquired data.
[2143] "Product recommendation" is a process that presents information about products that users are likely to be interested in, based on their emotions and past behavior history.
[2144] "Learning process adjustment" is a process that dynamically changes the learning content and the way feedback is provided according to the user's emotional state and progress.
[2145] "Feedback" refers to the reactions and guidance provided by the system to the user regarding learning progress, quiz results, and other similar matters.
[2146] Modes for carrying out the invention
[2147] The system that implements the application of this invention is composed of various hardware and software. This section describes the specific method of carrying out the invention and explains the operation of the system in natural language.
[2148] Hardware and software to use
[2149] 1. Hardware:
[2150] Computer (with camera and microphone)
[2151] server
[2152] 2. Software:
[2153] Python
[2154] OpenCV (image processing library)
[2155] EmotionRecognition (emotion recognition library)
[2156] Database management system (e.g., MySQL)
[2157] System configuration and operation
[2158] User registration and authentication
[2159] Terminal: Users access the system via a web browser and enter personal information into a registration form. The entered data is sent to the server and stored in a database.
[2160] Server: After registration is complete, an authentication email will be sent to the user's email address. When the user clicks the authentication link, their authentication information will be verified, and if successful, the dashboard will be displayed.
[2161] Emotion recognition and analysis
[2162] Device: When a user views course materials or browses products in a virtual store, the camera and microphone capture the user's facial expressions and voice.
[2163] Server: The captured data is sent to the server and analyzed by the emotion engine. The emotion engine performs facial recognition and voice analysis to identify the user's emotional state.
[2164] Product recommendation and learning process adjustment
[2165] Server: Based on the analysis results of the emotion engine, it recommends products and learning content according to the user's emotional state. For example, if the user shows interest, it displays a list of related products; conversely, if the user is confused, it displays help content.
[2166] Device: Recommended products and learning content are displayed on the user's device. The user can then choose their next action based on this information.
[2167] User Support
[2168] Terminal: The user clicks the inquiry button, enters their inquiry details, and submits them.
[2169] Server: The inquiry is sent to the support team, and sentiment data is also sent along with it if necessary. After specific actions are taken, feedback is sent to the user.
[2170] Specific example
[2171] For example, consider a user browsing a virtual store. While the user views product details via camera, their facial expressions are captured, and the emotion engine recognizes this as "interest." In this case, the system recommends related products and special offers to the user. Conversely, if the user displays a confused expression, the system displays help content and information on how to access customer support.
[2172] Example of a prompt
[2173] Examples of prompts to input into a generative AI model include the following:
[2174] "Create a script that analyzes the user's facial expressions when they log into a virtual store and recommends products based on their emotions."
[2175] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[2176] Processing flow of the system program in the application example.
[2177] Processing steps
[2178] Step 1:
[2179] Input: The user accesses the system via a web browser and enters their name, email address, and password into the registration form.
[2180] Action: The terminal sends this input data to the server.
[2181] Output: The server saves the entered data to the database and sends a confirmation email to the user upon completion of registration.
[2182] Step 2:
[2183] Input: The user clicks the authentication link in the confirmation email they received, enters their email address and password, and accesses the login form.
[2184] Action: The terminal sends the entered authentication information to the server.
[2185] Output: The server compares the information with the database, and if authentication is successful, it displays the dashboard.
[2186] Step 3:
[2187] Input: The user clicks the course list button on the dashboard to search for available courses.
[2188] Operation: The server retrieves a list of available courses from the database and sends it to the user's terminal.
[2189] Output: The terminal displays the retrieved course list to the user.
[2190] Step 4:
[2191] Input: The user selects a course they are interested in and clicks the register button.
[2192] Operation: The terminal sends the user ID and the selected course ID to the server.
[2193] Output: The server saves this information to the database and notifies the user that registration for the course is complete.
[2194] Step 5:
[2195] Input: The user accesses the course materials page.
[2196] Operation: The server retrieves the relevant educational material data from the database and sends the material in video or text format to the user's device.
[2197] Output: The device displays the learning materials, which the user can view or browse.
[2198] Step 6:
[2199] Input: While the user is watching the course materials, the device's camera and microphone capture the user's facial expressions and voice.
[2200] Operation: The device sends the captured data to the server.
[2201] Output: The server uses an emotion engine (EmotionRecognition library) to analyze the captured data, identify the user's emotional state, and save the results to a database.
[2202] Step 7:
[2203] Input: User emotion data obtained as a result of the emotion engine analysis.
[2204] Operation: The server recommends products and learning content suitable for the user based on sentiment data.
[2205] Output: The device displays recommended products and learning content to the user. Specifically, if the user shows interest, related products and special offers will be displayed, and if they are confused, help content will be displayed.
[2206] Step 8:
[2207] Input: Submit a user inquiry that requires attention.
[2208] Operation: The terminal sends the query details to the server.
[2209] Output: The server notifies the support team of the inquiry details and then sends feedback from the support team to the user.
[2210] The system in this application example is realized through the steps described above. By clearly defining the specific actions and data flow performed at each step, the overall system operation is easy to understand. As a result, users can receive product recommendations and adjustments to the learning process based on real-time sentiment data.
[2211] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[2212] The data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One 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">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[2213] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[2214] [Fourth Embodiment]
[2215] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[2216] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[2217] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[2218] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[2219] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[2220] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[2221] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[2222] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[2223] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[2224] The specific processing program 56 is an example of a "program" relating to the technology of this disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[2225] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[2226] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[2227] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[2228] This invention relates to a system for operating online courses for acquiring specialized skills, learning hobbies and languages, etc., and is a system for efficiently performing processes related to user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support. The following describes the specific program processing and its embodiments.
[2229] User registration and authentication
[2230] New User Registration
[2231] 1. Terminal: The user accesses the system and clicks the "New Registration" button.
[2232] 2. Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[2233] 3. Server: Receives form data and validates the format of the input information. If the format is correct, saves the new user information to the database.
[2234] 4. Server: Sends a confirmation email to the user's email address to verify that registration is complete.
[2235] User Authentication
[2236] 1. Device: The user clicks the authentication link and accesses the login form using their email address and password.
[2237] 2. Device: Enter your email address and password, then click the "Login" button.
[2238] 3. Server: Receives the entered email address and password and verifies them against the information in the database. If authentication is successful, generates session information and redirects the user to the dashboard.
[2239] Search and register for courses
[2240] Course Search
[2241] 1. Device: The user clicks the "Course List" button on the dashboard.
[2242] 2. Server: Retrieves a list of available courses from the database and sends it to the user's terminal.
[2243] 3. Terminal: Displays the acquired course list to the user.
[2244] Course registration
[2245] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[2246] 2. Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[2247] 3. Server: Sends a registration completion confirmation message to the user's device.
[2248] Course enrollment
[2249] Course Access
[2250] 1. Device: Access the course page that the user has registered for.
[2251] 2. Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[2252] 3. Device: The device on which the user views or browses course materials.
[2253] Submission of quizzes and assignments
[2254] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[2255] 2. Server: Receives user response data and saves it to the database.
[2256] 3. Server: In the case of quizzes, the server performs automatic scoring and saves the results to a database. The results are then fed back to the user.
[2257] 4. Server: For assignments, it sends a notification to the instructor and later sends the grading results to the user.
[2258] User Support
[2259] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[2260] 2. Device: Enter your inquiry and click the "Send" button.
[2261] 3. Server: Receives user inquiries and notifies the support team.
[2262] 4. Support Team: Prepare appropriate feedback based on the inquiry and send it to the user.
[2263] Specific example
[2264] For example, suppose "Taro Yamada" registers with the system and is interested in the "Introduction to Python Programming" course. When Mr. Yamada enters his name, email address, and password in the registration form and clicks the "Register" button, the server receives the information and saves it to the database. After that, Mr. Yamada performs email verification and logs in by entering his email address and password in the login form. The server verifies the authentication information, and if authentication is successful, it displays the dashboard to Mr. Yamada.
[2265] When Mr. Yamada selects the "Introduction to Python Programming" course from the "Course List" on the dashboard and clicks the "Register" button, the server saves his user ID and course ID to the database and accepts his registration. Once course registration is complete, Mr. Yamada can access the course page and view the video and text learning materials. After completing quizzes and assignments and clicking the "Submit" button, the server receives his answers, automatically grades them, and provides feedback on the results.
[2266] If a problem arises, Mr. Yamada can submit an inquiry through the support page, and the support team can respond quickly. In this way, a system is created that allows users to learn efficiently.
[2267] The following describes the processing flow.
[2268] User registration and authentication
[2269] New User Registration
[2270] Step 1:
[2271] Terminal: The user accesses the system and clicks the "New Registration" button.
[2272] Step 2:
[2273] Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[2274] Step 3:
[2275] Server: Receives form data. At this point, validates the format of the input information (for example, whether the email address is in the correct format).
[2276] Step 4:
[2277] Server: If the input information is correct, save the new user information to the database.
[2278] Step 5:
[2279] Server: Sends a registration confirmation email to the user's email address.
[2280] User Authentication
[2281] Step 1:
[2282] Terminal: The user clicks the authentication link and accesses the login form using their email address and password.
[2283] Step 2:
[2284] Terminal: Enter your email address and password, then click the "Login" button.
[2285] Step 3:
[2286] Server: Receives the entered email address and password.
[2287] Step 4:
[2288] Server: Performs authentication by comparing the information with that in the database. If authentication is successful, it generates session information.
[2289] Step 5:
[2290] Server: Redirects the user to the dashboard based on session information.
[2291] Search and register for courses
[2292] Course Search
[2293] Step 1:
[2294] Device: The user clicks the "Course List" button on the dashboard.
[2295] Step 2:
[2296] Server: Retrieves a list of available courses from the database.
[2297] Step 3:
[2298] Server: Sends the retrieved course list to the user's terminal.
[2299] Step 4:
[2300] Terminal: Displays the course list to the user.
[2301] Course registration
[2302] Step 1:
[2303] Device: The user selects a course they are interested in and clicks the "Register" button.
[2304] Step 2:
[2305] Server: The user ID and course ID are stored in the database, and the user is registered for that course.
[2306] Step 3:
[2307] Server: Sends a registration confirmation message to the user's device.
[2308] Course enrollment
[2309] Course Access
[2310] Step 1:
[2311] Device: Accesses the course page the user has registered for.
[2312] Step 2:
[2313] Server: Retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database.
[2314] Step 3:
[2315] Server: Sends educational material data to the user's terminal.
[2316] Step 4:
[2317] Device: The device on which the user views or browses course materials.
[2318] Submission of quizzes and assignments
[2319] Step 1:
[2320] Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[2321] Step 2:
[2322] Server: Receives user response data.
[2323] Step 3:
[2324] Server: Stores the response data in the database.
[2325] Step 4:
[2326] Server: In the case of a quiz, it performs automatic scoring and saves the results to a database. The automatically scored results are then fed back to the user.
[2327] Step 5:
[2328] Server: For assignments, a notification is sent to the instructor, and the assignment along with the answers is sent to the instructor. Later, the instructor sends the grading results to the server and provides feedback to the user.
[2329] User Support
[2330] Step 1:
[2331] Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[2332] Step 2:
[2333] Terminal: Enter your inquiry and click the "Send" button.
[2334] Step 3:
[2335] Server: Receives user inquiries and notifies the support team.
[2336] Step 4:
[2337] Support team: Prepare appropriate feedback based on the inquiry.
[2338] Step 5:
[2339] Server: Sends feedback from the support team to the user.
[2340] The above is the processing flow of the online course management system. This provides an environment in which users can learn efficiently.
[2341] (Example 1)
[2342] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[2343] Conventional online course management systems have suffered from insufficient efficiency and user experience improvements in processes such as user registration, authentication, course search and registration, course participation, quiz and assignment grading, and user support. In particular, inconveniences often occurred in sending confirmation emails after user registration, automatic quiz grading, and prompt responses to user inquiries. This invention aims to solve these problems and improve overall operational efficiency and user satisfaction.
[2344] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[2345] In this invention, the server includes means for receiving information entered by the user in a registration form and storing it in a database; means for sending a registration completion confirmation email to the user; means for receiving authentication information from the user and performing authentication by matching it with the information in the database; means for displaying a dashboard to users who have successfully authenticated; means for retrieving a list of available courses from the database and displaying it to the user; means for accepting registration for a course based on the course selected by the user and storing it in the database; means for retrieving course materials for the course registered by the user from the database and sending them to the terminal; means for receiving answers to quizzes and assignments from the user and storing them in the database; means for automatically scoring quizzes, saving the results and providing feedback to the user; means for receiving scoring results for assignments from instructors and providing feedback to the user; means for receiving user inquiries and notifying the support team; and means for sending feedback from the support team to the user. As a result, each of these processes is performed efficiently and quickly, which enables improved user satisfaction and reduced operating costs.
[2346] A "registration form" is an online input screen where users enter information such as their name, email address, and password.
[2347] A "database" is a management system for efficiently storing, searching, updating, and deleting large amounts of information.
[2348] A "confirmation email" is an email sent to inform a user that their registration has been successfully completed.
[2349] "Authentication information" refers to the combination of email address and password that a user uses to log in to the system.
[2350] A "dashboard" is an administrative screen provided to users who have successfully authenticated, and it serves as an interface for users to manage and access online courses.
[2351] A "course list" is a collection of information that displays a list of available courses.
[2352] "Educational materials" refer to educational content such as videos, texts, and slides that users use to take courses.
[2353] A "quiz" is a set of questions and answer format used to evaluate a user's learning progress.
[2354] A "task" is a problem to which users submit answers in order to deepen their own understanding.
[2355] "Automatic scoring" is a process in which a system automatically evaluates a user's quiz answers and calculates a score.
[2356] "Feedback" refers to the evaluation results and comments on the answers submitted by users.
[2357] "Inquiry" refers to a means for users to communicate problems or questions that arise while using the system to the support team.
[2358] A "support team" is a group of dedicated personnel responsible for responding to and resolving user inquiries.
[2359] "Session information" refers to data used to manage the access rights and operation history of a user who has successfully authenticated.
[2360] This invention relates to a system for operating online courses for acquiring professional skills, learning hobbies and languages, and more. This system can efficiently handle a wide range of processes, including user registration, authentication, course search and registration, course participation, quiz and assignment scoring, and user support. Specific embodiments for implementing this invention are described below.
[2361] User registration and authentication
[2362] New User Registration
[2363] 1. Device: The user accesses the system using a device (such as a PC or smartphone) and clicks the "New Registration" button.
[2364] Here, you enter the system's URL using a web browser.
[2365] 2. Device: Enter your name, email address, and password in the registration form and click the "Register" button.
[2366] As a specific example, enter "Yamada Taro" in the name field, "taro@example.com" in the email address field, and "password123" in the password field.
[2367] 3. Server: The server receives the form data and verifies the format of the entered information. If the format is correct, it saves the new user information to the database (e.g., MySQL, PostgreSQL).
[2368] 4. Server: Send a registration confirmation email to the user's email address. It will be sent via the mail server to "taro@example.com".
[2369] User Authentication
[2370] 1. Device: The user clicks the authentication link in the confirmation email they received to access the login form.
[2371] As a concrete example, open your mailbox and click on the link in the email.
[2372] 2. Device: Enter your email address and password, then click the "Login" button.
[2373] After being redirected to the login page, enter your email address "taro@example.com" and password "password123".
[2374] 3. Server: The server receives the entered email address and password and verifies them against the information in the database (e.g., MySQL, PostgreSQL). If authentication is successful, it generates session information and redirects the user to the dashboard.
[2375] Search and register for courses
[2376] Course Search
[2377] 1. Device: The user clicks the "Course List" button on the dashboard.
[2378] On the main dashboard screen, find and click the "Course List" button.
[2379] 2. Server: The server retrieves a list of available courses from the database and sends it to the terminal.
[2380] As an example, execute a database query to retrieve the course list in JSON format.
[2381] 3. Terminal: The terminal displays the acquired course list on the screen in HTML format.
[2382] Course registration
[2383] 1. Device: The user selects a course they are interested in and clicks the "Register" button.
[2384] For example, select the "Introduction to Python Programming" course.
[2385] 2. Server: The server stores the user ID and course ID in the database and registers the user to the course.
[2386] For example, save user ID "123" and course ID "456" to the registration table in the database.
[2387] 3. Server: Sends a registration confirmation message to the device.
[2388] Course enrollment
[2389] Course Access
[2390] 1. Device: Access the course page that the user has registered for.
[2391] Click "My Courses" from the side menu and select your registered course.
[2392] 2. Server: The server retrieves course materials (videos, texts, etc.) for the course accessed by the user from the database and sends them to the terminal.
[2393] 3. Device: The device on which the user views or browses course materials.
[2394] Submission of quizzes and assignments
[2395] 1. Device: The user answers quizzes and assignments within the course and clicks the "Submit" button.
[2396] Enter your answers on the quiz page or assignment submission form.
[2397] 2. Server: The server receives the user's response data and stores it in the database.
[2398] For example, save the response data along with the corresponding task ID.
[2399] 3. Server: In the case of quizzes, it performs automatic scoring, saves the results to a database, and provides feedback to the terminal.
[2400] 4. Server: For assignments, it sends a notification to the instructor and the grading results to the user.
[2401] User Support
[2402] 1. Device: The user clicks the "Support" button on the dashboard and accesses the contact form.
[2403] Find and click the "Support" button in the dashboard menu.
[2404] 2. Terminal: The user enters their inquiry and clicks the "Send" button.
[2405] For example, you could enter "I can't log in" and submit it.
[2406] 3. Server: The server receives the user's inquiry and notifies the support team.
[2407] The received information is saved to the database, and the support team is notified.
[2408] 4. Support Team: Prepare solutions based on the problem and send feedback to the user.
[2409] Specific example
[2410] For example, a user might be interested in the "Introduction to Python Programming" course and register by entering their name, email address, and password in the registration form. After email verification, they log in, view the course list from the dashboard, and register for their desired course. The user then watches video and text materials and completes quizzes and assignments. If a problem arises, the user can contact support through the support page and receive prompt assistance. In this way, an environment is in place that allows users to learn efficiently.
[2411] Examples of prompts to input into a generative AI model
[2412] "Please describe the entire process of an online course management system—including user registration, authentication, course search and registration, course participation, quiz and assignment grading, and user support—in natural language."
[2413] The flow of the specific processing in Example 1 will be explained using Figure 11.
[2414] User registration and authentication
[2415] New User Registration
[2416] Step 1:
[2417] Input: The user accesses the system and clicks the "New Registration" button.
[2418] Specific steps: Open a browser and enter the system's URL.
[2419] Output: The registration form is displayed.
[2420] Step 2:
[2421] Input: The user enters their name, email address, and password into the registration form and clicks the "Register" button.
[2422] Specific actions: Enter "Yamada Taro" in the name field, "taro@example.com" in the email address field, and "password123" in the password field.
[2423] Output: Form data is sent to the server.
[2424] Step 3:
[2425] Input: The server processes the form data it receives.
[2426] Specific operation: The system validates the format of the input information (name, email address, password) and saves it to the database if the format is correct.
[2427] Output: New user information is added to the database.
[2428] Step 4:
[2429] Input: The server sends a confirmation email to the user's email address upon successful registration.
[2430] Specific action: A confirmation email is sent to "taro@example.com" via the mail server.
[2431] Output: A confirmation email will be sent to the user's mailbox.
[2432] User Authentication
[2433] Step 1:
[2434] Input: The user clicks the verification link in the confirmation email.
[2435] Specific action: Open the email and click the verification link.
[2436] Output: The login form is displayed.
[2437] Step 2:
[2438] Input: The user enters their email address and password and clicks the "Login" button.
[2439] Specific action: Enter the email address "taro@example.com" and the password "password123".
[2440] Output: Authentication information is sent to the server.
[2441] Step 3:
[2442] Input: The server verifies the submitted authentication information (email address and password) against the information in the database.
[2443] Specific action: Check if it matches the registered information in the database.
[2444] Output: Upon successful authentication, a session ID is generated and the user is redirected to the dashboard.
[2445] Search and register for courses
[2446] Course Search
[2447] Step 1:
[2448] Input: The user clicks the "Course List" button on the dashboard.
[2449] Specific action: On the main screen of the dashboard, find and click the "Course List" button.
[2450] Output: The course list page is displayed.
[2451] Step 2:
[2452] Input: The server retrieves a list of available courses from the database.
[2453] Specific operation: Execute a database query to retrieve the course list and send it to the terminal in JSON format.
[2454] Output: Course list data is sent to the terminal.
[2455] Step 3:
[2456] Input: Displays the course list received by the device on the screen.
[2457] Specific operation: Renders a course list in JSON format into HTML.
[2458] Output: Available courses are displayed on the user's screen.
[2459] Course registration
[2460] Step 1:
[2461] Input: The user selects a course they are intere...
Claims
1. A means of receiving information entered by a user in a registration form and saving it to a database, A means of receiving authentication information from a user and performing authentication by comparing it with information in a database, A means of displaying the dashboard to users who have successfully authenticated, A means of retrieving a list of available courses from a database and displaying it to the user, A means of accepting registrations for a course based on the course selected by the user and storing the information in a database, A means of retrieving course materials for a user-registered course from a database and sending them to the device, A means of receiving answers to quizzes and assignments from users and saving them to a database, A method for automatically scoring quizzes, saving the results, and providing feedback to the user, A means of receiving the graded assignment results from the instructor and providing feedback to the user, A means of receiving user inquiries and notifying the support team, A means of sending feedback from the support team to users. A system that includes this.
2. The system according to claim 1, further comprising means for automatically scoring quizzes.
3. The system according to claim 1, further comprising means for periodically saving user progress information to a database.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A