System
The learning support system addresses the inefficiencies of conventional systems by analyzing text problems, providing tailored hints, and generating advanced questions, enhancing learning efficiency and fostering independent study habits.
Patent Information
- Application Number
- JP2024122690
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-29
- Publication Date
- 2026-02-10
AI Technical Summary
Conventional learning support systems fail to provide sufficient support for students, hinder independent study habits, and lack the ability to offer advanced problems tailored to students' proficiency levels, leading to low retention and inefficient learning.
A learning support system that receives images of text problems, analyzes them to determine type and difficulty, provides step-by-step hints, automatically generates advanced questions, and visualizes learning results, allowing students to work at their own pace and receive feedback.
Enhances learning efficiency by enabling students to tackle problems appropriate to their level, fosters independent study habits, and provides timely feedback, improving retention and reducing the burden on educators.
Smart Images

Figure 2026021008000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Conventional learning support systems have had the problem that parents and teachers are unable to provide sufficient support for students' learning. They also have had the problem of making it difficult for students to develop independent study habits, resulting in low retention of what they learn. Furthermore, they lacked the means to provide advanced problems that correspond to students' levels of proficiency, resulting in a decrease in learning efficiency. The present invention aims to provide a learning support system that solves these problems. [Means for solving the problem]
[0005] The learning support system of the present invention includes a means for receiving an image of a text problem captured by a user, a means for analyzing the received image and extracting text information, a means for determining the type and difficulty of the problem from the extracted text information and providing hints in stages, a means for automatically generating advanced problems based on the student's answers, and a means for visualizing the learning results and providing feedback. This system provides hints in stages, encouraging students to independently tackle problem solving. Furthermore, by providing different hints according to the progress of the answer, students' understanding is deepened. Furthermore, by automatically generating advanced problems, the degree to which students retain the learning content can be improved. This reduces the burden on parents and teachers and helps establish independent learning habits among students.
[0006] The term "user" is a concept that refers to students or pupils who use the learning support system.
[0007] "Text questions" refer to questions that contain sentences or formulas in subjects such as mathematics, Japanese, social studies, science, and English.
[0008] "Image" refers to photographic data of the text questions taken by the user.
[0009] "Receiving" refers to the process in which a user uses a terminal to send an image to a server, and the server then retrieves the image.
[0010] "Analysis" refers to the process performed to extract text information from the received image.
[0011] "Text information" refers to text data obtained from the analyzed image.
[0012] "Type of question" refers to a category that classifies the text question according to which subject it belongs to and what format it is.
[0013] "Difficulty" refers to the level of skill or knowledge required to solve a text problem, and is an indicator of how easy or difficult a problem is.
[0014] "Hints" refer to a method of providing step-by-step information or clues that are helpful when a user solves a text problem.
[0015] The term "student" refers to a student or learner who uses the learning support system, and is a concept synonymous with "user."
[0016] "Answer" refers to the result of a student solving a textbook problem.
[0017] "Assessment" refers to the process of evaluating whether the answers submitted by students are correct.
[0018] "Advanced questions" refer to additional learning questions provided based on students' level of proficiency and understanding.
[0019] "Automatic generation" refers to the process of automatically generating advanced questions using technology such as AI.
[0020] "Learning results" refers to data including the problems students have worked on, their answers, and their progress.
[0021] "Visualization" refers to the process of visually representing learning results in graphs and charts.
[0022] "Feedback" refers to a means of providing an evaluation and advice on students' learning status based on visualized learning results. [Brief explanation of the drawings]
[0023] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2]1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0024] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0025] First, the terms used in the following description will be explained.
[0026] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0027] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0028] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0029] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0030] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0031] [First embodiment]
[0032] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0033] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0034] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0035] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0036] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0037] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0038] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0039] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0040] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0041] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0042] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0043] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0044] The present invention begins with a user taking a photo of a text question and uploading the photo to a server. The terminal refers to a device with an image capture function, such as a smartphone or tablet. The image of the text question taken by the user is sent to the server via the terminal.
[0045] The server analyzes the received image and extracts text information using OCR (optical character recognition) technology. From this text information, it determines the type and difficulty of the question and provides step-by-step hints to help the user arrive at the answer. The server manages the content and timing of hints, providing appropriate assistance as the student works to solve the problem.
[0046] The system allows users to solve problems based on the provided hints. When a user submits an answer, the answer data is sent to the server via the terminal. The server receives this answer data and determines whether it is correct or not.
[0047] If the answer is correct, the server automatically generates further questions to further the student's proficiency. These questions are adjusted based on the difficulty of the problem the user just solved. For example, if the user correctly answered an easy question, an intermediate-difficulty question will be presented next.
[0048] The server records the problems the user has worked on and their grades in a database, and visualizes the learning results. The visualized data is fed back to the user in the form of graphs and charts, allowing the user to check their progress and plan their future study. This information can also be viewed by teachers and parents, allowing them to understand the student's learning situation.
[0049] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. The server then provides step-by-step hints such as "consider both sides of the equation and find x." If the user submits the answer "x = 2" and it is determined to be correct, the next step is to automatically generate an advanced problem such as "3x - 5 = 10," which is of intermediate difficulty.
[0050] This allows users to tackle problems that are appropriate for their level of proficiency, gradually improving their academic ability. Through this process, students will be able to establish independent study habits and improve their learning efficiency.
[0051] The processing flow will be explained below.
[0052] Step 1:
[0053] A user takes a photo of a text problem with a smartphone or tablet. For example, a user takes a photo of their math homework.
[0054] Step 2:
[0055] The images taken by the device are uploaded to the server via a dedicated application installed on the device.
[0056] Step 3:
[0057] The server receives the uploaded images and stores them for analysis.
[0058] Step 4:
[0059] The server analyzes the image and uses OCR technology to extract text information from the image, at which point the characters in the image are captured as digital data.
[0060] Step 5:
[0061] The server analyzes the extracted text information and determines the type of question (e.g., mathematics, Japanese, etc.) and difficulty level (e.g., beginner, intermediate, advanced).
[0062] Step 6:
[0063] Based on the judgment, the server generates step-by-step hints to help solve the problem. For example, for beginner-level problems, it provides hints such as "First, check both sides of the equation."
[0064] Step 7:
[0065] The user works on the problem using the displayed hints, thinks of an answer, and enters it into the device.
[0066] Step 8:
[0067] The device sends the user's answer to the server, which receives the answer and determines whether it is correct.
[0068] Step 9:
[0069] The server automatically generates advanced questions based on the student's level of proficiency based on the results of the answers. For example, if the answer to a beginner's level question is correct, an intermediate level question will be generated next.
[0070] Step 10:
[0071] The server presents the user with advanced problems, allowing the user to tackle new problems.
[0072] Step 11:
[0073] The server records the user's answer history and learning results in a database, which is later used to visualize the learning results.
[0074] Step 12:
[0075] The server analyzes the recorded data and visualizes the learning results using graphs and charts, which are then displayed as feedback on the device.
[0076] Step 13:
[0077] Users, teachers, and parents can view visualized learning results, which allows them to understand learning progress and create future learning plans.
[0078] Example 1
[0079] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0080] In today's educational environment, it is important for students to learn effectively at their own pace. However, with traditional paper-based and one-way online learning materials, it is difficult to provide appropriate feedback and hints based on students' understanding and progress, which reduces the efficiency of independent learning. Furthermore, managing grades after students submit their answers and automatically generating the next learning assignment are cumbersome, making it difficult to provide consistent learning support.
[0081] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0082] In this invention, the server includes means for receiving images of text questions taken by the user, means for analyzing the received images and extracting text information, means for analyzing the extracted text information using natural language processing technology, means for generating appropriate hints using a generative AI model, means for automatically generating advanced questions based on the student's answers, and means for visualizing learning results and providing feedback. This allows the user to study at their own pace, and hints and the next learning task are automatically provided according to the user's level of understanding, enabling effective and efficient learning.
[0083] "User" refers to a person who uses the system to take photos of text questions and submit answers.
[0084] "Device" refers to a device, such as a smartphone or tablet, that a user uses to take a photo of a text question and send the image to a server.
[0085] The term "server" refers to a computer system that receives images of text questions sent by users, analyzes them, and provides hints and advanced questions.
[0086] "Text questions" refer to learning materials consisting of sentences and formulas written on paper or a display.
[0087] "Means for receiving images" refers to a communication function that enables the server to receive image data sent from the terminal.
[0088] "Means for extracting text information" refers to the function of extracting text data from an image using OCR technology.
[0089] "Natural language processing technology" refers to technology for analyzing text data and semantically understanding its content.
[0090] A "generative AI model" refers to a system that uses artificial intelligence to generate hints and next questions that are appropriate for the user.
[0091] "Means for providing hints" refers to a function that presents advice and clues for solving a problem to the user in stages.
[0092] "Means for automatically generating advanced questions" refers to the function by which the system automatically creates the next learning task based on the user's current level of understanding.
[0093] "Means for visualizing learning results" refers to the function of displaying a user's learning progress and grades as diagrams or charts.
[0094] The present invention begins with the user taking a photo of the text question and uploading it to a server. First, the user takes a photo of the text question using a device such as a smartphone or tablet. These devices are equipped with an image capture function, and the captured image is sent to the server via the Internet.
[0095] The server analyzes the received image and extracts text information using OCR (Optical Character Recognition) technology. Specifically, Tesseract is used for this OCR technology. Using Tesseract makes it possible to extract text information from images with high accuracy.
[0096] The extracted text information is then analyzed using natural language processing techniques, specifically using the Python libraries spaCy and nltk, to determine the type of question (e.g., mathematical equation, grammar question, etc.) and its difficulty level.
[0097] Based on the determined information, the server uses a generative AI model (e.g., OpenAI's GPT-3) to generate appropriate hints, which are then provided to the user in stages.
[0098] For example, if a user takes a photo of a math equation problem and uploads it, the server extracts the text information "2x + 3 = 7" from the image, analyzes it, and recognizes that it is an equation problem. It then inputs the following prompt to the generative AI model:
[0099] "I've been given a math equation problem. If 2x + 3 = 7, can you give me a hint on how to solve for x?"
[0100] Based on the input prompt, the generative AI model generates hints such as:
[0101] "Examine both sides of the equation and find x. For example, let's start by subtracting 3 from both sides."
[0102] The user solves the problem using the provided hints and submits the answer to the server via their device. The server receives this answer data and compares it with an internal answer key to determine whether the answer is correct or incorrect. If the answer is correct, the server automatically generates an advanced problem according to the user's level of proficiency. For example, if the user correctly answers the beginner's problem "2x + 3 = 7", the server generates an intermediate problem "3x - 5 = 10".
[0103] The server stores the user's learning results in a database (MySQL) and visualizes them as graphs and charts using Python libraries such as matplotlib and Plotly. Users can check their progress through this visualized data and plan their next study. Teachers and parents can also refer to this data to understand the student's learning situation.
[0104] This series of processes allows users to study at their own pace, and hints and next learning tasks are automatically provided based on their level of understanding, enabling effective and efficient learning.
[0105] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0106] Step 1:
[0107] A user takes a photo of the text problem using a smartphone or tablet.
[0108] Specific actions: The user opens the photo app, holds the camera so that the text question is visible, and presses the shutter button to take a photo of the question.
[0109] Input: Paper or screen with text questions written on it
[0110] Output: Image file of text question
[0111] Step 2:
[0112] The device sends the photograph to the server.
[0113] Specific operation: Select the captured image file and press the upload button to send the image to the server. The image data is sent to the server using an HTTP POST request.
[0114] Input: Image file for text questions
[0115] Output: Image data uploaded to the server
[0116] Step 3:
[0117] The server analyzes the received image and performs OCR processing.
[0118] Specific operation: The server temporarily stores the received image file and extracts text information from the image using Tesseract OCR.
[0119] Input: Uploaded image data
[0120] Output: Extracted text information
[0121] Step 4:
[0122] The server analyzes the text information using natural language processing technology to determine the type and difficulty of the question.
[0123] Specific operation: Using the extracted text information, analysis is performed using Python libraries (spaCy and nltk) to determine the type of problem (e.g., mathematical equation) and difficulty level.
[0124] Input: Extracted text information
[0125] Output: Question type and difficulty level
[0126] Step 5:
[0127] The server uses the generative AI model to provide appropriate hints to the user.
[0128] Specific operation: Based on the type and difficulty of the problem determined, a prompt sentence is sent to the generative AI model to generate a hint.
[0129] Input: Question type and difficulty level, prompt
[0130] Output: Generated hints
[0131] Step 6:
[0132] The user creates an answer based on the hints provided by the server and submits the answer to the server.
[0133] Specific actions: The user checks the provided hints, writes down the answer on paper or a digital form, and submits it to the server.
[0134] Input: Generated hint, user's answer
[0135] Output: Answer data submitted to the server
[0136] Step 7:
[0137] The server judges the answer and automatically generates the next question.
[0138] Specific operation: The submitted answer is compared with an internal database of correct answers to determine whether it is correct or incorrect. If the answer is correct, the next question is automatically generated according to the difficulty level.
[0139] Input: User's answer data
[0140] Output: result and next question
[0141] Step 8:
[0142] The server records the user's learning performance and visualizes the learning results.
[0143] Specific operation: User answers and scores are stored in a database and displayed as graphs and charts using Python's matplotlib and Plotly.
[0144] Input: Assessment result, next question, learning performance data
[0145] Output: Visualized feedback of the learning results
[0146] (Application example 1)
[0147] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0148] In modern educational and industrial systems, it is extremely important to efficiently analyze text and work procedure information captured by users and provide appropriate feedback and hints based on the analysis results. However, previous systems have had issues with low accuracy in analyzing text and procedure information, making it difficult to provide appropriate feedback in real time. In particular, it has been difficult for learning systems to efficiently generate advanced problems based on the user's level of proficiency, and to provide timely feedback on the progress of factory work and how to correct it. New technologies are needed to solve these issues.
[0149] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0150] In this invention, the server includes means for receiving an image of a text problem photographed by a user, means for analyzing the received image and extracting character information, means for determining the type and difficulty of the problem from the extracted character information and providing hints in stages, means for automatically generating advanced questions based on the student's answers, means for visualizing the learning results and providing feedback, means for receiving an image of work procedure information photographed by a user, means for analyzing the received image and extracting the procedure information, and means for providing feedback on the progress of the work and correction methods from the extracted procedure information. This makes it possible to analyze the text and work procedure information photographed by the user with high accuracy and provide appropriate feedback and hints in real time.
[0151] A "user" is an individual who uses the system to take and upload images of text questions and work procedure information.
[0152] The "image receiving means" is a means by which the server receives images of text questions and work procedure information taken by the user.
[0153] The "image analysis means" is a means for extracting text information and procedure information from the received image.
[0154] The "character information extraction means" is a means of recognizing characters from an image using OCR technology and obtaining text data.
[0155] The "question type determination means" is a means for determining the type and difficulty of a question based on the extracted character information.
[0156] The "hint providing means" is a means for providing hints to the user in stages according to the type and difficulty of the problem that has been determined.
[0157] The "advanced question generation means" is a means for automatically generating new questions based on students' answers.
[0158] The "learning result visualization means" is a means for displaying the progress and results of learning to the user in the form of graphs or charts.
[0159] "Work procedure information" is information that describes the procedures and steps in work at a factory or the like.
[0160] The "work progress status determination means" is a means for evaluating the current work progress status based on the extracted procedure information.
[0161] The "modification method feedback means" is a means for presenting a modification method to the user as needed based on the progress of the work.
[0162] "Server" refers to the central computer system that receives, analyzes, and processes image data uploaded by users.
[0163] This invention is a system that receives images of text problems and work procedure information taken by the user, analyzes them, and provides appropriate feedback. The main components of this system are as follows:
[0164] 1. User Device
[0165] The user terminal is a device with an image capture function, such as a smartphone or tablet. The user uses this terminal to take images of text questions and work procedure information and upload them to the server.
[0166] 2. Server
[0167] The server is the central computer system responsible for analyzing the received images and processing the data. The server has the following functions:
[0168] Image receiving means: Receives image data uploaded from the user terminal.
[0169] Image analysis method: Extract text and procedural information from images using OCR (such as Tesseract OCR) technology.
[0170] Problem type determination means: Determine the type and difficulty of the problem based on the extracted text information. For example, determine whether it is a mathematical equation and its difficulty.
[0171] Hint provision method: Provides hints to the user step by step, leading them to the answer.
[0172] Advanced question generation method: New questions are automatically generated based on the students' answers, and the next learning content is presented.
[0173] Learning result visualization means: Visualize learning progress and results to users and display them in graphs and charts.
[0174] Work progress determination means: Evaluate the current work progress based on the extracted procedure information.
[0175] Correction method feedback means: Based on the progress of the work, feedback on correction methods will be provided as necessary.
[0176] Specific examples
[0177] For example, if a user takes a photo of a process manual that reads "Step 1: Start machine" and uploads it, the server will analyze this text using OCR technology and return feedback such as "Step 1 complete, next step: Step 2: Calibrate sensors." This system allows users to proceed to the next process efficiently and reduces work errors.
[0178] An example of an input prompt for a generative AI model would be:
[0179] Please upload an image and analyze the contents of the factory work procedure manual or process chart. The image contains the text "Step 1: Start machine." Please provide the next work procedure based on this content.
[0180] This enables the server to analyze images taken by users with high accuracy and provide appropriate feedback in real time. This mechanism realizes efficient support for both learning systems and industrial systems.
[0181] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0182] Step 1:
[0183] The user device takes a picture and generates an image of the text problem or work procedure information. At this time, the input is the image data taken by the camera, and the output is an image file.
[0184] Step 2:
[0185] The user device uploads the image taken to the server. The input is the image file generated in step 1, and the output is the image data sent to the server.
[0186] Step 3:
[0187] The server receives the uploaded image. The input is the image data sent from the user's device, and the output is the image file stored in the server.
[0188] Step 4:
[0189] The server analyzes the image received using OCR technology and extracts text information. Specifically, it uses software such as Tesseract OCR. The input is an image file stored on the server, and the output is text data with text information.
[0190] Step 5:
[0191] The server determines the type and difficulty of the problem from the extracted text information. For example, it evaluates whether the text information is a mathematical equation and its difficulty. A generative AI model is used for this process. The input is text data of the text information, and the output is the type and difficulty of the problem.
[0192] Step 6:
[0193] The server provides hints to the user in stages based on the type and difficulty of the problem. Specifically, it generates and notifies different hints according to the user's progress. The input is the type and difficulty of the problem, and the output is text data of the hints.
[0194] Step 7:
[0195] The user answers the questions based on the hints and sends the answers to the server. The input is the user's answer data, and the output is the answer data sent to the server.
[0196] Step 8:
[0197] The server receives the user's answer and determines whether it is correct. Specifically, it analyzes the answer data and compares it with the correct answer to the question. The input is the user's answer data, and the output is the result of determining whether the answer is correct.
[0198] Step 9:
[0199] If the server answers correctly, it automatically generates advanced questions that match the user's level of proficiency. Specifically, it adjusts the questions by taking into account the user's past performance. The input is the result of the judgment of whether the answer was correct or not and past performance data, and the output is text data of the new advanced questions.
[0200] Step 10:
[0201] The server visualizes the user's learning results and provides feedback. Specifically, it generates graphs and charts and displays them to the user. The input is the user's past performance data, and the output is visualized learning result data.
[0202] Step 11:
[0203] The server analyzes the image of the work procedure information received from the user terminal and extracts the procedure information. It uses OCR technology to extract text information from the image. The input is the received image file, and the output is the text data of the procedure information.
[0204] Step 12:
[0205] The server evaluates the current progress of work based on the procedure information extracted. Specifically, it compares it with historical data of the work to determine the progress. The input is text data of the procedure information, and the output is the evaluation result of the work progress.
[0206] Step 13:
[0207] The server provides feedback to the user on how to correct the problem as needed based on the progress of the work. Specifically, it generates appropriate correction procedures and notifies the user. The input is the evaluation result of the progress of the work, and the output is text data of the correction procedures.
[0208] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0209] The present invention begins with a user taking a photo of a text question and uploading it to a server. The terminal is a device with an image capture function, such as a smartphone or tablet. The image of the text question taken by the user is sent to the server via the terminal.
[0210] The server analyzes the received image and extracts text information using OCR (optical character recognition) technology. From this text information, it determines the type and difficulty of the question and provides step-by-step hints to help the user arrive at the answer. The server manages the content and timing of hints, providing appropriate assistance as the student works to solve the problem.
[0211] Furthermore, the present invention incorporates an emotion engine. The emotion engine uses the device's camera and microphone to capture the user's facial expressions and voice, and analyzes the data to recognize the user's emotions. For example, if the user is confused about a test, the emotion engine can recognize the user's facial expression data and provide more detailed hints than before.
[0212] The user solves the problem based on the provided hints. When the user submits the answer, the answer data is sent to the server via the terminal. The server receives this answer data and determines whether it is correct or not.
[0213] If the answer is correct, the server automatically generates follow-up questions to further the student's proficiency. These follow-up questions are adjusted in difficulty depending on the problem the user just solved. For example, if the user correctly answered an easy problem, an intermediate-difficulty problem will be presented next.
[0214] The server records the problems the user has worked on and their grades in a database, and visualizes the learning results. The visualized data is fed back to the user in the form of graphs and charts, allowing the user to check their progress and plan their future study. This information can also be viewed by teachers and parents, allowing them to understand the student's learning situation.
[0215] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. It then provides a step-by-step hint: "Consider both sides of the equation and find x." If the emotion engine analyzes the user's facial expression and determines that the user is confused, it provides additional detailed hints. If the user submits the answer "x = 2" and it is determined to be correct, the next intermediate-difficulty problem, "3x - 5 = 10," is automatically generated.
[0216] The emotion engine also records users' emotional data along with their learning outcomes and displays changes in their emotions when visualizing their learning results, allowing users, teachers, and parents to see changes in their emotions during learning and more appropriately adjust their learning plans and support measures.
[0217] This process allows users to tackle problems that correspond to their own level of proficiency and gradually improve their academic ability. Furthermore, emotional feedback can be provided to provide a better learning experience.
[0218] The processing flow will be explained below.
[0219] Step 1:
[0220] A user takes a photo of a text problem with a smartphone or tablet. For example, a user takes a photo of their math homework.
[0221] Step 2:
[0222] The images taken by the device are uploaded to the server via a dedicated application installed on the device.
[0223] Step 3:
[0224] The server receives the uploaded images and stores them for analysis.
[0225] Step 4:
[0226] The server analyzes the image and uses OCR technology to extract text information from the image, at which point the characters in the image are captured as digital data.
[0227] Step 5:
[0228] The server analyzes the extracted text information and determines the type of question (e.g., mathematics, Japanese, etc.) and difficulty level (e.g., beginner, intermediate, advanced).
[0229] Step 6:
[0230] Based on the judgment, the server generates step-by-step hints to help solve the problem. For example, for beginner-level problems, it provides hints such as "First, check both sides of the equation."
[0231] Step 7:
[0232] The user works on the problem using the displayed hints, thinks of an answer, and enters it into the device.
[0233] Step 8:
[0234] The device sends the user's answer to the server, which receives the answer and determines whether it is correct.
[0235] Step 9:
[0236] The server automatically generates advanced questions based on the user's answers, depending on the student's level of proficiency. For example, if the student correctly answers a simple equation, an equation of intermediate difficulty will be generated next.
[0237] Step 10:
[0238] The server presents the user with advanced problems, allowing the user to tackle new problems.
[0239] Step 11:
[0240] The server records the user's answer history and learning results in a database, which is later used to visualize the learning results.
[0241] Step 12:
[0242] The server analyzes the recorded data and visualizes the learning results using graphs and charts, which are then fed back to the user via their device.
[0243] Step 13:
[0244] Users, teachers, and parents can view visualized learning results, which allows them to understand learning progress and plan future learning.
[0245] Step 14:
[0246] The device uses a camera and microphone to capture the user's facial expressions and voice, and the emotion engine analyzes this data in real time to recognize the user's emotions.
[0247] Step 15:
[0248] The emotion engine sends the user's emotion data to the server. For example, if the user is confused, the data is sent to the server.
[0249] Step 16:
[0250] The server adjusts the content and timing of hints it provides based on the user's emotional data. For example, if it detects that the user is confused, it provides more detailed hints.
[0251] Step 17:
[0252] The server records the user's emotional data along with their learning outcomes, and displays changes in their emotions when visualizing their learning results, allowing users to understand changes in their emotions during the learning process.
[0253] Step 18:
[0254] Users can check the learning results and feedback on emotional data and adjust their learning plans for the next time. Teachers and parents can also refer to the emotional data and provide appropriate learning support.
[0255] Through this series of steps, users can tackle problems that are appropriate for their level of proficiency, receive emotional feedback, and gradually improve their academic ability.
[0256] Example 2
[0257] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0258] Conventional text problem-solving systems lack appropriate feedback on the user's progress and proficiency. Furthermore, they do not provide learning support that takes into account the user's emotional state, which can result in poor motivation to learn. Furthermore, if step-by-step hints are not provided effectively, it is difficult to support the user's effective learning. Therefore, there is a need for a system that provides step-by-step and appropriate learning support based on the user's progress and emotional state.
[0259] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0260] In this invention, the server includes means for receiving images of text questions taken by the user, means for analyzing the received images and extracting text information, means for determining the type and difficulty of the question from the extracted text information and providing hints in stages, means for receiving the user's facial expression and voice data and analyzing their emotions, means for providing detailed hints according to the user's answering progress and emotions, means for automatically generating advanced questions based on the student's answers, and means for visualizing the learning results and providing feedback. This enables gradual and appropriate learning support according to the user's progress and emotional state.
[0261] "User" refers to a learner who uses the system to solve text problems.
[0262] "Text questions" refer to questions presented in text format in subjects such as mathematics and Japanese.
[0263] "Means for receiving images" refers to a device or software that has the function of transmitting images of text questions taken by a user to a server and receiving them.
[0264] "Means for analyzing images and extracting text information" refers to devices or software that have the function of extracting text information from received images using OCR technology.
[0265] "Means for determining the type and difficulty of a question and providing hints in stages" refers to a device or software that has the function of analyzing extracted text information to determine the type and difficulty of a question and providing the user with information that will serve as clues to the answer in stages.
[0266] "Means for receiving facial and voice data and analyzing emotions" refers to devices or software that have the function of receiving a user's facial and voice data from a terminal, analyzing it, and determining the user's emotional state.
[0267] "Means for providing detailed hints according to the user's progress in solving the problem and their emotions" refers to devices or software that have the function of providing more detailed clues to the answer at an appropriate time based on the user's progress in solving the problem and their emotional state.
[0268] "Means for automatically generating advanced questions" refers to devices or software that have the function of dynamically generating the next advanced question to be tackled based on the user's answer results and level of proficiency.
[0269] "Means for visualizing learning results and providing feedback" refers to devices or software that have the function of recording a user's learning history and grades in a database and presenting them to the user in a visual format such as graphs or charts.
[0270] The present invention begins with a user taking a photo of a text question and uploading it to a server. The terminal is a device with an image capture function, such as a smartphone or tablet, that is responsible for taking and sending the image. The image of the text question taken by the user is sent to the server through the terminal.
[0271] The server analyzes the received image and extracts text using OCR (Optical Character Recognition) technology. The server then uses an analysis algorithm to determine the type and difficulty of the question from the text. Specifically, software such as Tesseract OCR is often used.
[0272] Hints are provided step by step to help the user arrive at the answer. The server manages the content and timing of the hints provided, providing appropriate assistance when the user solves the problem. During this process, the server monitors the user's solution status and adjusts the level of detail of the hints according to the user's progress.
[0273] Furthermore, the present invention incorporates an emotion engine. The emotion engine uses the device's camera and microphone to capture the user's facial expressions and voice data, and analyzes that data to recognize the user's emotions. Technologies such as DeepFace and Azure Face API are used for emotion analysis. For example, if a user is struggling to solve a problem, the emotion engine can recognize their facial expression data and provide more detailed hints than before.
[0274] When a user submits an answer, the answer data is sent to the server via the terminal. The server receives this answer data and determines whether it is correct. If the answer is correct, the server automatically generates advanced questions to further deepen the user's proficiency. The advanced questions are adjusted according to the difficulty of the problem the user solved. For example, if the user answered an easy question correctly, an intermediate difficulty question will be presented next.
[0275] The server records the problems the user has worked on and their grades in a database, and visualizes the learning results. The visualized data is fed back to the user in the form of graphs and charts, allowing the user to check their progress and make study plans for the next time. This information can also be viewed by teachers and parents, allowing them to understand the user's learning situation.
[0276] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. It then provides a step-by-step hint: "Consider both sides of the equation and find x." If the emotion engine analyzes the user's facial expression and determines that the user is confused, it provides additional detailed hints. If the user submits the answer "x = 2" and it is determined to be correct, the next intermediate-difficulty problem, "3x - 5 = 10," is automatically generated.
[0277] The emotion engine also records users' emotional data along with their learning outcomes and displays changes in their emotions when visualizing their learning results, allowing users, teachers, and parents to see changes in their emotions during learning and more appropriately adjust their learning plans and support measures.
[0278] An example prompt using a generative AI model is, "Please describe the process for extracting textual information from a photographed image of a mathematical equation using OCR technology, determining the type and difficulty of the problem, and providing detailed hints if the user is stumped."
[0279] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0280] Step 1:
[0281] The user takes a picture of the text question
[0282] Description: The user takes a photo of the text problem using a device with a camera, such as a smartphone or tablet. This image data is saved in JPEG or PNG format.
[0283] Input: Physical paper of text question
[0284] Output: Image file saved on the device (JPEG or PNG format)
[0285] Specific behavior: A user opens the camera app on their smartphone and takes a picture of the mathematical equation "2x + 3 = 7".
[0286] Step 2:
[0287] Uploading images from the device to the server
[0288] Description: The device sends the captured image file to the server. The image file is uploaded to the server using an HTTP request.
[0289] Input: Image file saved on the device
[0290] Output: Image file sent to the server
[0291] Specific operation: The device sends the captured image to the server using an HTTP POST request.
[0292] Step 3:
[0293] The server receives the image and extracts the text information using OCR technology.
[0294] Description: The server analyzes the received image and extracts text information using software such as Tesseract OCR.
[0295] Input: Image file sent to the server
[0296] Output: Text data extracted from the image
[0297] Specific operation: The server reads the received image file and uses Tesseract OCR to extract the text information "2x + 3 = 7".
[0298] Step 4:
[0299] The server determines the type and difficulty of the question from the text information.
[0300] Description: The server analyzes the extracted text and determines the type and difficulty of the problem. Using an algorithm, it determines that the problem is an equation and that the difficulty level is beginner level.
[0301] Input: Text data extracted from an image
[0302] Output: Question type and difficulty information
[0303] Specific behavior: The server analyzes the extracted text "2x + 3 = 7", classifies it as an equation problem, and determines the difficulty level as beginner.
[0304] Step 5:
[0305] The server provides the user with step-by-step hints
[0306] Description: The server generates hints step by step based on the type and difficulty of the question to help the user arrive at the answer and provides them to the user.
[0307] Input: Question type and difficulty information
[0308] Output: Hints provided step by step
[0309] Specific operation: The server generates a basic hint, such as "consider both sides of the equation and find x," and sends it to the terminal.
[0310] Step 6:
[0311] Send answer data from the device to the server
[0312] Description: The user enters answer data and the terminal sends it to the server.
[0313] Input: Answer data entered by the user into the terminal
[0314] Output: Answer data sent to the server
[0315] Specific operation: The user enters the answer "x=2" through the terminal and sends it to the server.
[0316] Step 7:
[0317] The server receives the answer data and determines whether it is correct or not.
[0318] Description: The server receives the answer data submitted by the user and judges whether the answer is correct or not. It uses a judgment algorithm to determine whether the answer is correct.
[0319] Input: Answer data sent to the server
[0320] Output: Correctness of answers
[0321] Specific operation: The server analyzes the answer "x=2" it receives and determines that it is correct.
[0322] Step 8:
[0323] The server automatically generates advanced questions
[0324] Description: The server automatically generates new advanced questions based on the user's correct answers. The generation algorithm adjusts the difficulty of the questions.
[0325] Input: Correct or incorrect answer
[0326] Output: New development problem
[0327] Specific operation: After the server determines that the answer "x = 2" is correct, it automatically generates the intermediate difficulty problem "3x - 5 = 10" and provides it to the user.
[0328] Step 9:
[0329] The server records and visualizes the user's learning results.
[0330] Description: The server records the problems the user has worked on and their grades in a database, and visualizes the learning results using graphs and charts.
[0331] Input: New development questions and performance data
[0332] Output: Visualized learning results
[0333] Specific operation: The server stores the user's question answer history in a database, converts the learning results into a chart, and provides feedback to the user.
[0334] (Application example 2)
[0335] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0336] Conventional learning support systems provide hints to help users arrive at the answer, but they lack detailed responses based on the user's emotions and learning progress. Furthermore, the accuracy of extracting appropriate text information from images of questions taken by the user and determining the type and difficulty of the questions is limited. Furthermore, there are insufficient means to visualize learning progress and emotional changes and provide comprehensive feedback. Therefore, flexible learning support tailored to individual users is difficult to provide.
[0337] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0338] In this invention, the server includes means for receiving images of text questions taken by the user, means for analyzing the received images and extracting text information, means for determining the type and difficulty of the question from the extracted text information and providing hints in stages, means for automatically generating advanced questions based on the student's answers, means for visualizing the learning results and providing feedback, means for capturing the user's facial expressions and voice and analyzing their emotions, and means for adjusting the hint content based on the emotion data. This enables flexible and effective learning support according to the user's learning progress and emotions.
[0339] "User" refers to an individual who uses the system to study materials and answer questions.
[0340] "Image of text question" refers to an image file of paper or digital media containing the question text or question photographed by the user.
[0341] "Means for receiving images" refers to a function for transmitting image files taken by the user to a server and storing them.
[0342] "Means for extracting text information" refers to the function of analyzing and extracting text data from images using OCR technology.
[0343] "Means for determining the type and difficulty of a question" refers to a function that analyzes the extracted character information and automatically determines the category of the question and its difficulty.
[0344] "Means for providing hints in stages" refers to a function that gradually and appropriately presents information that helps the user solve the problem according to the user's progress in solving the problem and their learning situation.
[0345] "Means for automatically generating advanced questions" refers to a function that dynamically generates new questions as the next learning step based on the user's answers and level of proficiency.
[0346] "Means for visualizing learning results and providing feedback" refers to a function that visually displays the user's learning progress and grades in graphs, charts, etc., and provides feedback on learning outcomes and assignments.
[0347] "Means for capturing the user's facial expressions and voice and analyzing their emotions" refers to a function that uses a camera and microphone to obtain the user's facial expressions and voice data and analyzes the user's emotions based on that data.
[0348] "Means for adjusting hint content based on emotional data" refers to a function for appropriately adjusting the content and level of detail of the hint provided based on the analyzed emotional data of the user.
[0349] To implement this invention, a user uses a device with an image capture function, such as a smartphone or tablet. The user first takes a picture of the text problem containing the problem statement and question, and then uploads the image from the device to a server. The server analyzes the received image and extracts text information using OCR (optical character recognition) technology.
[0350] The server uses OpenCV and PyTesseract to analyze text data from images. It also uses Google Cloud Vision API for advanced character recognition. However, this function relies on the server's computing resources, so high-speed and accurate processing is required.
[0351] The extracted text information is used to determine the type and difficulty of the question using an AI model. At this time, hints are provided to the user in stages based on the question category and difficulty. Hints are provided according to the user's answer progress and learning situation. The server also has the function of automatically generating new advanced questions based on the student's answer results. This uses a generative AI model, and the next question is appropriately adjusted according to the difficulty of the problem the user has solved.
[0352] The device's camera and microphone are also used to capture the user's facial expressions and voice data. This data is sent to the server, where the emotion engine analyzes the user's emotions. Based on the analyzed emotion data, the server adjusts the content and level of detail of the hints it provides to help the user arrive at the answer.
[0353] The Google Cloud Natural Language API is used to visualize learning results, which visually displays the user's learning progress and emotional changes, providing comprehensive feedback.
[0354] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it to a server. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. Next, it provides a step-by-step hint, such as "consider both sides of the equation and find x." If the user's facial expression is analyzed and it is determined that they are confused, a more detailed hint is provided. If the user submits the answer "x = 2" and it is determined to be correct, an intermediate-level problem, "3x - 5 = 10," is automatically generated.
[0355] An example prompt is:
[0356] Take a photo and upload the image.
[0357] Please wait until image processing is complete.
[0358] A hint has been displayed, please enter the answer.
[0359] Need a few more tips while analyzing sentiment data?
[0360] In this way, users can receive appropriate support according to their own learning progress and emotional state, allowing them to study more effectively.
[0361] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0362] Step 1:
[0363] Users use their smartphone or tablet to take pictures of study materials or questions, and the camera application captures and saves the images in high resolution.
[0364] Input: Physical paper or screen for text questions
[0365] Output: High resolution problem image file
[0366] Step 2:
[0367] The device uploads the captured image to the server, which receives the image and stores it in storage.
[0368] Input: High resolution problem image file
[0369] Output: Image file saved on the server
[0370] Step 3:
[0371] The server analyzes the received image and extracts text information using OCR technology (using OpenCV and PyTesseract).
[0372] Input: Image file stored on the server
[0373] Output: Extracted text data
[0374] Step 4:
[0375] The server analyzes the extracted text data using an AI model to determine the type and difficulty of the question.
[0376] Input: Extracted text data
[0377] Output: Question type and difficulty information
[0378] Step 5:
[0379] The server provides step-by-step hints based on the user's learning progress. The hints are updated at appropriate times to match the user's progress in solving the questions.
[0380] Input: Question type and difficulty information, user's answer progress
[0381] Output: Hint information
[0382] Step 6:
[0383] The device's camera and microphone are used to capture the user's facial expressions and voice and send them to the server.
[0384] Input: User's facial expression and voice data
[0385] Output: Facial expression and voice data sent to the server
[0386] Step 7:
[0387] The server uses an emotion engine to analyze the captured facial expressions and voice data and determine the user's emotions.
[0388] Input: Facial expression and voice data sent to the server
[0389] Output: User's emotional information
[0390] Step 8:
[0391] The server adjusts the content and level of detail of the hints it provides based on the user's emotional information, providing appropriate support to the user.
[0392] Input: User's emotional information
[0393] Output: Adjusted hint information
[0394] Step 9:
[0395] When a user submits an answer, the answer data is transmitted to the server via the terminal.
[0396] Input: User's answer data
[0397] Output: Answer data sent to the server
[0398] Step 10:
[0399] The server evaluates the received answer data and determines whether it is correct. If it is correct, it automatically generates an advanced question of the next level of difficulty.
[0400] Input: User's answer data
[0401] Output: Correct / incorrect result, advanced questions
[0402] Step 11:
[0403] The server integrates the user's learning results and emotional data, visualizes them, and provides feedback using the Google Cloud Natural Language API.
[0404] Input: User learning result data, emotional information
[0405] Output: Visualized feedback
[0406] These processing steps allow users to learn effectively at their own pace while receiving support at appropriate times.
[0407] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0408] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0409] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0410] [Second embodiment]
[0411] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0412] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0413] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0414] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0415] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0416] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0417] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0418] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0419] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0420] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0421] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0422] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0423] The present invention begins with a user taking a photo of a text question and uploading the photo to a server. The terminal refers to a device with an image capture function, such as a smartphone or tablet. The image of the text question taken by the user is sent to the server via the terminal.
[0424] The server analyzes the received image and extracts text information using OCR (optical character recognition) technology. From this text information, it determines the type and difficulty of the question and provides step-by-step hints to help the user arrive at the answer. The server manages the content and timing of hints, providing appropriate assistance as the student works to solve the problem.
[0425] The system allows users to solve problems based on the provided hints. When a user submits an answer, the answer data is sent to the server via the terminal. The server receives this answer data and determines whether it is correct or not.
[0426] If the answer is correct, the server automatically generates further questions to further the student's proficiency. These questions are adjusted based on the difficulty of the problem the user just solved. For example, if the user correctly answered an easy question, an intermediate-difficulty question will be presented next.
[0427] The server records the problems the user has worked on and their grades in a database, and visualizes the learning results. The visualized data is fed back to the user in the form of graphs and charts, allowing the user to check their progress and plan their future study. This information can also be viewed by teachers and parents, allowing them to understand the student's learning situation.
[0428] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. The server then provides step-by-step hints such as "consider both sides of the equation and find x." If the user submits the answer "x = 2" and it is determined to be correct, the next step is to automatically generate an advanced problem such as "3x - 5 = 10," which is of intermediate difficulty.
[0429] This allows users to tackle problems that are appropriate for their level of proficiency, gradually improving their academic ability. Through this process, students will be able to establish independent study habits and improve their learning efficiency.
[0430] The processing flow will be explained below.
[0431] Step 1:
[0432] A user takes a photo of a text problem with a smartphone or tablet. For example, a user takes a photo of their math homework.
[0433] Step 2:
[0434] The images taken by the device are uploaded to the server via a dedicated application installed on the device.
[0435] Step 3:
[0436] The server receives the uploaded images and stores them for analysis.
[0437] Step 4:
[0438] The server analyzes the image and uses OCR technology to extract text information from the image, at which point the characters in the image are captured as digital data.
[0439] Step 5:
[0440] The server analyzes the extracted text information and determines the type of question (e.g., mathematics, Japanese, etc.) and difficulty level (e.g., beginner, intermediate, advanced).
[0441] Step 6:
[0442] Based on the judgment, the server generates step-by-step hints to help solve the problem. For example, for beginner-level problems, it provides hints such as "First, check both sides of the equation."
[0443] Step 7:
[0444] The user works on the problem using the displayed hints, thinks of an answer, and enters it into the device.
[0445] Step 8:
[0446] The device sends the user's answer to the server, which receives the answer and determines whether it is correct.
[0447] Step 9:
[0448] The server automatically generates advanced questions based on the student's level of proficiency based on the results of the answers. For example, if the answer to a beginner's level question is correct, an intermediate level question will be generated next.
[0449] Step 10:
[0450] The server presents the user with advanced problems, allowing the user to tackle new problems.
[0451] Step 11:
[0452] The server records the user's answer history and learning results in a database, which is later used to visualize the learning results.
[0453] Step 12:
[0454] The server analyzes the recorded data and visualizes the learning results using graphs and charts, which are then displayed as feedback on the device.
[0455] Step 13:
[0456] Users, teachers, and parents can view visualized learning results, which allows them to understand learning progress and create future learning plans.
[0457] Example 1
[0458] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0459] In today's educational environment, it is important for students to learn effectively at their own pace. However, with traditional paper-based and one-way online learning materials, it is difficult to provide appropriate feedback and hints based on students' understanding and progress, which reduces the efficiency of independent learning. Furthermore, managing grades after students submit their answers and automatically generating the next learning assignment are cumbersome, making it difficult to provide consistent learning support.
[0460] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0461] In this invention, the server includes means for receiving images of text questions taken by the user, means for analyzing the received images and extracting text information, means for analyzing the extracted text information using natural language processing technology, means for generating appropriate hints using a generative AI model, means for automatically generating advanced questions based on the student's answers, and means for visualizing learning results and providing feedback. This allows the user to study at their own pace, and hints and the next learning task are automatically provided according to the user's level of understanding, enabling effective and efficient learning.
[0462] "User" refers to a person who uses the system to take photos of text questions and submit answers.
[0463] "Device" refers to a device, such as a smartphone or tablet, that a user uses to take a photo of a text question and send the image to a server.
[0464] The term "server" refers to a computer system that receives images of text questions sent by users, analyzes them, and provides hints and advanced questions.
[0465] "Text questions" refer to learning materials consisting of sentences and formulas written on paper or a display.
[0466] "Means for receiving images" refers to a communication function that enables the server to receive image data sent from the terminal.
[0467] "Means for extracting text information" refers to the function of extracting text data from an image using OCR technology.
[0468] "Natural language processing technology" refers to technology for analyzing text data and semantically understanding its content.
[0469] A "generative AI model" refers to a system that uses artificial intelligence to generate hints and next questions that are appropriate for the user.
[0470] "Means for providing hints" refers to a function that presents advice and clues for solving a problem to the user in stages.
[0471] "Means for automatically generating advanced questions" refers to the function by which the system automatically creates the next learning task based on the user's current level of understanding.
[0472] "Means for visualizing learning results" refers to the function of displaying a user's learning progress and grades as diagrams or charts.
[0473] The present invention begins with the user taking a photo of the text question and uploading it to a server. First, the user takes a photo of the text question using a device such as a smartphone or tablet. These devices are equipped with an image capture function, and the captured image is sent to the server via the Internet.
[0474] The server analyzes the received image and extracts text information using OCR (Optical Character Recognition) technology. Specifically, Tesseract is used for this OCR technology. Using Tesseract makes it possible to extract text information from images with high accuracy.
[0475] The extracted text information is then analyzed using natural language processing techniques, specifically using the Python libraries spaCy and nltk, to determine the type of question (e.g., mathematical equation, grammar question, etc.) and its difficulty level.
[0476] Based on the determined information, the server uses a generative AI model (e.g., OpenAI's GPT-3) to generate appropriate hints, which are then provided to the user in stages.
[0477] For example, if a user takes a photo of a math equation problem and uploads it, the server extracts the text information "2x + 3 = 7" from the image, analyzes it, and recognizes that it is an equation problem. It then inputs the following prompt to the generative AI model:
[0478] "I've been given a math equation problem. If 2x + 3 = 7, can you give me a hint on how to solve for x?"
[0479] Based on the input prompt, the generative AI model generates hints such as:
[0480] "Examine both sides of the equation and find x. For example, let's start by subtracting 3 from both sides."
[0481] The user solves the problem using the provided hints and submits the answer to the server via their device. The server receives this answer data and compares it with an internal answer key to determine whether the answer is correct or incorrect. If the answer is correct, the server automatically generates an advanced problem according to the user's level of proficiency. For example, if the user correctly answers the beginner's problem "2x + 3 = 7", the server generates an intermediate problem "3x - 5 = 10".
[0482] The server stores the user's learning results in a database (MySQL) and visualizes them as graphs and charts using Python libraries such as matplotlib and Plotly. Users can check their progress through this visualized data and plan their next study. Teachers and parents can also refer to this data to understand the student's learning situation.
[0483] This series of processes allows users to study at their own pace, and hints and next learning tasks are automatically provided based on their level of understanding, enabling effective and efficient learning.
[0484] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0485] Step 1:
[0486] A user takes a photo of the text problem using a smartphone or tablet.
[0487] Specific actions: The user opens the photo app, holds the camera so that the text question is visible, and presses the shutter button to take a photo of the question.
[0488] Input: Paper or screen with text questions written on it
[0489] Output: Image file of text question
[0490] Step 2:
[0491] The device sends the photograph to the server.
[0492] Specific operation: Select the captured image file and press the upload button to send the image to the server. The image data is sent to the server using an HTTP POST request.
[0493] Input: Image file for text questions
[0494] Output: Image data uploaded to the server
[0495] Step 3:
[0496] The server analyzes the received image and performs OCR processing.
[0497] Specific operation: The server temporarily stores the received image file and extracts text information from the image using Tesseract OCR.
[0498] Input: Uploaded image data
[0499] Output: Extracted text information
[0500] Step 4:
[0501] The server analyzes the text information using natural language processing technology to determine the type and difficulty of the question.
[0502] Specific operation: Using the extracted text information, analysis is performed using Python libraries (spaCy and nltk) to determine the type of problem (e.g., mathematical equation) and difficulty level.
[0503] Input: Extracted text information
[0504] Output: Question type and difficulty level
[0505] Step 5:
[0506] The server uses the generative AI model to provide appropriate hints to the user.
[0507] Specific operation: Based on the type and difficulty of the problem determined, a prompt sentence is sent to the generative AI model to generate a hint.
[0508] Input: Question type and difficulty level, prompt
[0509] Output: Generated hints
[0510] Step 6:
[0511] The user creates an answer based on the hints provided by the server and submits the answer to the server.
[0512] Specific actions: The user checks the provided hints, writes down the answer on paper or a digital form, and submits it to the server.
[0513] Input: Generated hint, user's answer
[0514] Output: Answer data submitted to the server
[0515] Step 7:
[0516] The server judges the answer and automatically generates the next question.
[0517] Specific operation: The submitted answer is compared with an internal database of correct answers to determine whether it is correct or incorrect. If the answer is correct, the next question is automatically generated according to the difficulty level.
[0518] Input: User's answer data
[0519] Output: result and next question
[0520] Step 8:
[0521] The server records the user's learning performance and visualizes the learning results.
[0522] Specific operation: User answers and scores are stored in a database and displayed as graphs and charts using Python's matplotlib and Plotly.
[0523] Input: Assessment result, next question, learning performance data
[0524] Output: Visualized feedback of the learning results
[0525] (Application example 1)
[0526] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0527] In modern educational and industrial systems, it is extremely important to efficiently analyze text and work procedure information captured by users and provide appropriate feedback and hints based on the analysis results. However, previous systems have had issues with low accuracy in analyzing text and procedure information, making it difficult to provide appropriate feedback in real time. In particular, it has been difficult for learning systems to efficiently generate advanced problems based on the user's level of proficiency, and to provide timely feedback on the progress of factory work and how to correct it. New technologies are needed to solve these issues.
[0528] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0529] In this invention, the server includes means for receiving an image of a text problem photographed by a user, means for analyzing the received image and extracting character information, means for determining the type and difficulty of the problem from the extracted character information and providing hints in stages, means for automatically generating advanced questions based on the student's answers, means for visualizing the learning results and providing feedback, means for receiving an image of work procedure information photographed by a user, means for analyzing the received image and extracting the procedure information, and means for providing feedback on the progress of the work and correction methods from the extracted procedure information. This makes it possible to analyze the text and work procedure information photographed by the user with high accuracy and provide appropriate feedback and hints in real time.
[0530] A "user" is an individual who uses the system to take and upload images of text questions and work procedure information.
[0531] The "image receiving means" is a means by which the server receives images of text questions and work procedure information taken by the user.
[0532] The "image analysis means" is a means for extracting text information and procedure information from the received image.
[0533] The "character information extraction means" is a means of recognizing characters from an image using OCR technology and obtaining text data.
[0534] The "question type determination means" is a means for determining the type and difficulty of a question based on the extracted character information.
[0535] The "hint providing means" is a means for providing hints to the user in stages according to the type and difficulty of the problem that has been determined.
[0536] The "advanced question generation means" is a means for automatically generating new questions based on students' answers.
[0537] The "learning result visualization means" is a means for displaying the progress and results of learning to the user in the form of graphs or charts.
[0538] "Work procedure information" is information that describes the procedures and steps in work at a factory or the like.
[0539] The "work progress status determination means" is a means for evaluating the current work progress status based on the extracted procedure information.
[0540] The "modification method feedback means" is a means for presenting a modification method to the user as needed based on the progress of the work.
[0541] "Server" refers to the central computer system that receives, analyzes, and processes image data uploaded by users.
[0542] This invention is a system that receives images of text problems and work procedure information taken by the user, analyzes them, and provides appropriate feedback. The main components of this system are as follows:
[0543] 1. User Device
[0544] The user terminal is a device with an image capture function, such as a smartphone or tablet. The user uses this terminal to take images of text questions and work procedure information and upload them to the server.
[0545] 2. Server
[0546] The server is the central computer system responsible for analyzing the received images and processing the data. The server has the following functions:
[0547] Image receiving means: Receives image data uploaded from the user terminal.
[0548] Image analysis method: Extract text and procedural information from images using OCR (such as Tesseract OCR) technology.
[0549] Problem type determination means: Determine the type and difficulty of the problem based on the extracted text information. For example, determine whether it is a mathematical equation and its difficulty.
[0550] Hint provision method: Provides hints to the user step by step, leading them to the answer.
[0551] Advanced question generation method: New questions are automatically generated based on the students' answers, and the next learning content is presented.
[0552] Learning result visualization means: Visualize learning progress and results to users and display them in graphs and charts.
[0553] Work progress determination means: Evaluate the current work progress based on the extracted procedure information.
[0554] Correction method feedback means: Based on the progress of the work, feedback on correction methods will be provided as necessary.
[0555] Specific examples
[0556] For example, if a user takes a photo of a process manual that reads "Step 1: Start machine" and uploads it, the server will analyze this text using OCR technology and return feedback such as "Step 1 complete, next step: Step 2: Calibrate sensors." This system allows users to proceed to the next process efficiently and reduces work errors.
[0557] An example of an input prompt for a generative AI model would be:
[0558] Please upload an image and analyze the contents of the factory work procedure manual or process chart. The image contains the text "Step 1: Start machine." Please provide the next work procedure based on this content.
[0559] This enables the server to analyze images taken by users with high accuracy and provide appropriate feedback in real time. This mechanism realizes efficient support for both learning systems and industrial systems.
[0560] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0561] Step 1:
[0562] The user device takes a picture and generates an image of the text problem or work procedure information. At this time, the input is the image data taken by the camera, and the output is an image file.
[0563] Step 2:
[0564] The user device uploads the image taken to the server. The input is the image file generated in step 1, and the output is the image data sent to the server.
[0565] Step 3:
[0566] The server receives the uploaded image. The input is the image data sent from the user's device, and the output is the image file stored in the server.
[0567] Step 4:
[0568] The server analyzes the image received using OCR technology and extracts text information. Specifically, it uses software such as Tesseract OCR. The input is an image file stored on the server, and the output is text data with text information.
[0569] Step 5:
[0570] The server determines the type and difficulty of the problem from the extracted text information. For example, it evaluates whether the text information is a mathematical equation and its difficulty. A generative AI model is used for this process. The input is text data of the text information, and the output is the type and difficulty of the problem.
[0571] Step 6:
[0572] The server provides hints to the user in stages based on the type and difficulty of the problem. Specifically, it generates and notifies different hints according to the user's progress. The input is the type and difficulty of the problem, and the output is text data of the hints.
[0573] Step 7:
[0574] The user answers the questions based on the hints and sends the answers to the server. The input is the user's answer data, and the output is the answer data sent to the server.
[0575] Step 8:
[0576] The server receives the user's answer and determines whether it is correct. Specifically, it analyzes the answer data and compares it with the correct answer to the question. The input is the user's answer data, and the output is the result of determining whether the answer is correct.
[0577] Step 9:
[0578] If the server answers correctly, it automatically generates advanced questions that match the user's level of proficiency. Specifically, it adjusts the questions by taking into account the user's past performance. The input is the result of the judgment of whether the answer was correct or not and past performance data, and the output is text data of the new advanced questions.
[0579] Step 10:
[0580] The server visualizes the user's learning results and provides feedback. Specifically, it generates graphs and charts and displays them to the user. The input is the user's past performance data, and the output is visualized learning result data.
[0581] Step 11:
[0582] The server analyzes the image of the work procedure information received from the user terminal and extracts the procedure information. It uses OCR technology to extract text information from the image. The input is the received image file, and the output is the text data of the procedure information.
[0583] Step 12:
[0584] The server evaluates the current progress of work based on the procedure information extracted. Specifically, it compares it with historical data of the work to determine the progress. The input is text data of the procedure information, and the output is the evaluation result of the work progress.
[0585] Step 13:
[0586] The server provides feedback to the user on how to correct the problem as needed based on the progress of the work. Specifically, it generates appropriate correction procedures and notifies the user. The input is the evaluation result of the progress of the work, and the output is text data of the correction procedures.
[0587] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0588] The present invention begins with a user taking a photo of a text question and uploading it to a server. The terminal is a device with an image capture function, such as a smartphone or tablet. The image of the text question taken by the user is sent to the server via the terminal.
[0589] The server analyzes the received image and extracts text information using OCR (optical character recognition) technology. From this text information, it determines the type and difficulty of the question and provides step-by-step hints to help the user arrive at the answer. The server manages the content and timing of hints, providing appropriate assistance as the student works to solve the problem.
[0590] Furthermore, the present invention incorporates an emotion engine. The emotion engine uses the device's camera and microphone to capture the user's facial expressions and voice, and analyzes the data to recognize the user's emotions. For example, if the user is confused about a test, the emotion engine can recognize the user's facial expression data and provide more detailed hints than before.
[0591] The user solves the problem based on the provided hints. When the user submits the answer, the answer data is sent to the server via the terminal. The server receives this answer data and determines whether it is correct or not.
[0592] If the answer is correct, the server automatically generates follow-up questions to further the student's proficiency. These follow-up questions are adjusted in difficulty depending on the problem the user just solved. For example, if the user correctly answered an easy problem, an intermediate-difficulty problem will be presented next.
[0593] The server records the problems the user has worked on and their grades in a database, and visualizes the learning results. The visualized data is fed back to the user in the form of graphs and charts, allowing the user to check their progress and plan their future study. This information can also be viewed by teachers and parents, allowing them to understand the student's learning situation.
[0594] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. It then provides a step-by-step hint: "Consider both sides of the equation and find x." If the emotion engine analyzes the user's facial expression and determines that the user is confused, it provides additional detailed hints. If the user submits the answer "x = 2" and it is determined to be correct, the next intermediate-difficulty problem, "3x - 5 = 10," is automatically generated.
[0595] The emotion engine also records users' emotional data along with their learning outcomes and displays changes in their emotions when visualizing their learning results, allowing users, teachers, and parents to see changes in their emotions during learning and more appropriately adjust their learning plans and support measures.
[0596] This process allows users to tackle problems that correspond to their own level of proficiency and gradually improve their academic ability. Furthermore, emotional feedback can be provided to provide a better learning experience.
[0597] The processing flow will be explained below.
[0598] Step 1:
[0599] A user takes a photo of a text problem with a smartphone or tablet. For example, a user takes a photo of their math homework.
[0600] Step 2:
[0601] The images taken by the device are uploaded to the server via a dedicated application installed on the device.
[0602] Step 3:
[0603] The server receives the uploaded images and stores them for analysis.
[0604] Step 4:
[0605] The server analyzes the image and uses OCR technology to extract text information from the image, at which point the characters in the image are captured as digital data.
[0606] Step 5:
[0607] The server analyzes the extracted text information and determines the type of question (e.g., mathematics, Japanese, etc.) and difficulty level (e.g., beginner, intermediate, advanced).
[0608] Step 6:
[0609] Based on the judgment, the server generates step-by-step hints to help solve the problem. For example, for beginner-level problems, it provides hints such as "First, check both sides of the equation."
[0610] Step 7:
[0611] The user works on the problem using the displayed hints, thinks of an answer, and enters it into the device.
[0612] Step 8:
[0613] The device sends the user's answer to the server, which receives the answer and determines whether it is correct.
[0614] Step 9:
[0615] The server automatically generates advanced questions based on the user's answers, depending on the student's level of proficiency. For example, if the student correctly answers a simple equation, an equation of intermediate difficulty will be generated next.
[0616] Step 10:
[0617] The server presents the user with advanced problems, allowing the user to tackle new problems.
[0618] Step 11:
[0619] The server records the user's answer history and learning results in a database, which is later used to visualize the learning results.
[0620] Step 12:
[0621] The server analyzes the recorded data and visualizes the learning results using graphs and charts, which are then fed back to the user via their device.
[0622] Step 13:
[0623] Users, teachers, and parents can view visualized learning results, which allows them to understand learning progress and plan future learning.
[0624] Step 14:
[0625] The device uses a camera and microphone to capture the user's facial expressions and voice, and the emotion engine analyzes this data in real time to recognize the user's emotions.
[0626] Step 15:
[0627] The emotion engine sends the user's emotion data to the server. For example, if the user is confused, the data is sent to the server.
[0628] Step 16:
[0629] The server adjusts the content and timing of hints it provides based on the user's emotional data. For example, if it detects that the user is confused, it provides more detailed hints.
[0630] Step 17:
[0631] The server records the user's emotional data along with their learning outcomes, and displays changes in their emotions when visualizing their learning results, allowing users to understand changes in their emotions during the learning process.
[0632] Step 18:
[0633] Users can check the learning results and feedback on emotional data and adjust their learning plans for the next time. Teachers and parents can also refer to the emotional data and provide appropriate learning support.
[0634] Through this series of steps, users can tackle problems that are appropriate for their level of proficiency, receive emotional feedback, and gradually improve their academic ability.
[0635] Example 2
[0636] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0637] Conventional text problem-solving systems lack appropriate feedback on the user's progress and proficiency. Furthermore, they do not provide learning support that takes into account the user's emotional state, which can result in poor motivation to learn. Furthermore, if step-by-step hints are not provided effectively, it is difficult to support the user's effective learning. Therefore, there is a need for a system that provides step-by-step and appropriate learning support based on the user's progress and emotional state.
[0638] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0639] In this invention, the server includes means for receiving images of text questions taken by the user, means for analyzing the received images and extracting text information, means for determining the type and difficulty of the question from the extracted text information and providing hints in stages, means for receiving the user's facial expression and voice data and analyzing their emotions, means for providing detailed hints according to the user's answering progress and emotions, means for automatically generating advanced questions based on the student's answers, and means for visualizing the learning results and providing feedback. This enables gradual and appropriate learning support according to the user's progress and emotional state.
[0640] "User" refers to a learner who uses the system to solve text problems.
[0641] "Text questions" refer to questions presented in text format in subjects such as mathematics and Japanese.
[0642] "Means for receiving images" refers to a device or software that has the function of transmitting images of text questions taken by a user to a server and receiving them.
[0643] "Means for analyzing images and extracting text information" refers to devices or software that have the function of extracting text information from received images using OCR technology.
[0644] "Means for determining the type and difficulty of a question and providing hints in stages" refers to a device or software that has the function of analyzing extracted text information to determine the type and difficulty of a question and providing the user with information that will serve as clues to the answer in stages.
[0645] "Means for receiving facial and voice data and analyzing emotions" refers to devices or software that have the function of receiving a user's facial and voice data from a terminal, analyzing it, and determining the user's emotional state.
[0646] "Means for providing detailed hints according to the user's progress in solving the problem and their emotions" refers to devices or software that have the function of providing more detailed clues to the answer at an appropriate time based on the user's progress in solving the problem and their emotional state.
[0647] "Means for automatically generating advanced questions" refers to devices or software that have the function of dynamically generating the next advanced question to be tackled based on the user's answer results and level of proficiency.
[0648] "Means for visualizing learning results and providing feedback" refers to devices or software that have the function of recording a user's learning history and grades in a database and presenting them to the user in a visual format such as graphs or charts.
[0649] The present invention begins with a user taking a photo of a text question and uploading it to a server. The terminal is a device with an image capture function, such as a smartphone or tablet, that is responsible for taking and sending the image. The image of the text question taken by the user is sent to the server through the terminal.
[0650] The server analyzes the received image and extracts text using OCR (Optical Character Recognition) technology. The server then uses an analysis algorithm to determine the type and difficulty of the question from the text. Specifically, software such as Tesseract OCR is often used.
[0651] Hints are provided step by step to help the user arrive at the answer. The server manages the content and timing of the hints provided, providing appropriate assistance when the user solves the problem. During this process, the server monitors the user's solution status and adjusts the level of detail of the hints according to the user's progress.
[0652] Furthermore, the present invention incorporates an emotion engine. The emotion engine uses the device's camera and microphone to capture the user's facial expressions and voice data, and analyzes that data to recognize the user's emotions. Technologies such as DeepFace and Azure Face API are used for emotion analysis. For example, if a user is struggling to solve a problem, the emotion engine can recognize their facial expression data and provide more detailed hints than before.
[0653] When a user submits an answer, the answer data is sent to the server via the terminal. The server receives this answer data and determines whether it is correct. If the answer is correct, the server automatically generates advanced questions to further deepen the user's proficiency. The advanced questions are adjusted according to the difficulty of the problem the user solved. For example, if the user answered an easy question correctly, an intermediate difficulty question will be presented next.
[0654] The server records the problems the user has worked on and their grades in a database, and visualizes the learning results. The visualized data is fed back to the user in the form of graphs and charts, allowing the user to check their progress and make study plans for the next time. This information can also be viewed by teachers and parents, allowing them to understand the user's learning situation.
[0655] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. It then provides a step-by-step hint: "Consider both sides of the equation and find x." If the emotion engine analyzes the user's facial expression and determines that the user is confused, it provides additional detailed hints. If the user submits the answer "x = 2" and it is determined to be correct, the next intermediate-difficulty problem, "3x - 5 = 10," is automatically generated.
[0656] The emotion engine also records users' emotional data along with their learning outcomes and displays changes in their emotions when visualizing their learning results, allowing users, teachers, and parents to see changes in their emotions during learning and more appropriately adjust their learning plans and support measures.
[0657] An example prompt using a generative AI model is, "Please describe the process for extracting textual information from a photographed image of a mathematical equation using OCR technology, determining the type and difficulty of the problem, and providing detailed hints if the user is stumped."
[0658] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0659] Step 1:
[0660] The user takes a picture of the text question
[0661] Description: The user takes a photo of the text problem using a device with a camera, such as a smartphone or tablet. This image data is saved in JPEG or PNG format.
[0662] Input: Physical paper of text question
[0663] Output: Image file saved on the device (JPEG or PNG format)
[0664] Specific behavior: A user opens the camera app on their smartphone and takes a picture of the mathematical equation "2x + 3 = 7".
[0665] Step 2:
[0666] Uploading images from the device to the server
[0667] Description: The device sends the captured image file to the server. The image file is uploaded to the server using an HTTP request.
[0668] Input: Image file saved on the device
[0669] Output: Image file sent to the server
[0670] Specific operation: The device sends the captured image to the server using an HTTP POST request.
[0671] Step 3:
[0672] The server receives the image and extracts the text information using OCR technology.
[0673] Description: The server analyzes the received image and extracts text information using software such as Tesseract OCR.
[0674] Input: Image file sent to the server
[0675] Output: Text data extracted from the image
[0676] Specific operation: The server reads the received image file and uses Tesseract OCR to extract the text information "2x + 3 = 7".
[0677] Step 4:
[0678] The server determines the type and difficulty of the question from the text information.
[0679] Description: The server analyzes the extracted text and determines the type and difficulty of the problem. Using an algorithm, it determines that the problem is an equation and that the difficulty level is beginner level.
[0680] Input: Text data extracted from an image
[0681] Output: Question type and difficulty information
[0682] Specific behavior: The server analyzes the extracted text "2x + 3 = 7", classifies it as an equation problem, and determines the difficulty level as beginner.
[0683] Step 5:
[0684] The server provides the user with step-by-step hints
[0685] Description: The server generates hints step by step based on the type and difficulty of the question to help the user arrive at the answer and provides them to the user.
[0686] Input: Question type and difficulty information
[0687] Output: Hints provided step by step
[0688] Specific operation: The server generates a basic hint, such as "consider both sides of the equation and find x," and sends it to the terminal.
[0689] Step 6:
[0690] Send answer data from the device to the server
[0691] Description: The user enters answer data and the terminal sends it to the server.
[0692] Input: Answer data entered by the user into the terminal
[0693] Output: Answer data sent to the server
[0694] Specific operation: The user enters the answer "x=2" through the terminal and sends it to the server.
[0695] Step 7:
[0696] The server receives the answer data and determines whether it is correct or not.
[0697] Description: The server receives the answer data submitted by the user and judges whether the answer is correct or not. It uses a judgment algorithm to determine whether the answer is correct.
[0698] Input: Answer data sent to the server
[0699] Output: Correctness of answers
[0700] Specific operation: The server analyzes the answer "x=2" it receives and determines that it is correct.
[0701] Step 8:
[0702] The server automatically generates advanced questions
[0703] Description: The server automatically generates new advanced questions based on the user's correct answers. The generation algorithm adjusts the difficulty of the questions.
[0704] Input: Correct or incorrect answer
[0705] Output: New development problem
[0706] Specific operation: After the server determines that the answer "x = 2" is correct, it automatically generates the intermediate difficulty problem "3x - 5 = 10" and provides it to the user.
[0707] Step 9:
[0708] The server records and visualizes the user's learning results.
[0709] Description: The server records the problems the user has worked on and their grades in a database, and visualizes the learning results using graphs and charts.
[0710] Input: New development questions and performance data
[0711] Output: Visualized learning results
[0712] Specific operation: The server stores the user's question answer history in a database, converts the learning results into a chart, and provides feedback to the user.
[0713] (Application example 2)
[0714] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0715] Conventional learning support systems provide hints to help users arrive at the answer, but they lack detailed responses based on the user's emotions and learning progress. Furthermore, the accuracy of extracting appropriate text information from images of questions taken by the user and determining the type and difficulty of the questions is limited. Furthermore, there are insufficient means to visualize learning progress and emotional changes and provide comprehensive feedback. Therefore, flexible learning support tailored to individual users is difficult to provide.
[0716] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0717] In this invention, the server includes means for receiving images of text questions taken by the user, means for analyzing the received images and extracting text information, means for determining the type and difficulty of the question from the extracted text information and providing hints in stages, means for automatically generating advanced questions based on the student's answers, means for visualizing the learning results and providing feedback, means for capturing the user's facial expressions and voice and analyzing their emotions, and means for adjusting the hint content based on the emotion data. This enables flexible and effective learning support according to the user's learning progress and emotions.
[0718] "User" refers to an individual who uses the system to study materials and answer questions.
[0719] "Image of text question" refers to an image file of paper or digital media containing the question text or question photographed by the user.
[0720] "Means for receiving images" refers to a function for transmitting image files taken by the user to a server and storing them.
[0721] "Means for extracting text information" refers to the function of analyzing and extracting text data from images using OCR technology.
[0722] "Means for determining the type and difficulty of a question" refers to a function that analyzes the extracted character information and automatically determines the category of the question and its difficulty.
[0723] "Means for providing hints in stages" refers to a function that gradually and appropriately presents information that helps the user solve the problem according to the user's progress in solving the problem and their learning situation.
[0724] "Means for automatically generating advanced questions" refers to a function that dynamically generates new questions as the next learning step based on the user's answers and level of proficiency.
[0725] "Means for visualizing learning results and providing feedback" refers to a function that visually displays the user's learning progress and grades in graphs, charts, etc., and provides feedback on learning outcomes and assignments.
[0726] "Means for capturing the user's facial expressions and voice and analyzing their emotions" refers to a function that uses a camera and microphone to obtain the user's facial expressions and voice data and analyzes the user's emotions based on that data.
[0727] "Means for adjusting hint content based on emotional data" refers to a function for appropriately adjusting the content and level of detail of the hint provided based on the analyzed emotional data of the user.
[0728] To implement this invention, a user uses a device with an image capture function, such as a smartphone or tablet. The user first takes a picture of the text problem containing the problem statement and question, and then uploads the image from the device to a server. The server analyzes the received image and extracts text information using OCR (optical character recognition) technology.
[0729] The server uses OpenCV and PyTesseract to analyze text data from images. It also uses Google Cloud Vision API for advanced character recognition. However, this function relies on the server's computing resources, so high-speed and accurate processing is required.
[0730] The extracted text information is used to determine the type and difficulty of the question using an AI model. At this time, hints are provided to the user in stages based on the question category and difficulty. Hints are provided according to the user's answer progress and learning situation. The server also has the function of automatically generating new advanced questions based on the student's answer results. This uses a generative AI model, and the next question is appropriately adjusted according to the difficulty of the problem the user has solved.
[0731] The device's camera and microphone are also used to capture the user's facial expressions and voice data. This data is sent to the server, where the emotion engine analyzes the user's emotions. Based on the analyzed emotion data, the server adjusts the content and level of detail of the hints it provides to help the user arrive at the answer.
[0732] The Google Cloud Natural Language API is used to visualize learning results, which visually displays the user's learning progress and emotional changes, providing comprehensive feedback.
[0733] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it to a server. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. Next, it provides a step-by-step hint, such as "consider both sides of the equation and find x." If the user's facial expression is analyzed and it is determined that they are confused, a more detailed hint is provided. If the user submits the answer "x = 2" and it is determined to be correct, an intermediate-level problem, "3x - 5 = 10," is automatically generated.
[0734] An example prompt is:
[0735] Take a photo and upload the image.
[0736] Please wait until image processing is complete.
[0737] A hint has been displayed, please enter the answer.
[0738] Need a few more tips while analyzing sentiment data?
[0739] In this way, users can receive appropriate support according to their own learning progress and emotional state, allowing them to study more effectively.
[0740] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0741] Step 1:
[0742] Users use their smartphone or tablet to take pictures of study materials or questions, and the camera application captures and saves the images in high resolution.
[0743] Input: Physical paper or screen for text questions
[0744] Output: High resolution problem image file
[0745] Step 2:
[0746] The device uploads the captured image to the server, which receives the image and stores it in storage.
[0747] Input: High resolution problem image file
[0748] Output: Image file saved on the server
[0749] Step 3:
[0750] The server analyzes the received image and extracts text information using OCR technology (using OpenCV and PyTesseract).
[0751] Input: Image file stored on the server
[0752] Output: Extracted text data
[0753] Step 4:
[0754] The server analyzes the extracted text data using an AI model to determine the type and difficulty of the question.
[0755] Input: Extracted text data
[0756] Output: Question type and difficulty information
[0757] Step 5:
[0758] The server provides step-by-step hints based on the user's learning progress. The hints are updated at appropriate times to match the user's progress in solving the questions.
[0759] Input: Question type and difficulty information, user's answer progress
[0760] Output: Hint information
[0761] Step 6:
[0762] The device's camera and microphone are used to capture the user's facial expressions and voice and send them to the server.
[0763] Input: User's facial expression and voice data
[0764] Output: Facial expression and voice data sent to the server
[0765] Step 7:
[0766] The server uses an emotion engine to analyze the captured facial expressions and voice data and determine the user's emotions.
[0767] Input: Facial expression and voice data sent to the server
[0768] Output: User's emotional information
[0769] Step 8:
[0770] The server adjusts the content and level of detail of the hints it provides based on the user's emotional information, providing appropriate support to the user.
[0771] Input: User's emotional information
[0772] Output: Adjusted hint information
[0773] Step 9:
[0774] When a user submits an answer, the answer data is transmitted to the server via the terminal.
[0775] Input: User's answer data
[0776] Output: Answer data sent to the server
[0777] Step 10:
[0778] The server evaluates the received answer data and determines whether it is correct. If it is correct, it automatically generates an advanced question of the next level of difficulty.
[0779] Input: User's answer data
[0780] Output: Correct / incorrect result, advanced questions
[0781] Step 11:
[0782] The server integrates the user's learning results and emotional data, visualizes them, and provides feedback using the Google Cloud Natural Language API.
[0783] Input: User learning result data, emotional information
[0784] Output: Visualized feedback
[0785] These processing steps allow users to learn effectively at their own pace while receiving support at appropriate times.
[0786] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0787] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0788] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0789] [Third embodiment]
[0790] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0791] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0792] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0793] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0794] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0795] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0796] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0797] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0798] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0799] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0800] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0801] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0802] The present invention begins with a user taking a photo of a text question and uploading the photo to a server. The terminal refers to a device with an image capture function, such as a smartphone or tablet. The image of the text question taken by the user is sent to the server via the terminal.
[0803] The server analyzes the received image and extracts text information using OCR (optical character recognition) technology. From this text information, it determines the type and difficulty of the question and provides step-by-step hints to help the user arrive at the answer. The server manages the content and timing of hints, providing appropriate assistance as the student works to solve the problem.
[0804] The system allows users to solve problems based on the provided hints. When a user submits an answer, the answer data is sent to the server via the terminal. The server receives this answer data and determines whether it is correct or not.
[0805] If the answer is correct, the server automatically generates further questions to further the student's proficiency. These questions are adjusted based on the difficulty of the problem the user just solved. For example, if the user correctly answered an easy question, an intermediate-difficulty question will be presented next.
[0806] The server records the problems the user has worked on and their grades in a database, and visualizes the learning results. The visualized data is fed back to the user in the form of graphs and charts, allowing the user to check their progress and plan their future study. This information can also be viewed by teachers and parents, allowing them to understand the student's learning situation.
[0807] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. The server then provides step-by-step hints such as "consider both sides of the equation and find x." If the user submits the answer "x = 2" and it is determined to be correct, the next step is to automatically generate an advanced problem such as "3x - 5 = 10," which is of intermediate difficulty.
[0808] This allows users to tackle problems that are appropriate for their level of proficiency, gradually improving their academic ability. Through this process, students will be able to establish independent study habits and improve their learning efficiency.
[0809] The processing flow will be explained below.
[0810] Step 1:
[0811] A user takes a photo of a text problem with a smartphone or tablet. For example, a user takes a photo of their math homework.
[0812] Step 2:
[0813] The images taken by the device are uploaded to the server via a dedicated application installed on the device.
[0814] Step 3:
[0815] The server receives the uploaded images and stores them for analysis.
[0816] Step 4:
[0817] The server analyzes the image and uses OCR technology to extract text information from the image, at which point the characters in the image are captured as digital data.
[0818] Step 5:
[0819] The server analyzes the extracted text information and determines the type of question (e.g., mathematics, Japanese, etc.) and difficulty level (e.g., beginner, intermediate, advanced).
[0820] Step 6:
[0821] Based on the judgment, the server generates step-by-step hints to help solve the problem. For example, for beginner-level problems, it provides hints such as "First, check both sides of the equation."
[0822] Step 7:
[0823] The user works on the problem using the displayed hints, thinks of an answer, and enters it into the device.
[0824] Step 8:
[0825] The device sends the user's answer to the server, which receives the answer and determines whether it is correct.
[0826] Step 9:
[0827] The server automatically generates advanced questions based on the student's level of proficiency based on the results of the answers. For example, if the answer to a beginner's level question is correct, an intermediate level question will be generated next.
[0828] Step 10:
[0829] The server presents the user with advanced problems, allowing the user to tackle new problems.
[0830] Step 11:
[0831] The server records the user's answer history and learning results in a database, which is later used to visualize the learning results.
[0832] Step 12:
[0833] The server analyzes the recorded data and visualizes the learning results using graphs and charts, which are then displayed as feedback on the device.
[0834] Step 13:
[0835] Users, teachers, and parents can view visualized learning results, which allows them to understand learning progress and create future learning plans.
[0836] Example 1
[0837] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0838] In today's educational environment, it is important for students to learn effectively at their own pace. However, with traditional paper-based and one-way online learning materials, it is difficult to provide appropriate feedback and hints based on students' understanding and progress, which reduces the efficiency of independent learning. Furthermore, managing grades after students submit their answers and automatically generating the next learning assignment are cumbersome, making it difficult to provide consistent learning support.
[0839] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0840] In this invention, the server includes means for receiving images of text questions taken by the user, means for analyzing the received images and extracting text information, means for analyzing the extracted text information using natural language processing technology, means for generating appropriate hints using a generative AI model, means for automatically generating advanced questions based on the student's answers, and means for visualizing learning results and providing feedback. This allows the user to study at their own pace, and hints and the next learning task are automatically provided according to the user's level of understanding, enabling effective and efficient learning.
[0841] "User" refers to a person who uses the system to take photos of text questions and submit answers.
[0842] "Device" refers to a device, such as a smartphone or tablet, that a user uses to take a photo of a text question and send the image to a server.
[0843] The term "server" refers to a computer system that receives images of text questions sent by users, analyzes them, and provides hints and advanced questions.
[0844] "Text questions" refer to learning materials consisting of sentences and formulas written on paper or a display.
[0845] "Means for receiving images" refers to a communication function that enables the server to receive image data sent from the terminal.
[0846] "Means for extracting text information" refers to the function of extracting text data from an image using OCR technology.
[0847] "Natural language processing technology" refers to technology for analyzing text data and semantically understanding its content.
[0848] A "generative AI model" refers to a system that uses artificial intelligence to generate hints and next questions that are appropriate for the user.
[0849] "Means for providing hints" refers to a function that presents advice and clues for solving a problem to the user in stages.
[0850] "Means for automatically generating advanced questions" refers to the function by which the system automatically creates the next learning task based on the user's current level of understanding.
[0851] "Means for visualizing learning results" refers to the function of displaying a user's learning progress and grades as diagrams or charts.
[0852] The present invention begins with the user taking a photo of the text question and uploading it to a server. First, the user takes a photo of the text question using a device such as a smartphone or tablet. These devices are equipped with an image capture function, and the captured image is sent to the server via the Internet.
[0853] The server analyzes the received image and extracts text information using OCR (Optical Character Recognition) technology. Specifically, Tesseract is used for this OCR technology. Using Tesseract makes it possible to extract text information from images with high accuracy.
[0854] The extracted text information is then analyzed using natural language processing techniques, specifically using the Python libraries spaCy and nltk, to determine the type of question (e.g., mathematical equation, grammar question, etc.) and its difficulty level.
[0855] Based on the determined information, the server uses a generative AI model (e.g., OpenAI's GPT-3) to generate appropriate hints, which are then provided to the user in stages.
[0856] For example, if a user takes a photo of a math equation problem and uploads it, the server extracts the text information "2x + 3 = 7" from the image, analyzes it, and recognizes that it is an equation problem. It then inputs the following prompt to the generative AI model:
[0857] "I've been given a math equation problem. If 2x + 3 = 7, can you give me a hint on how to solve for x?"
[0858] Based on the input prompt, the generative AI model generates hints such as:
[0859] "Examine both sides of the equation and find x. For example, let's start by subtracting 3 from both sides."
[0860] The user solves the problem using the provided hints and submits the answer to the server via their device. The server receives this answer data and compares it with an internal answer key to determine whether the answer is correct or incorrect. If the answer is correct, the server automatically generates an advanced problem according to the user's level of proficiency. For example, if the user correctly answers the beginner's problem "2x + 3 = 7", the server generates an intermediate problem "3x - 5 = 10".
[0861] The server stores the user's learning results in a database (MySQL) and visualizes them as graphs and charts using Python libraries such as matplotlib and Plotly. Users can check their progress through this visualized data and plan their next study. Teachers and parents can also refer to this data to understand the student's learning situation.
[0862] This series of processes allows users to study at their own pace, and hints and next learning tasks are automatically provided based on their level of understanding, enabling effective and efficient learning.
[0863] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0864] Step 1:
[0865] A user takes a photo of the text problem using a smartphone or tablet.
[0866] Specific actions: The user opens the photo app, holds the camera so that the text question is visible, and presses the shutter button to take a photo of the question.
[0867] Input: Paper or screen with text questions written on it
[0868] Output: Image file of text question
[0869] Step 2:
[0870] The device sends the photograph to the server.
[0871] Specific operation: Select the captured image file and press the upload button to send the image to the server. The image data is sent to the server using an HTTP POST request.
[0872] Input: Image file for text questions
[0873] Output: Image data uploaded to the server
[0874] Step 3:
[0875] The server analyzes the received image and performs OCR processing.
[0876] Specific operation: The server temporarily stores the received image file and extracts text information from the image using Tesseract OCR.
[0877] Input: Uploaded image data
[0878] Output: Extracted text information
[0879] Step 4:
[0880] The server analyzes the text information using natural language processing technology to determine the type and difficulty of the question.
[0881] Specific operation: Using the extracted text information, analysis is performed using Python libraries (spaCy and nltk) to determine the type of problem (e.g., mathematical equation) and difficulty level.
[0882] Input: Extracted text information
[0883] Output: Question type and difficulty level
[0884] Step 5:
[0885] The server uses the generative AI model to provide appropriate hints to the user.
[0886] Specific operation: Based on the type and difficulty of the problem determined, a prompt sentence is sent to the generative AI model to generate a hint.
[0887] Input: Question type and difficulty level, prompt
[0888] Output: Generated hints
[0889] Step 6:
[0890] The user creates an answer based on the hints provided by the server and submits the answer to the server.
[0891] Specific actions: The user checks the provided hints, writes down the answer on paper or a digital form, and submits it to the server.
[0892] Input: Generated hint, user's answer
[0893] Output: Answer data submitted to the server
[0894] Step 7:
[0895] The server judges the answer and automatically generates the next question.
[0896] Specific operation: The submitted answer is compared with an internal database of correct answers to determine whether it is correct or incorrect. If the answer is correct, the next question is automatically generated according to the difficulty level.
[0897] Input: User's answer data
[0898] Output: result and next question
[0899] Step 8:
[0900] The server records the user's learning performance and visualizes the learning results.
[0901] Specific operation: User answers and scores are stored in a database and displayed as graphs and charts using Python's matplotlib and Plotly.
[0902] Input: Assessment result, next question, learning performance data
[0903] Output: Visualized feedback of the learning results
[0904] (Application example 1)
[0905] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0906] In modern educational and industrial systems, it is extremely important to efficiently analyze text and work procedure information captured by users and provide appropriate feedback and hints based on the analysis results. However, previous systems have had issues with low accuracy in analyzing text and procedure information, making it difficult to provide appropriate feedback in real time. In particular, it has been difficult for learning systems to efficiently generate advanced problems based on the user's level of proficiency, and to provide timely feedback on the progress of factory work and how to correct it. New technologies are needed to solve these issues.
[0907] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0908] In this invention, the server includes means for receiving an image of a text problem photographed by a user, means for analyzing the received image and extracting character information, means for determining the type and difficulty of the problem from the extracted character information and providing hints in stages, means for automatically generating advanced questions based on the student's answers, means for visualizing the learning results and providing feedback, means for receiving an image of work procedure information photographed by a user, means for analyzing the received image and extracting the procedure information, and means for providing feedback on the progress of the work and correction methods from the extracted procedure information. This makes it possible to analyze the text and work procedure information photographed by the user with high accuracy and provide appropriate feedback and hints in real time.
[0909] A "user" is an individual who uses the system to take and upload images of text questions and work procedure information.
[0910] The "image receiving means" is a means by which the server receives images of text questions and work procedure information taken by the user.
[0911] The "image analysis means" is a means for extracting text information and procedure information from the received image.
[0912] The "character information extraction means" is a means of recognizing characters from an image using OCR technology and obtaining text data.
[0913] The "question type determination means" is a means for determining the type and difficulty of a question based on the extracted character information.
[0914] The "hint providing means" is a means for providing hints to the user in stages according to the type and difficulty of the problem that has been determined.
[0915] The "advanced question generation means" is a means for automatically generating new questions based on students' answers.
[0916] The "learning result visualization means" is a means for displaying the progress and results of learning to the user in the form of graphs or charts.
[0917] "Work procedure information" is information that describes the procedures and steps in work at a factory or the like.
[0918] The "work progress status determination means" is a means for evaluating the current work progress status based on the extracted procedure information.
[0919] The "modification method feedback means" is a means for presenting a modification method to the user as needed based on the progress of the work.
[0920] "Server" refers to the central computer system that receives, analyzes, and processes image data uploaded by users.
[0921] This invention is a system that receives images of text problems and work procedure information taken by the user, analyzes them, and provides appropriate feedback. The main components of this system are as follows:
[0922] 1. User Device
[0923] The user terminal is a device with an image capture function, such as a smartphone or tablet. The user uses this terminal to take images of text questions and work procedure information and upload them to the server.
[0924] 2. Server
[0925] The server is the central computer system responsible for analyzing the received images and processing the data. The server has the following functions:
[0926] Image receiving means: Receives image data uploaded from the user terminal.
[0927] Image analysis method: Extract text and procedural information from images using OCR (such as Tesseract OCR) technology.
[0928] Problem type determination means: Determine the type and difficulty of the problem based on the extracted text information. For example, determine whether it is a mathematical equation and its difficulty.
[0929] Hint provision method: Provides hints to the user step by step, leading them to the answer.
[0930] Advanced question generation method: New questions are automatically generated based on the students' answers, and the next learning content is presented.
[0931] Learning result visualization means: Visualize learning progress and results to users and display them in graphs and charts.
[0932] Work progress determination means: Evaluate the current work progress based on the extracted procedure information.
[0933] Correction method feedback means: Based on the progress of the work, feedback on correction methods will be provided as necessary.
[0934] Specific examples
[0935] For example, if a user takes a photo of a process manual that reads "Step 1: Start machine" and uploads it, the server will analyze this text using OCR technology and return feedback such as "Step 1 complete, next step: Step 2: Calibrate sensors." This system allows users to proceed to the next process efficiently and reduces work errors.
[0936] An example of an input prompt for a generative AI model would be:
[0937] Please upload an image and analyze the contents of the factory work procedure manual or process chart. The image contains the text "Step 1: Start machine." Please provide the next work procedure based on this content.
[0938] This enables the server to analyze images taken by users with high accuracy and provide appropriate feedback in real time. This mechanism realizes efficient support for both learning systems and industrial systems.
[0939] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0940] Step 1:
[0941] The user device takes a picture and generates an image of the text problem or work procedure information. At this time, the input is the image data taken by the camera, and the output is an image file.
[0942] Step 2:
[0943] The user device uploads the image taken to the server. The input is the image file generated in step 1, and the output is the image data sent to the server.
[0944] Step 3:
[0945] The server receives the uploaded image. The input is the image data sent from the user's device, and the output is the image file stored in the server.
[0946] Step 4:
[0947] The server analyzes the image received using OCR technology and extracts text information. Specifically, it uses software such as Tesseract OCR. The input is an image file stored on the server, and the output is text data with text information.
[0948] Step 5:
[0949] The server determines the type and difficulty of the problem from the extracted text information. For example, it evaluates whether the text information is a mathematical equation and its difficulty. A generative AI model is used for this process. The input is text data of the text information, and the output is the type and difficulty of the problem.
[0950] Step 6:
[0951] The server provides hints to the user in stages based on the type and difficulty of the problem. Specifically, it generates and notifies different hints according to the user's progress. The input is the type and difficulty of the problem, and the output is text data of the hints.
[0952] Step 7:
[0953] The user answers the questions based on the hints and sends the answers to the server. The input is the user's answer data, and the output is the answer data sent to the server.
[0954] Step 8:
[0955] The server receives the user's answer and determines whether it is correct. Specifically, it analyzes the answer data and compares it with the correct answer to the question. The input is the user's answer data, and the output is the result of determining whether the answer is correct.
[0956] Step 9:
[0957] If the server answers correctly, it automatically generates advanced questions that match the user's level of proficiency. Specifically, it adjusts the questions by taking into account the user's past performance. The input is the result of the judgment of whether the answer was correct or not and past performance data, and the output is text data of the new advanced questions.
[0958] Step 10:
[0959] The server visualizes the user's learning results and provides feedback. Specifically, it generates graphs and charts and displays them to the user. The input is the user's past performance data, and the output is visualized learning result data.
[0960] Step 11:
[0961] The server analyzes the image of the work procedure information received from the user terminal and extracts the procedure information. It uses OCR technology to extract text information from the image. The input is the received image file, and the output is the text data of the procedure information.
[0962] Step 12:
[0963] The server evaluates the current progress of work based on the procedure information extracted. Specifically, it compares it with historical data of the work to determine the progress. The input is text data of the procedure information, and the output is the evaluation result of the work progress.
[0964] Step 13:
[0965] The server provides feedback to the user on how to correct the problem as needed based on the progress of the work. Specifically, it generates appropriate correction procedures and notifies the user. The input is the evaluation result of the progress of the work, and the output is text data of the correction procedures.
[0966] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0967] The present invention begins with a user taking a photo of a text question and uploading it to a server. The terminal is a device with an image capture function, such as a smartphone or tablet. The image of the text question taken by the user is sent to the server via the terminal.
[0968] The server analyzes the received image and extracts text information using OCR (optical character recognition) technology. From this text information, it determines the type and difficulty of the question and provides step-by-step hints to help the user arrive at the answer. The server manages the content and timing of hints, providing appropriate assistance as the student works to solve the problem.
[0969] Furthermore, the present invention incorporates an emotion engine. The emotion engine uses the device's camera and microphone to capture the user's facial expressions and voice, and analyzes the data to recognize the user's emotions. For example, if the user is confused about a test, the emotion engine can recognize the user's facial expression data and provide more detailed hints than before.
[0970] The user solves the problem based on the provided hints. When the user submits the answer, the answer data is sent to the server via the terminal. The server receives this answer data and determines whether it is correct or not.
[0971] If the answer is correct, the server automatically generates follow-up questions to further the student's proficiency. These follow-up questions are adjusted in difficulty depending on the problem the user just solved. For example, if the user correctly answered an easy problem, an intermediate-difficulty problem will be presented next.
[0972] The server records the problems the user has worked on and their grades in a database, and visualizes the learning results. The visualized data is fed back to the user in the form of graphs and charts, allowing the user to check their progress and plan their future study. This information can also be viewed by teachers and parents, allowing them to understand the student's learning situation.
[0973] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. It then provides a step-by-step hint: "Consider both sides of the equation and find x." If the emotion engine analyzes the user's facial expression and determines that the user is confused, it provides additional detailed hints. If the user submits the answer "x = 2" and it is determined to be correct, the next intermediate-difficulty problem, "3x - 5 = 10," is automatically generated.
[0974] The emotion engine also records users' emotional data along with their learning outcomes and displays changes in their emotions when visualizing their learning results, allowing users, teachers, and parents to see changes in their emotions during learning and more appropriately adjust their learning plans and support measures.
[0975] This process allows users to tackle problems that correspond to their own level of proficiency and gradually improve their academic ability. Furthermore, emotional feedback can be provided to provide a better learning experience.
[0976] The processing flow will be explained below.
[0977] Step 1:
[0978] A user takes a photo of a text problem with a smartphone or tablet. For example, a user takes a photo of their math homework.
[0979] Step 2:
[0980] The images taken by the device are uploaded to the server via a dedicated application installed on the device.
[0981] Step 3:
[0982] The server receives the uploaded images and stores them for analysis.
[0983] Step 4:
[0984] The server analyzes the image and uses OCR technology to extract text information from the image, at which point the characters in the image are captured as digital data.
[0985] Step 5:
[0986] The server analyzes the extracted text information and determines the type of question (e.g., mathematics, Japanese, etc.) and difficulty level (e.g., beginner, intermediate, advanced).
[0987] Step 6:
[0988] Based on the judgment, the server generates step-by-step hints to help solve the problem. For example, for beginner-level problems, it provides hints such as "First, check both sides of the equation."
[0989] Step 7:
[0990] The user works on the problem using the displayed hints, thinks of an answer, and enters it into the device.
[0991] Step 8:
[0992] The device sends the user's answer to the server, which receives the answer and determines whether it is correct.
[0993] Step 9:
[0994] The server automatically generates advanced questions based on the user's answers, depending on the student's level of proficiency. For example, if the student correctly answers a simple equation, an equation of intermediate difficulty will be generated next.
[0995] Step 10:
[0996] The server presents the user with advanced problems, allowing the user to tackle new problems.
[0997] Step 11:
[0998] The server records the user's answer history and learning results in a database, which is later used to visualize the learning results.
[0999] Step 12:
[1000] The server analyzes the recorded data and visualizes the learning results using graphs and charts, which are then fed back to the user via their device.
[1001] Step 13:
[1002] Users, teachers, and parents can view visualized learning results, which allows them to understand learning progress and plan future learning.
[1003] Step 14:
[1004] The device uses a camera and microphone to capture the user's facial expressions and voice, and the emotion engine analyzes this data in real time to recognize the user's emotions.
[1005] Step 15:
[1006] The emotion engine sends the user's emotion data to the server. For example, if the user is confused, the data is sent to the server.
[1007] Step 16:
[1008] The server adjusts the content and timing of hints it provides based on the user's emotional data. For example, if it detects that the user is confused, it provides more detailed hints.
[1009] Step 17:
[1010] The server records the user's emotional data along with their learning outcomes, and displays changes in their emotions when visualizing their learning results, allowing users to understand changes in their emotions during the learning process.
[1011] Step 18:
[1012] Users can check the learning results and feedback on emotional data and adjust their learning plans for the next time. Teachers and parents can also refer to the emotional data and provide appropriate learning support.
[1013] Through this series of steps, users can tackle problems that are appropriate for their level of proficiency, receive emotional feedback, and gradually improve their academic ability.
[1014] Example 2
[1015] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1016] Conventional text problem-solving systems lack appropriate feedback on the user's progress and proficiency. Furthermore, they do not provide learning support that takes into account the user's emotional state, which can result in poor motivation to learn. Furthermore, if step-by-step hints are not provided effectively, it is difficult to support the user's effective learning. Therefore, there is a need for a system that provides step-by-step and appropriate learning support based on the user's progress and emotional state.
[1017] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1018] In this invention, the server includes means for receiving images of text questions taken by the user, means for analyzing the received images and extracting text information, means for determining the type and difficulty of the question from the extracted text information and providing hints in stages, means for receiving the user's facial expression and voice data and analyzing their emotions, means for providing detailed hints according to the user's answering progress and emotions, means for automatically generating advanced questions based on the student's answers, and means for visualizing the learning results and providing feedback. This enables gradual and appropriate learning support according to the user's progress and emotional state.
[1019] "User" refers to a learner who uses the system to solve text problems.
[1020] "Text questions" refer to questions presented in text format in subjects such as mathematics and Japanese.
[1021] "Means for receiving images" refers to a device or software that has the function of transmitting images of text questions taken by a user to a server and receiving them.
[1022] "Means for analyzing images and extracting text information" refers to devices or software that have the function of extracting text information from received images using OCR technology.
[1023] "Means for determining the type and difficulty of a question and providing hints in stages" refers to a device or software that has the function of analyzing extracted text information to determine the type and difficulty of a question and providing the user with information that will serve as clues to the answer in stages.
[1024] "Means for receiving facial and voice data and analyzing emotions" refers to devices or software that have the function of receiving a user's facial and voice data from a terminal, analyzing it, and determining the user's emotional state.
[1025] "Means for providing detailed hints according to the user's progress in solving the problem and their emotions" refers to devices or software that have the function of providing more detailed clues to the answer at an appropriate time based on the user's progress in solving the problem and their emotional state.
[1026] "Means for automatically generating advanced questions" refers to devices or software that have the function of dynamically generating the next advanced question to be tackled based on the user's answer results and level of proficiency.
[1027] "Means for visualizing learning results and providing feedback" refers to devices or software that have the function of recording a user's learning history and grades in a database and presenting them to the user in a visual format such as graphs or charts.
[1028] The present invention begins with a user taking a photo of a text question and uploading it to a server. The terminal is a device with an image capture function, such as a smartphone or tablet, that is responsible for taking and sending the image. The image of the text question taken by the user is sent to the server through the terminal.
[1029] The server analyzes the received image and extracts text using OCR (Optical Character Recognition) technology. The server then uses an analysis algorithm to determine the type and difficulty of the question from the text. Specifically, software such as Tesseract OCR is often used.
[1030] Hints are provided step by step to help the user arrive at the answer. The server manages the content and timing of the hints provided, providing appropriate assistance when the user solves the problem. During this process, the server monitors the user's solution status and adjusts the level of detail of the hints according to the user's progress.
[1031] Furthermore, the present invention incorporates an emotion engine. The emotion engine uses the device's camera and microphone to capture the user's facial expressions and voice data, and analyzes that data to recognize the user's emotions. Technologies such as DeepFace and Azure Face API are used for emotion analysis. For example, if a user is struggling to solve a problem, the emotion engine can recognize their facial expression data and provide more detailed hints than before.
[1032] When a user submits an answer, the answer data is sent to the server via the terminal. The server receives this answer data and determines whether it is correct. If the answer is correct, the server automatically generates advanced questions to further deepen the user's proficiency. The advanced questions are adjusted according to the difficulty of the problem the user solved. For example, if the user answered an easy question correctly, an intermediate difficulty question will be presented next.
[1033] The server records the problems the user has worked on and their grades in a database, and visualizes the learning results. The visualized data is fed back to the user in the form of graphs and charts, allowing the user to check their progress and make study plans for the next time. This information can also be viewed by teachers and parents, allowing them to understand the user's learning situation.
[1034] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. It then provides a step-by-step hint: "Consider both sides of the equation and find x." If the emotion engine analyzes the user's facial expression and determines that the user is confused, it provides additional detailed hints. If the user submits the answer "x = 2" and it is determined to be correct, the next intermediate-difficulty problem, "3x - 5 = 10," is automatically generated.
[1035] The emotion engine also records users' emotional data along with their learning outcomes and displays changes in their emotions when visualizing their learning results, allowing users, teachers, and parents to see changes in their emotions during learning and more appropriately adjust their learning plans and support measures.
[1036] An example prompt using a generative AI model is, "Please describe the process for extracting textual information from a photographed image of a mathematical equation using OCR technology, determining the type and difficulty of the problem, and providing detailed hints if the user is stumped."
[1037] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1038] Step 1:
[1039] The user takes a picture of the text question
[1040] Description: The user takes a photo of the text problem using a device with a camera, such as a smartphone or tablet. This image data is saved in JPEG or PNG format.
[1041] Input: Physical paper of text question
[1042] Output: Image file saved on the device (JPEG or PNG format)
[1043] Specific behavior: A user opens the camera app on their smartphone and takes a picture of the mathematical equation "2x + 3 = 7".
[1044] Step 2:
[1045] Uploading images from the device to the server
[1046] Description: The device sends the captured image file to the server. The image file is uploaded to the server using an HTTP request.
[1047] Input: Image file saved on the device
[1048] Output: Image file sent to the server
[1049] Specific operation: The device sends the captured image to the server using an HTTP POST request.
[1050] Step 3:
[1051] The server receives the image and extracts the text information using OCR technology.
[1052] Description: The server analyzes the received image and extracts text information using software such as Tesseract OCR.
[1053] Input: Image file sent to the server
[1054] Output: Text data extracted from the image
[1055] Specific operation: The server reads the received image file and uses Tesseract OCR to extract the text information "2x + 3 = 7".
[1056] Step 4:
[1057] The server determines the type and difficulty of the question from the text information.
[1058] Description: The server analyzes the extracted text and determines the type and difficulty of the problem. Using an algorithm, it determines that the problem is an equation and that the difficulty level is beginner level.
[1059] Input: Text data extracted from an image
[1060] Output: Question type and difficulty information
[1061] Specific behavior: The server analyzes the extracted text "2x + 3 = 7", classifies it as an equation problem, and determines the difficulty level as beginner.
[1062] Step 5:
[1063] The server provides the user with step-by-step hints
[1064] Description: The server generates hints step by step based on the type and difficulty of the question to help the user arrive at the answer and provides them to the user.
[1065] Input: Question type and difficulty information
[1066] Output: Hints provided step by step
[1067] Specific operation: The server generates a basic hint, such as "consider both sides of the equation and find x," and sends it to the terminal.
[1068] Step 6:
[1069] Send answer data from the device to the server
[1070] Description: The user enters answer data and the terminal sends it to the server.
[1071] Input: Answer data entered by the user into the terminal
[1072] Output: Answer data sent to the server
[1073] Specific operation: The user enters the answer "x=2" through the terminal and sends it to the server.
[1074] Step 7:
[1075] The server receives the answer data and determines whether it is correct or not.
[1076] Description: The server receives the answer data submitted by the user and judges whether the answer is correct or not. It uses a judgment algorithm to determine whether the answer is correct.
[1077] Input: Answer data sent to the server
[1078] Output: Correctness of answers
[1079] Specific operation: The server analyzes the answer "x=2" it receives and determines that it is correct.
[1080] Step 8:
[1081] The server automatically generates advanced questions
[1082] Description: The server automatically generates new advanced questions based on the user's correct answers. The generation algorithm adjusts the difficulty of the questions.
[1083] Input: Correct or incorrect answer
[1084] Output: New development problem
[1085] Specific operation: After the server determines that the answer "x = 2" is correct, it automatically generates the intermediate difficulty problem "3x - 5 = 10" and provides it to the user.
[1086] Step 9:
[1087] The server records and visualizes the user's learning results.
[1088] Description: The server records the problems the user has worked on and their grades in a database, and visualizes the learning results using graphs and charts.
[1089] Input: New development questions and performance data
[1090] Output: Visualized learning results
[1091] Specific operation: The server stores the user's question answer history in a database, converts the learning results into a chart, and provides feedback to the user.
[1092] (Application example 2)
[1093] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1094] Conventional learning support systems provide hints to help users arrive at the answer, but they lack detailed responses based on the user's emotions and learning progress. Furthermore, the accuracy of extracting appropriate text information from images of questions taken by the user and determining the type and difficulty of the questions is limited. Furthermore, there are insufficient means to visualize learning progress and emotional changes and provide comprehensive feedback. Therefore, flexible learning support tailored to individual users is difficult to provide.
[1095] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1096] In this invention, the server includes means for receiving images of text questions taken by the user, means for analyzing the received images and extracting text information, means for determining the type and difficulty of the question from the extracted text information and providing hints in stages, means for automatically generating advanced questions based on the student's answers, means for visualizing the learning results and providing feedback, means for capturing the user's facial expressions and voice and analyzing their emotions, and means for adjusting the hint content based on the emotion data. This enables flexible and effective learning support according to the user's learning progress and emotions.
[1097] "User" refers to an individual who uses the system to study materials and answer questions.
[1098] "Image of text question" refers to an image file of paper or digital media containing the question text or question photographed by the user.
[1099] "Means for receiving images" refers to a function for transmitting image files taken by the user to a server and storing them.
[1100] "Means for extracting text information" refers to the function of analyzing and extracting text data from images using OCR technology.
[1101] "Means for determining the type and difficulty of a question" refers to a function that analyzes the extracted character information and automatically determines the category of the question and its difficulty.
[1102] "Means for providing hints in stages" refers to a function that gradually and appropriately presents information that helps the user solve the problem according to the user's progress in solving the problem and their learning situation.
[1103] "Means for automatically generating advanced questions" refers to a function that dynamically generates new questions as the next learning step based on the user's answers and level of proficiency.
[1104] "Means for visualizing learning results and providing feedback" refers to a function that visually displays the user's learning progress and grades in graphs, charts, etc., and provides feedback on learning outcomes and assignments.
[1105] "Means for capturing the user's facial expressions and voice and analyzing their emotions" refers to a function that uses a camera and microphone to obtain the user's facial expressions and voice data and analyzes the user's emotions based on that data.
[1106] "Means for adjusting hint content based on emotional data" refers to a function for appropriately adjusting the content and level of detail of the hint provided based on the analyzed emotional data of the user.
[1107] To implement this invention, a user uses a device with an image capture function, such as a smartphone or tablet. The user first takes a picture of the text problem containing the problem statement and question, and then uploads the image from the device to a server. The server analyzes the received image and extracts text information using OCR (optical character recognition) technology.
[1108] The server uses OpenCV and PyTesseract to analyze text data from images. It also uses Google Cloud Vision API for advanced character recognition. However, this function relies on the server's computing resources, so high-speed and accurate processing is required.
[1109] The extracted text information is used to determine the type and difficulty of the question using an AI model. At this time, hints are provided to the user in stages based on the question category and difficulty. Hints are provided according to the user's answer progress and learning situation. The server also has the function of automatically generating new advanced questions based on the student's answer results. This uses a generative AI model, and the next question is appropriately adjusted according to the difficulty of the problem the user has solved.
[1110] The device's camera and microphone are also used to capture the user's facial expressions and voice data. This data is sent to the server, where the emotion engine analyzes the user's emotions. Based on the analyzed emotion data, the server adjusts the content and level of detail of the hints it provides to help the user arrive at the answer.
[1111] The Google Cloud Natural Language API is used to visualize learning results, which visually displays the user's learning progress and emotional changes, providing comprehensive feedback.
[1112] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it to a server. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. Next, it provides a step-by-step hint, such as "consider both sides of the equation and find x." If the user's facial expression is analyzed and it is determined that they are confused, a more detailed hint is provided. If the user submits the answer "x = 2" and it is determined to be correct, an intermediate-level problem, "3x - 5 = 10," is automatically generated.
[1113] An example prompt is:
[1114] Take a photo and upload the image.
[1115] Please wait until image processing is complete.
[1116] A hint has been displayed, please enter the answer.
[1117] Need a few more tips while analyzing sentiment data?
[1118] In this way, users can receive appropriate support according to their own learning progress and emotional state, allowing them to study more effectively.
[1119] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1120] Step 1:
[1121] Users use their smartphone or tablet to take pictures of study materials or questions, and the camera application captures and saves the images in high resolution.
[1122] Input: Physical paper or screen for text questions
[1123] Output: High resolution problem image file
[1124] Step 2:
[1125] The device uploads the captured image to the server, which receives the image and stores it in storage.
[1126] Input: High resolution problem image file
[1127] Output: Image file saved on the server
[1128] Step 3:
[1129] The server analyzes the received image and extracts text information using OCR technology (using OpenCV and PyTesseract).
[1130] Input: Image file stored on the server
[1131] Output: Extracted text data
[1132] Step 4:
[1133] The server analyzes the extracted text data using an AI model to determine the type and difficulty of the question.
[1134] Input: Extracted text data
[1135] Output: Question type and difficulty information
[1136] Step 5:
[1137] The server provides step-by-step hints based on the user's learning progress. The hints are updated at appropriate times to match the user's progress in solving the questions.
[1138] Input: Question type and difficulty information, user's answer progress
[1139] Output: Hint information
[1140] Step 6:
[1141] The device's camera and microphone are used to capture the user's facial expressions and voice and send them to the server.
[1142] Input: User's facial expression and voice data
[1143] Output: Facial expression and voice data sent to the server
[1144] Step 7:
[1145] The server uses an emotion engine to analyze the captured facial expressions and voice data and determine the user's emotions.
[1146] Input: Facial expression and voice data sent to the server
[1147] Output: User's emotional information
[1148] Step 8:
[1149] The server adjusts the content and level of detail of the hints it provides based on the user's emotional information, providing appropriate support to the user.
[1150] Input: User's emotional information
[1151] Output: Adjusted hint information
[1152] Step 9:
[1153] When a user submits an answer, the answer data is transmitted to the server via the terminal.
[1154] Input: User's answer data
[1155] Output: Answer data sent to the server
[1156] Step 10:
[1157] The server evaluates the received answer data and determines whether it is correct. If it is correct, it automatically generates an advanced question of the next level of difficulty.
[1158] Input: User's answer data
[1159] Output: Correct / incorrect result, advanced questions
[1160] Step 11:
[1161] The server integrates the user's learning results and emotional data, visualizes them, and provides feedback using the Google Cloud Natural Language API.
[1162] Input: User learning result data, emotional information
[1163] Output: Visualized feedback
[1164] These processing steps allow users to learn effectively at their own pace while receiving support at appropriate times.
[1165] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1166] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1167] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1168] [Fourth embodiment]
[1169] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1170] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1171] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1172] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1173] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1174] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1175] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1176] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1177] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1178] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1179] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1180] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1181] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1182] The present invention begins with a user taking a photo of a text question and uploading it to a server. The terminal refers to a device with an image capture function, such as a smartphone or tablet. The image of the text question taken by the user is sent to the server via the terminal.
[1183] The server analyzes the received image and extracts text information using OCR (optical character recognition) technology. From this text information, it determines the type and difficulty of the question and provides step-by-step hints to help the user arrive at the answer. The server manages the content and timing of hints, providing appropriate assistance as the student works to solve the problem.
[1184] The system allows users to solve problems based on the provided hints. When a user submits an answer, the answer data is sent to the server via the terminal. The server receives this answer data and determines whether it is correct or not.
[1185] If the answer is correct, the server automatically generates further questions to further the student's proficiency. These questions are adjusted based on the difficulty of the problem the user just solved. For example, if the user correctly answered an easy question, an intermediate-difficulty question will be presented next.
[1186] The server records the problems the user has worked on and their grades in a database, and visualizes the learning results. The visualized data is fed back to the user in the form of graphs and charts, allowing the user to check their progress and plan their future study. This information can also be viewed by teachers and parents, allowing them to understand the student's learning situation.
[1187] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. The server then provides step-by-step hints such as "consider both sides of the equation and find x." If the user submits the answer "x = 2" and it is determined to be correct, the next step is to automatically generate an advanced problem such as "3x - 5 = 10," which is of intermediate difficulty.
[1188] This allows users to tackle problems that are appropriate for their level of proficiency, gradually improving their academic ability. Through this process, students will be able to establish independent study habits and improve their learning efficiency.
[1189] The processing flow will be explained below.
[1190] Step 1:
[1191] A user takes a photo of a text problem with a smartphone or tablet. For example, a user takes a photo of their math homework.
[1192] Step 2:
[1193] The images taken by the device are uploaded to the server via a dedicated application installed on the device.
[1194] Step 3:
[1195] The server receives the uploaded images and stores them for analysis.
[1196] Step 4:
[1197] The server analyzes the image and uses OCR technology to extract text information from the image, at which point the characters in the image are captured as digital data.
[1198] Step 5:
[1199] The server analyzes the extracted text information and determines the type of question (e.g., mathematics, Japanese, etc.) and difficulty level (e.g., beginner, intermediate, advanced).
[1200] Step 6:
[1201] Based on the judgment, the server generates step-by-step hints to help solve the problem. For example, for beginner-level problems, it provides hints such as "First, check both sides of the equation."
[1202] Step 7:
[1203] The user works on the problem using the displayed hints, thinks of an answer, and enters it into the device.
[1204] Step 8:
[1205] The device sends the user's answer to the server, which receives the answer and determines whether it is correct.
[1206] Step 9:
[1207] The server automatically generates advanced questions based on the student's level of proficiency based on the results of the answers. For example, if the answer to a beginner's level question is correct, an intermediate level question will be generated next.
[1208] Step 10:
[1209] The server presents the user with advanced problems, allowing the user to tackle new problems.
[1210] Step 11:
[1211] The server records the user's answer history and learning results in a database, which is later used to visualize the learning results.
[1212] Step 12:
[1213] The server analyzes the recorded data and visualizes the learning results using graphs and charts, which are then displayed as feedback on the device.
[1214] Step 13:
[1215] Users, teachers, and parents can view visualized learning results, which allows them to understand learning progress and create future learning plans.
[1216] Example 1
[1217] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1218] In today's educational environment, it is important for students to learn effectively at their own pace. However, with traditional paper-based and one-way online learning materials, it is difficult to provide appropriate feedback and hints based on students' understanding and progress, which reduces the efficiency of independent learning. Furthermore, managing grades after students submit their answers and automatically generating the next learning assignment are cumbersome, making it difficult to provide consistent learning support.
[1219] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1220] In this invention, the server includes means for receiving images of text questions taken by the user, means for analyzing the received images and extracting text information, means for analyzing the extracted text information using natural language processing technology, means for generating appropriate hints using a generative AI model, means for automatically generating advanced questions based on the student's answers, and means for visualizing learning results and providing feedback. This allows the user to study at their own pace, and hints and the next learning task are automatically provided according to the user's level of understanding, enabling effective and efficient learning.
[1221] "User" refers to a person who uses the system to take photos of text questions and submit answers.
[1222] "Device" refers to a device, such as a smartphone or tablet, that a user uses to take a photo of a text question and send the image to a server.
[1223] The term "server" refers to a computer system that receives images of text questions sent by users, analyzes them, and provides hints and advanced questions.
[1224] "Text questions" refer to learning materials consisting of sentences and formulas written on paper or a display.
[1225] "Means for receiving images" refers to a communication function that enables the server to receive image data sent from the terminal.
[1226] "Means for extracting text information" refers to the function of extracting text data from an image using OCR technology.
[1227] "Natural language processing technology" refers to technology for analyzing text data and semantically understanding its content.
[1228] A "generative AI model" refers to a system that uses artificial intelligence to generate hints and next questions that are appropriate for the user.
[1229] "Means for providing hints" refers to a function that presents advice and clues for solving a problem to the user in stages.
[1230] "Means for automatically generating advanced questions" refers to the function by which the system automatically creates the next learning task based on the user's current level of understanding.
[1231] "Means for visualizing learning results" refers to the function of displaying a user's learning progress and grades as diagrams or charts.
[1232] The present invention begins with the user taking a photo of the text question and uploading it to a server. First, the user takes a photo of the text question using a device such as a smartphone or tablet. These devices are equipped with an image capture function, and the captured image is sent to the server via the Internet.
[1233] The server analyzes the received image and extracts text information using OCR (Optical Character Recognition) technology. Specifically, Tesseract is used for this OCR technology. Using Tesseract makes it possible to extract text information from images with high accuracy.
[1234] The extracted text information is then analyzed using natural language processing techniques, specifically using the Python libraries spaCy and nltk, to determine the type of question (e.g., mathematical equation, grammar question, etc.) and its difficulty level.
[1235] Based on the determined information, the server uses a generative AI model (e.g., OpenAI's GPT-3) to generate appropriate hints, which are then provided to the user in stages.
[1236] For example, if a user takes a photo of a math equation problem and uploads it, the server extracts the text information "2x + 3 = 7" from the image, analyzes it, and recognizes that it is an equation problem. It then inputs the following prompt to the generative AI model:
[1237] "I've been given a math equation problem. If 2x + 3 = 7, can you give me a hint on how to solve for x?"
[1238] Based on the input prompt, the generative AI model generates hints such as:
[1239] "Examine both sides of the equation and find x. For example, let's start by subtracting 3 from both sides."
[1240] The user solves the problem using the provided hints and submits the answer to the server via their device. The server receives this answer data and compares it with an internal answer key to determine whether the answer is correct or incorrect. If the answer is correct, the server automatically generates an advanced problem according to the user's level of proficiency. For example, if the user correctly answers the beginner's problem "2x + 3 = 7", the server generates an intermediate problem "3x - 5 = 10".
[1241] The server stores the user's learning results in a database (MySQL) and visualizes them as graphs and charts using Python libraries such as matplotlib and Plotly. Users can check their progress through this visualized data and plan their next study. Teachers and parents can also refer to this data to understand the student's learning situation.
[1242] This series of processes allows users to study at their own pace, and hints and next learning tasks are automatically provided based on their level of understanding, enabling effective and efficient learning.
[1243] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1244] Step 1:
[1245] A user takes a photo of the text problem using a smartphone or tablet.
[1246] Specific actions: The user opens the photo app, holds the camera so that the text question is visible, and presses the shutter button to take a photo of the question.
[1247] Input: Paper or screen with text questions written on it
[1248] Output: Image file of text question
[1249] Step 2:
[1250] The device sends the photograph to the server.
[1251] Specific operation: Select the captured image file and press the upload button to send the image to the server. The image data is sent to the server using an HTTP POST request.
[1252] Input: Image file for text questions
[1253] Output: Image data uploaded to the server
[1254] Step 3:
[1255] The server analyzes the received image and performs OCR processing.
[1256] Specific operation: The server temporarily stores the received image file and extracts text information from the image using Tesseract OCR.
[1257] Input: Uploaded image data
[1258] Output: Extracted text information
[1259] Step 4:
[1260] The server analyzes the text information using natural language processing technology to determine the type and difficulty of the question.
[1261] Specific operation: Using the extracted text information, analysis is performed using Python libraries (spaCy and nltk) to determine the type of problem (e.g., mathematical equation) and difficulty level.
[1262] Input: Extracted text information
[1263] Output: Question type and difficulty level
[1264] Step 5:
[1265] The server uses the generative AI model to provide appropriate hints to the user.
[1266] Specific operation: Based on the type and difficulty of the problem determined, a prompt sentence is sent to the generative AI model to generate a hint.
[1267] Input: Question type and difficulty level, prompt
[1268] Output: Generated hints
[1269] Step 6:
[1270] The user creates an answer based on the hints provided by the server and submits the answer to the server.
[1271] Specific actions: The user checks the provided hints, writes down the answer on paper or a digital form, and submits it to the server.
[1272] Input: Generated hint, user's answer
[1273] Output: Answer data submitted to the server
[1274] Step 7:
[1275] The server judges the answer and automatically generates the next question.
[1276] Specific operation: The submitted answer is compared with an internal database of correct answers to determine whether it is correct or incorrect. If the answer is correct, the next question is automatically generated according to the difficulty level.
[1277] Input: User's answer data
[1278] Output: result and next question
[1279] Step 8:
[1280] The server records the user's learning performance and visualizes the learning results.
[1281] Specific operation: User answers and scores are stored in a database and displayed as graphs and charts using Python's matplotlib and Plotly.
[1282] Input: Assessment result, next question, learning performance data
[1283] Output: Visualized feedback of the learning results
[1284] (Application example 1)
[1285] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1286] In modern educational and industrial systems, it is extremely important to efficiently analyze text and work procedure information captured by users and provide appropriate feedback and hints based on the analysis results. However, previous systems have had issues with low accuracy in analyzing text and procedure information, making it difficult to provide appropriate feedback in real time. In particular, it has been difficult for learning systems to efficiently generate advanced problems based on the user's level of proficiency, and to provide timely feedback on the progress of factory work and how to correct it. New technologies are needed to solve these issues.
[1287] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1288] In this invention, the server includes means for receiving an image of a text problem photographed by a user, means for analyzing the received image and extracting character information, means for determining the type and difficulty of the problem from the extracted character information and providing hints in stages, means for automatically generating advanced questions based on the student's answers, means for visualizing the learning results and providing feedback, means for receiving an image of work procedure information photographed by a user, means for analyzing the received image and extracting the procedure information, and means for providing feedback on the progress of the work and correction methods from the extracted procedure information. This makes it possible to analyze the text and work procedure information photographed by the user with high accuracy and provide appropriate feedback and hints in real time.
[1289] A "user" is an individual who uses the system to take and upload images of text questions and work procedure information.
[1290] The "image receiving means" is a means by which the server receives images of text questions and work procedure information taken by the user.
[1291] The "image analysis means" is a means for extracting text information and procedure information from the received image.
[1292] The "character information extraction means" is a means of recognizing characters from an image using OCR technology and obtaining text data.
[1293] The "question type determination means" is a means for determining the type and difficulty of a question based on the extracted character information.
[1294] The "hint providing means" is a means for providing hints to the user in stages according to the type and difficulty of the problem that has been determined.
[1295] The "advanced question generation means" is a means for automatically generating new questions based on students' answers.
[1296] The "learning result visualization means" is a means for displaying the progress and results of learning to the user in the form of graphs or charts.
[1297] "Work procedure information" is information that describes the procedures and steps in work at a factory or the like.
[1298] The "work progress status determination means" is a means for evaluating the current work progress status based on the extracted procedure information.
[1299] The "modification method feedback means" is a means for presenting a modification method to the user as needed based on the progress of the work.
[1300] "Server" refers to the central computer system that receives, analyzes, and processes image data uploaded by users.
[1301] This invention is a system that receives images of text problems and work procedure information taken by the user, analyzes them, and provides appropriate feedback. The main components of this system are as follows:
[1302] 1. User Device
[1303] The user terminal is a device with an image capture function, such as a smartphone or tablet. The user uses this terminal to take images of text questions and work procedure information and upload them to the server.
[1304] 2. Server
[1305] The server is the central computer system responsible for analyzing the received images and processing the data. The server has the following functions:
[1306] Image receiving means: Receives image data uploaded from the user terminal.
[1307] Image analysis method: Extract text and procedural information from images using OCR (such as Tesseract OCR) technology.
[1308] Problem type determination means: Determine the type and difficulty of the problem based on the extracted text information. For example, determine whether it is a mathematical equation and its difficulty.
[1309] Hint provision method: Provides hints to the user step by step, leading them to the answer.
[1310] Advanced question generation method: New questions are automatically generated based on the students' answers, and the next learning content is presented.
[1311] Learning result visualization means: Visualize learning progress and results to users and display them in graphs and charts.
[1312] Work progress determination means: Evaluate the current work progress based on the extracted procedure information.
[1313] Correction method feedback means: Based on the progress of the work, feedback on correction methods will be provided as necessary.
[1314] Specific examples
[1315] For example, if a user takes a photo of a process manual that reads "Step 1: Start machine" and uploads it, the server will analyze this text using OCR technology and return feedback such as "Step 1 complete, next step: Step 2: Calibrate sensors." This system allows users to proceed to the next process efficiently and reduces work errors.
[1316] An example of an input prompt for a generative AI model would be:
[1317] Please upload an image and analyze the contents of the factory work procedure manual or process chart. The image contains the text "Step 1: Start machine." Please provide the next work procedure based on this content.
[1318] This enables the server to analyze images taken by users with high accuracy and provide appropriate feedback in real time. This mechanism realizes efficient support for both learning systems and industrial systems.
[1319] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1320] Step 1:
[1321] The user device takes a picture and generates an image of the text problem or work procedure information. At this time, the input is the image data taken by the camera, and the output is an image file.
[1322] Step 2:
[1323] The user device uploads the image taken to the server. The input is the image file generated in step 1, and the output is the image data sent to the server.
[1324] Step 3:
[1325] The server receives the uploaded image. The input is the image data sent from the user's device, and the output is the image file stored in the server.
[1326] Step 4:
[1327] The server analyzes the image received using OCR technology and extracts text information. Specifically, it uses software such as Tesseract OCR. The input is an image file stored on the server, and the output is text data with text information.
[1328] Step 5:
[1329] The server determines the type and difficulty of the problem from the extracted text information. For example, it evaluates whether the text information is a mathematical equation and its difficulty. A generative AI model is used for this process. The input is text data of the text information, and the output is the type and difficulty of the problem.
[1330] Step 6:
[1331] The server provides hints to the user in stages based on the type and difficulty of the problem. Specifically, it generates and notifies different hints according to the user's progress. The input is the type and difficulty of the problem, and the output is text data of the hints.
[1332] Step 7:
[1333] The user answers the questions based on the hints and sends the answers to the server. The input is the user's answer data, and the output is the answer data sent to the server.
[1334] Step 8:
[1335] The server receives the user's answer and determines whether it is correct. Specifically, it analyzes the answer data and compares it with the correct answer to the question. The input is the user's answer data, and the output is the result of determining whether the answer is correct.
[1336] Step 9:
[1337] If the server answers correctly, it automatically generates advanced questions that match the user's level of proficiency. Specifically, it adjusts the questions by taking into account the user's past performance. The input is the result of the judgment of whether the answer was correct or not and past performance data, and the output is text data of the new advanced questions.
[1338] Step 10:
[1339] The server visualizes the user's learning results and provides feedback. Specifically, it generates graphs and charts and displays them to the user. The input is the user's past performance data, and the output is visualized learning result data.
[1340] Step 11:
[1341] The server analyzes the image of the work procedure information received from the user terminal and extracts the procedure information. It uses OCR technology to extract text information from the image. The input is the received image file, and the output is the text data of the procedure information.
[1342] Step 12:
[1343] The server evaluates the current progress of work based on the procedure information extracted. Specifically, it compares it with historical data of the work to determine the progress. The input is text data of the procedure information, and the output is the evaluation result of the work progress.
[1344] Step 13:
[1345] The server provides feedback to the user on how to correct the problem as needed based on the progress of the work. Specifically, it generates appropriate correction procedures and notifies the user. The input is the evaluation result of the progress of the work, and the output is text data of the correction procedures.
[1346] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1347] The present invention begins with a user taking a photo of a text question and uploading it to a server. The terminal is a device with an image capture function, such as a smartphone or tablet. The image of the text question taken by the user is sent to the server via the terminal.
[1348] The server analyzes the received image and extracts text information using OCR (optical character recognition) technology. From this text information, it determines the type and difficulty of the question and provides step-by-step hints to help the user arrive at the answer. The server manages the content and timing of hints, providing appropriate assistance as the student works to solve the problem.
[1349] Furthermore, the present invention incorporates an emotion engine. The emotion engine uses the device's camera and microphone to capture the user's facial expressions and voice, and analyzes the data to recognize the user's emotions. For example, if the user is confused about a test, the emotion engine can recognize the user's facial expression data and provide more detailed hints than before.
[1350] The user solves the problem based on the provided hints. When the user submits the answer, the answer data is sent to the server via the terminal. The server receives this answer data and determines whether it is correct or not.
[1351] If the answer is correct, the server automatically generates follow-up questions to further the student's proficiency. These follow-up questions are adjusted in difficulty depending on the problem the user just solved. For example, if the user correctly answered an easy problem, an intermediate-difficulty problem will be presented next.
[1352] The server records the problems the user has worked on and their grades in a database, and visualizes the learning results. The visualized data is fed back to the user in the form of graphs and charts, allowing the user to check their progress and plan their future study. This information can also be viewed by teachers and parents, allowing them to understand the student's learning situation.
[1353] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. It then provides a step-by-step hint: "Consider both sides of the equation and find x." If the emotion engine analyzes the user's facial expression and determines that the user is confused, it provides additional detailed hints. If the user submits the answer "x = 2" and it is determined to be correct, the next intermediate-difficulty problem, "3x - 5 = 10," is automatically generated.
[1354] The emotion engine also records users' emotional data along with their learning outcomes and displays changes in their emotions when visualizing their learning results, allowing users, teachers, and parents to see changes in their emotions during learning and more appropriately adjust their learning plans and support measures.
[1355] This process allows users to tackle problems that correspond to their own level of proficiency and gradually improve their academic ability. Furthermore, emotional feedback can be provided to provide a better learning experience.
[1356] The processing flow will be explained below.
[1357] Step 1:
[1358] A user takes a photo of a text problem with a smartphone or tablet. For example, a user takes a photo of their math homework.
[1359] Step 2:
[1360] The images taken by the device are uploaded to the server via a dedicated application installed on the device.
[1361] Step 3:
[1362] The server receives the uploaded images and stores them for analysis.
[1363] Step 4:
[1364] The server analyzes the image and uses OCR technology to extract text information from the image, at which point the characters in the image are captured as digital data.
[1365] Step 5:
[1366] The server analyzes the extracted text information and determines the type of question (e.g., mathematics, Japanese, etc.) and difficulty level (e.g., beginner, intermediate, advanced).
[1367] Step 6:
[1368] Based on the judgment, the server generates step-by-step hints to help solve the problem. For example, for beginner-level problems, it provides hints such as "First, check both sides of the equation."
[1369] Step 7:
[1370] The user works on the problem using the displayed hints, thinks of an answer, and enters it into the device.
[1371] Step 8:
[1372] The device sends the user's answer to the server, which receives the answer and determines whether it is correct.
[1373] Step 9:
[1374] The server automatically generates advanced questions based on the user's answers, depending on the student's level of proficiency. For example, if the student correctly answers a simple equation, an equation of intermediate difficulty will be generated next.
[1375] Step 10:
[1376] The server presents the user with advanced problems, allowing the user to tackle new problems.
[1377] Step 11:
[1378] The server records the user's answer history and learning results in a database, which is later used to visualize the learning results.
[1379] Step 12:
[1380] The server analyzes the recorded data and visualizes the learning results using graphs and charts, which are then fed back to the user via their device.
[1381] Step 13:
[1382] Users, teachers, and parents can view visualized learning results, which allows them to understand learning progress and plan future learning.
[1383] Step 14:
[1384] The device uses a camera and microphone to capture the user's facial expressions and voice, and the emotion engine analyzes this data in real time to recognize the user's emotions.
[1385] Step 15:
[1386] The emotion engine sends the user's emotion data to the server. For example, if the user is confused, the data is sent to the server.
[1387] Step 16:
[1388] The server adjusts the content and timing of hints it provides based on the user's emotional data. For example, if it detects that the user is confused, it provides more detailed hints.
[1389] Step 17:
[1390] The server records the user's emotional data along with their learning outcomes, and displays changes in their emotions when visualizing their learning results, allowing users to understand changes in their emotions during the learning process.
[1391] Step 18:
[1392] Users can check the learning results and feedback on emotional data and adjust their learning plans for the next time. Teachers and parents can also refer to the emotional data and provide appropriate learning support.
[1393] Through this series of steps, users can tackle problems that are appropriate for their level of proficiency, receive emotional feedback, and gradually improve their academic ability.
[1394] Example 2
[1395] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1396] Conventional text problem-solving systems lack appropriate feedback on the user's progress and proficiency. Furthermore, they do not provide learning support that takes into account the user's emotional state, which can result in poor motivation to learn. Furthermore, if step-by-step hints are not provided effectively, it is difficult to support the user's effective learning. Therefore, there is a need for a system that provides step-by-step and appropriate learning support based on the user's progress and emotional state.
[1397] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1398] In this invention, the server includes means for receiving images of text questions taken by the user, means for analyzing the received images and extracting text information, means for determining the type and difficulty of the question from the extracted text information and providing hints in stages, means for receiving the user's facial expression and voice data and analyzing their emotions, means for providing detailed hints according to the user's answering progress and emotions, means for automatically generating advanced questions based on the student's answers, and means for visualizing the learning results and providing feedback. This enables gradual and appropriate learning support according to the user's progress and emotional state.
[1399] "User" refers to a learner who uses the system to solve text problems.
[1400] "Text questions" refer to questions presented in text format in subjects such as mathematics and Japanese.
[1401] "Means for receiving images" refers to a device or software that has the function of transmitting images of text questions taken by a user to a server and receiving them.
[1402] "Means for analyzing images and extracting text information" refers to devices or software that have the function of extracting text information from received images using OCR technology.
[1403] "Means for determining the type and difficulty of a question and providing hints in stages" refers to a device or software that has the function of analyzing extracted text information to determine the type and difficulty of a question and providing the user with information that will serve as clues to the answer in stages.
[1404] "Means for receiving facial and voice data and analyzing emotions" refers to devices or software that have the function of receiving a user's facial and voice data from a terminal, analyzing it, and determining the user's emotional state.
[1405] "Means for providing detailed hints according to the user's progress in solving the problem and their emotions" refers to devices or software that have the function of providing more detailed clues to the answer at an appropriate time based on the user's progress in solving the problem and their emotional state.
[1406] "Means for automatically generating advanced questions" refers to devices or software that have the function of dynamically generating the next advanced question to be tackled based on the user's answer results and level of proficiency.
[1407] "Means for visualizing learning results and providing feedback" refers to devices or software that have the function of recording a user's learning history and grades in a database and presenting them to the user in a visual format such as graphs or charts.
[1408] The present invention begins with a user taking a photo of a text question and uploading it to a server. The terminal is a device with an image capture function, such as a smartphone or tablet, that is responsible for taking and sending the image. The image of the text question taken by the user is sent to the server through the terminal.
[1409] The server analyzes the received image and extracts text using OCR (Optical Character Recognition) technology. The server then uses an analysis algorithm to determine the type and difficulty of the question from the text. Specifically, software such as Tesseract OCR is often used.
[1410] Hints are provided step by step to help the user arrive at the answer. The server manages the content and timing of the hints provided, providing appropriate assistance when the user solves the problem. During this process, the server monitors the user's solution status and adjusts the level of detail of the hints according to the user's progress.
[1411] Furthermore, the present invention incorporates an emotion engine. The emotion engine uses the device's camera and microphone to capture the user's facial expressions and voice data, and analyzes that data to recognize the user's emotions. Technologies such as DeepFace and Azure Face API are used for emotion analysis. For example, if a user is struggling to solve a problem, the emotion engine can recognize their facial expression data and provide more detailed hints than before.
[1412] When a user submits an answer, the answer data is sent to the server via the terminal. The server receives this answer data and determines whether it is correct. If the answer is correct, the server automatically generates advanced questions to further deepen the user's proficiency. The advanced questions are adjusted according to the difficulty of the problem the user solved. For example, if the user answered an easy question correctly, an intermediate difficulty question will be presented next.
[1413] The server records the problems the user has worked on and their grades in a database, and visualizes the learning results. The visualized data is fed back to the user in the form of graphs and charts, allowing the user to check their progress and make study plans for the next time. This information can also be viewed by teachers and parents, allowing them to understand the user's learning situation.
[1414] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. It then provides a step-by-step hint: "Consider both sides of the equation and find x." If the emotion engine analyzes the user's facial expression and determines that the user is confused, it provides additional detailed hints. If the user submits the answer "x = 2" and it is determined to be correct, the next intermediate-difficulty problem, "3x - 5 = 10," is automatically generated.
[1415] The emotion engine also records users' emotional data along with their learning outcomes and displays changes in their emotions when visualizing their learning results, allowing users, teachers, and parents to see changes in their emotions during learning and more appropriately adjust their learning plans and support measures.
[1416] An example prompt using a generative AI model is, "Please describe the process for extracting textual information from a photographed image of a mathematical equation using OCR technology, determining the type and difficulty of the problem, and providing detailed hints if the user is stumped."
[1417] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1418] Step 1:
[1419] The user takes a picture of the text question
[1420] Description: The user takes a photo of the text problem using a device with a camera, such as a smartphone or tablet. This image data is saved in JPEG or PNG format.
[1421] Input: Physical paper of text question
[1422] Output: Image file saved on the device (JPEG or PNG format)
[1423] Specific behavior: A user opens the camera app on their smartphone and takes a picture of the mathematical equation "2x + 3 = 7".
[1424] Step 2:
[1425] Uploading images from the device to the server
[1426] Description: The device sends the captured image file to the server. The image file is uploaded to the server using an HTTP request.
[1427] Input: Image file saved on the device
[1428] Output: Image file sent to the server
[1429] Specific operation: The device sends the captured image to the server using an HTTP POST request.
[1430] Step 3:
[1431] The server receives the image and extracts the text information using OCR technology.
[1432] Description: The server analyzes the received image and extracts text information using software such as Tesseract OCR.
[1433] Input: Image file sent to the server
[1434] Output: Text data extracted from the image
[1435] Specific operation: The server reads the received image file and uses Tesseract OCR to extract the text information "2x + 3 = 7".
[1436] Step 4:
[1437] The server determines the type and difficulty of the question from the text information.
[1438] Description: The server analyzes the extracted text and determines the type and difficulty of the problem. Using an algorithm, it determines that the problem is an equation and that the difficulty level is beginner level.
[1439] Input: Text data extracted from an image
[1440] Output: Question type and difficulty information
[1441] Specific behavior: The server analyzes the extracted text "2x + 3 = 7", classifies it as an equation problem, and determines the difficulty level as beginner.
[1442] Step 5:
[1443] The server provides the user with step-by-step hints
[1444] Description: The server generates hints step by step based on the type and difficulty of the question to help the user arrive at the answer and provides them to the user.
[1445] Input: Question type and difficulty information
[1446] Output: Hints provided step by step
[1447] Specific operation: The server generates a basic hint, such as "consider both sides of the equation and find x," and sends it to the terminal.
[1448] Step 6:
[1449] Send answer data from the device to the server
[1450] Description: The user enters answer data and the terminal sends it to the server.
[1451] Input: Answer data entered by the user into the terminal
[1452] Output: Answer data sent to the server
[1453] Specific operation: The user enters the answer "x=2" through the terminal and sends it to the server.
[1454] Step 7:
[1455] The server receives the answer data and determines whether it is correct or not.
[1456] Description: The server receives the answer data submitted by the user and judges whether the answer is correct or not. It uses a judgment algorithm to determine whether the answer is correct.
[1457] Input: Answer data sent to the server
[1458] Output: Correctness of answers
[1459] Specific operation: The server analyzes the answer "x=2" it receives and determines that it is correct.
[1460] Step 8:
[1461] The server automatically generates advanced questions
[1462] Description: The server automatically generates new advanced questions based on the user's correct answers. The generation algorithm adjusts the difficulty of the questions.
[1463] Input: Correct or incorrect answer
[1464] Output: New development problem
[1465] Specific operation: After the server determines that the answer "x = 2" is correct, it automatically generates the intermediate difficulty problem "3x - 5 = 10" and provides it to the user.
[1466] Step 9:
[1467] The server records and visualizes the user's learning results.
[1468] Description: The server records the problems the user has worked on and their grades in a database, and visualizes the learning results using graphs and charts.
[1469] Input: New development questions and performance data
[1470] Output: Visualized learning results
[1471] Specific operation: The server stores the user's question answer history in a database, converts the learning results into a chart, and provides feedback to the user.
[1472] (Application example 2)
[1473] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1474] Conventional learning support systems provide hints to help users arrive at the answer, but they lack detailed responses based on the user's emotions and learning progress. Furthermore, the accuracy of extracting appropriate text information from images of questions taken by the user and determining the type and difficulty of the questions is limited. Furthermore, there are insufficient means to visualize learning progress and emotional changes and provide comprehensive feedback. Therefore, flexible learning support tailored to individual users is difficult to provide.
[1475] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1476] In this invention, the server includes means for receiving images of text questions taken by the user, means for analyzing the received images and extracting text information, means for determining the type and difficulty of the question from the extracted text information and providing hints in stages, means for automatically generating advanced questions based on the student's answers, means for visualizing the learning results and providing feedback, means for capturing the user's facial expressions and voice and analyzing their emotions, and means for adjusting the hint content based on the emotion data. This enables flexible and effective learning support according to the user's learning progress and emotions.
[1477] "User" refers to an individual who uses the system to study materials and answer questions.
[1478] "Image of text question" refers to an image file of paper or digital media containing the question text or question photographed by the user.
[1479] "Means for receiving images" refers to a function for transmitting image files taken by the user to a server and storing them.
[1480] "Means for extracting text information" refers to the function of analyzing and extracting text data from images using OCR technology.
[1481] "Means for determining the type and difficulty of a question" refers to a function that analyzes the extracted character information and automatically determines the category of the question and its difficulty.
[1482] "Means for providing hints in stages" refers to a function that gradually and appropriately presents information that helps the user solve the problem according to the user's progress in solving the problem and their learning situation.
[1483] "Means for automatically generating advanced questions" refers to a function that dynamically generates new questions as the next learning step based on the user's answers and level of proficiency.
[1484] "Means for visualizing learning results and providing feedback" refers to a function that visually displays the user's learning progress and grades in graphs, charts, etc., and provides feedback on learning outcomes and assignments.
[1485] "Means for capturing the user's facial expressions and voice and analyzing their emotions" refers to a function that uses a camera and microphone to obtain the user's facial expressions and voice data and analyzes the user's emotions based on that data.
[1486] "Means for adjusting hint content based on emotional data" refers to a function for appropriately adjusting the content and level of detail of the hint provided based on the analyzed emotional data of the user.
[1487] To implement this invention, a user uses a device with an image capture function, such as a smartphone or tablet. The user first takes a picture of the text problem containing the problem statement and question, and then uploads the image from the device to a server. The server analyzes the received image and extracts text information using OCR (optical character recognition) technology.
[1488] The server uses OpenCV and PyTesseract to analyze text data from images. It also uses Google Cloud Vision API for advanced character recognition. However, this function relies on the server's computing resources, so high-speed and accurate processing is required.
[1489] The extracted text information is used to determine the type and difficulty of the question using an AI model. At this time, hints are provided to the user in stages based on the question category and difficulty. Hints are provided according to the user's answer progress and learning situation. The server also has the function of automatically generating new advanced questions based on the student's answer results. This uses a generative AI model, and the next question is appropriately adjusted according to the difficulty of the problem the user has solved.
[1490] The device's camera and microphone are also used to capture the user's facial expressions and voice data. This data is sent to the server, where the emotion engine analyzes the user's emotions. Based on the analyzed emotion data, the server adjusts the content and level of detail of the hints it provides to help the user arrive at the answer.
[1491] The Google Cloud Natural Language API is used to visualize learning results, which visually displays the user's learning progress and emotional changes, providing comprehensive feedback.
[1492] As a concrete example, consider the case where a user takes a photo of a mathematical equation problem and uploads it to a server. The server extracts the text information "2x + 3 = 7" from the received image, analyzes it, and determines that it is an equation problem. Next, it provides a step-by-step hint, such as "consider both sides of the equation and find x." If the user's facial expression is analyzed and it is determined that they are confused, a more detailed hint is provided. If the user submits the answer "x = 2" and it is determined to be correct, an intermediate-level problem, "3x - 5 = 10," is automatically generated.
[1493] An example prompt is:
[1494] Take a photo and upload the image.
[1495] Please wait until image processing is complete.
[1496] A hint has been displayed, please enter the answer.
[1497] Need a few more tips while analyzing sentiment data?
[1498] In this way, users can receive appropriate support according to their own learning progress and emotional state, allowing them to study more effectively.
[1499] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1500] Step 1:
[1501] Users use their smartphone or tablet to take pictures of study materials or questions, and the camera application captures and saves the images in high resolution.
[1502] Input: Physical paper or screen for text questions
[1503] Output: High resolution problem image file
[1504] Step 2:
[1505] The device uploads the captured image to the server, which receives the image and stores it in storage.
[1506] Input: High resolution problem image file
[1507] Output: Image file saved on the server
[1508] Step 3:
[1509] The server analyzes the received image and extracts text information using OCR technology (using OpenCV and PyTesseract).
[1510] Input: Image file stored on the server
[1511] Output: Extracted text data
[1512] Step 4:
[1513] The server analyzes the extracted text data using an AI model to determine the type and difficulty of the question.
[1514] Input: Extracted text data
[1515] Output: Question type and difficulty information
[1516] Step 5:
[1517] The server provides step-by-step hints based on the user's learning progress. The hints are updated at appropriate times to match the user's progress in solving the questions.
[1518] Input: Question type and difficulty information, user's answer progress
[1519] Output: Hint information
[1520] Step 6:
[1521] The device's camera and microphone are used to capture the user's facial expressions and voice and send them to the server.
[1522] Input: User's facial expression and voice data
[1523] Output: Facial expression and voice data sent to the server
[1524] Step 7:
[1525] The server uses an emotion engine to analyze the captured facial expressions and voice data and determine the user's emotions.
[1526] Input: Facial expression and voice data sent to the server
[1527] Output: User's emotional information
[1528] Step 8:
[1529] The server adjusts the content and level of detail of the hints it provides based on the user's emotional information, providing appropriate support to the user.
[1530] Input: User's emotional information
[1531] Output: Adjusted hint information
[1532] Step 9:
[1533] When a user submits an answer, the answer data is transmitted to the server via the terminal.
[1534] Input: User's answer data
[1535] Output: Answer data sent to the server
[1536] Step 10:
[1537] The server evaluates the received answer data and determines whether it is correct. If it is correct, it automatically generates an advanced question of the next level of difficulty.
[1538] Input: User's answer data
[1539] Output: Correct / incorrect result, advanced questions
[1540] Step 11:
[1541] The server integrates the user's learning results and emotional data, visualizes them, and provides feedback using the Google Cloud Natural Language API.
[1542] Input: User learning result data, emotional information
[1543] Output: Visualized feedback
[1544] These processing steps allow users to learn effectively at their own pace while receiving support at appropriate times.
[1545] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1546] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1547] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1548] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1549] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1550] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1551] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1552] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1553] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1554] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1555] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1556] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1557] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1558] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1559] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1560] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1561] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1562] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1563] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1564] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1565] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1566] The following is further disclosed regarding the above embodiment.
[1567] (Claim 1)
[1568] means for receiving an image of a text question captured by a user;
[1569] means for analyzing the received image and extracting text information;
[1570] A means for determining the type and difficulty of a problem from the extracted text information and providing hints in stages;
[1571] A means to automatically generate advanced questions based on students' answers,
[1572] a means of visualizing learning results and providing feedback;
[1573] A system including:
[1574] (Claim 2)
[1575] 10. The system of claim 1, wherein the user uploads the captured image to the server.
[1576] (Claim 3)
[1577] 2. The system according to claim 1, wherein the means for providing hints provides different hints in stages according to the progress of the student in solving the problem.
[1578] "Example 1"
[1579] (Claim 1)
[1580] means for receiving an image of a text question captured by a user;
[1581] means for analyzing the received image and extracting text information;
[1582] A means for determining the type and difficulty of a problem from the extracted text information and providing hints in stages;
[1583] A means for analyzing the extracted text information using natural language processing technology;
[1584] a means for generating appropriate hints using a generative AI model; and
[1585] A means to automatically generate advanced questions based on students' answers,
[1586] a means of visualizing learning results and providing feedback;
[1587] A system including:
[1588] (Claim 2)
[1589] 10. The system of claim 1, wherein the user uploads the captured image to the server.
[1590] (Claim 3)
[1591] 2. The system according to claim 1, wherein the means for providing hints provides different hints in stages according to the progress of the student in solving the problem.
[1592] "Application Example 1"
[1593] (Claim 1)
[1594] means for receiving an image of a text question captured by a user;
[1595] means for analyzing the received image and extracting text information;
[1596] A means for determining the type and difficulty of a problem from the extracted text information and providing hints in stages;
[1597] A means to automatically generate advanced questions based on students' answers,
[1598] a means of visualizing learning results and providing feedback;
[1599] means for receiving an image of the work procedure information photographed by a user;
[1600] means for analyzing the received image to extract procedure information;
[1601] A means for providing feedback on the progress of work and how to correct it from the extracted procedure information;
[1602] A system including:
[1603] (Claim 2)
[1604] 10. The system of claim 1, wherein the user uploads the captured image to the server.
[1605] (Claim 3)
[1606] 2. The system according to claim 1, wherein the means for providing hints provides different hints in stages according to the progress of the student in solving the problem.
[1607] (Claim 4)
[1608] 2. The system according to claim 1, which analyzes the progress of work and provides feedback on appropriate work procedures.
[1609] "Example 2: Combining Emotion Engines"
[1610] (Claim 1)
[1611] means for receiving an image of a text question captured by a user;
[1612] means for analyzing the received image and extracting text information;
[1613] A means for determining the type and difficulty of a problem from the extracted text information and providing hints in stages;
[1614] A means for receiving facial expression and voice data of a user and analyzing emotions;
[1615] A means to provide detailed hints according to the user's progress and emotions,
[1616] A means to automatically generate advanced questions based on students' answers,
[1617] a means of visualizing learning results and providing feedback;
[1618] A system including:
[1619] (Claim 2)
[1620] 10. The system of claim 1, wherein the user uploads the captured image to a central processing unit.
[1621] (Claim 3)
[1622] 2. The system according to claim 1, wherein the means for providing hints provides different hints in stages according to the progress of the student in solving the problem.
[1623] "Application example 2 when combining emotion engines"
[1624] New Claims
[1625] (Claim 1)
[1626] means for receiving an image of a text question captured by a user;
[1627] means for analyzing the received image and extracting text information;
[1628] A means for determining the type and difficulty of a problem from the extracted text information and providing hints in stages;
[1629] A means to automatically generate advanced questions based on students' answers,
[1630] a means of visualizing learning results and providing feedback;
[1631] A means of capturing the user's facial expressions and voice to analyze their emotions;
[1632] a means for adjusting the hint content based on the emotion data;
[1633] A system including:
[1634] (Claim 2)
[1635] 10. The system of claim 1, wherein the user uploads the captured image to the server.
[1636] (Claim 3)
[1637] 2. The system according to claim 1, wherein the means for providing hints provides different hints in stages according to the progress of the student in solving the problem.
[1638] (Claim 4)
[1639] The system according to claim 1, wherein changes in emotions are displayed when the learning results are visualized.
[1640] (Claim 5)
[1641] 2. The system according to claim 1, wherein when a user submits an answer, the answer data is sent to a server, which determines whether the answer is correct. [Explanation of symbols]
[1642] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. means for receiving an image of a text question captured by a user; means for analyzing the received image and extracting text information; A means for determining the type and difficulty of a problem from the extracted text information and providing hints in stages; A means to automatically generate advanced questions based on students' answers, a means of visualizing learning results and providing feedback; A system including:
2. 2. The system of claim 1, wherein the user uploads the captured image to the server.
3. 2. The system according to claim 1, wherein the means for providing hints provides different hints in stages according to the progress of the student in solving the problem.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A