WO2022177372A1 - 인공지능을 이용하여 튜터링 서비스를 제공하기 위한 시스템 및 그에 관한 방법 - Google Patents

인공지능을 이용하여 튜터링 서비스를 제공하기 위한 시스템 및 그에 관한 방법 Download PDF

Info

Publication number
WO2022177372A1
WO2022177372A1 PCT/KR2022/002463 KR2022002463W WO2022177372A1 WO 2022177372 A1 WO2022177372 A1 WO 2022177372A1 KR 2022002463 W KR2022002463 W KR 2022002463W WO 2022177372 A1 WO2022177372 A1 WO 2022177372A1
Authority
WO
WIPO (PCT)
Prior art keywords
formula
text
solution result
solution
database
Prior art date
Application number
PCT/KR2022/002463
Other languages
English (en)
French (fr)
Inventor
정원국
박선준
조민호
Original Assignee
주식회사 매스프레소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 매스프레소 filed Critical 주식회사 매스프레소
Publication of WO2022177372A1 publication Critical patent/WO2022177372A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/111Mathematical or scientific formatting; Subscripts; Superscripts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • G09B7/02Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/55Education

Definitions

  • Various embodiments provided in this document relate to a technology for providing a tutoring service using artificial intelligence (AI).
  • AI artificial intelligence
  • tutoring services can provide learners with answers to math problems. For example, a learner uploads a desired math problem using a user device such as a smartphone, and a tutoring service implemented through an application may provide an answer and a solution process for the uploaded math problem.
  • the tutoring service provides solution results for mathematical problems can be broadly classified into two types.
  • the first is a formula solving method that automatically solves formulas like a calculator. In the case of this method, it is possible to provide a solution of a simple formula, but it has a limitation in that it cannot be solved by recognizing a problem composed of letters or sentences rather than formulas.
  • the second is a solution search method in which the results of the problems uploaded by the learner are retrieved from the data previously stored in the database.
  • the tutoring service may collect the data that the teacher directly wrote the solution result in the database, and provide the solution result by searching the database for the same or similar problem to the problem asked by the learner.
  • OCR optical character recognition
  • the operation method of the artificial intelligence tutoring system includes an operation of acquiring an image from a user device, an operation of extracting text and equations of a problem included in the image using OCR, a formula solving module An operation of generating a first solution result for the text and the formula using an algorithm of and providing at least one of the first solution result and the second solution result based on the reliability of the result.
  • the artificial intelligence tutoring system acquires an image from a user device, uses OCR to extract the text and equations of the problem included in the image, and uses the algorithm of the equation solving module generating a first solution result for the text and the formula, retrieving a second solution result for the text and the formula from a database, and the first solution result based on the reliability of the second solution result It may include a server that provides at least one of the first solution result and the second solution result.
  • the artificial intelligence tutoring system can provide an integrated solution that can complement each of the disadvantages of the formula solving method and the solving search method.
  • the artificial intelligence tutoring system can provide a tutoring service that maximizes the search success rate and conforms to the language situation of other countries.
  • the artificial intelligence tutoring system can reduce the misrecognition of the problem uploaded by the learner and recognize the problem including the text more accurately.
  • the artificial intelligence tutoring system can contribute to the improvement of the user's learning ability by identifying the type of problem desired by the learner and providing learning content related thereto.
  • FIG. 1 shows a block diagram of an artificial intelligence tutoring system according to various embodiments.
  • FIGS. 2A to 2B illustrate screens providing a solution result of a problem according to various embodiments of the present disclosure.
  • FIG. 3 illustrates a user interface capable of editing an equation in accordance with various embodiments.
  • 4A to 4D describe an operation for providing an optimal solution result according to various embodiments.
  • 5A to 5D illustrate an operation of solving an equation using a syntax tree according to various embodiments.
  • FIG. 6 illustrates an operation of measuring the similarity of a problem according to various embodiments.
  • 7A to 7B illustrate an operation of analyzing text based on keywords according to various embodiments of the present disclosure.
  • FIG. 8 illustrates an operation of converting a natural language into a formula according to various embodiments of the present disclosure.
  • FIG. 9 illustrates an operation of classifying a problem type according to various embodiments.
  • FIG 10 illustrates an operation of providing learning content according to various embodiments.
  • first) component is "coupled” or “connected” to another (e.g. second) component with or without the terms “functionally” or “communicatively”
  • second component is “coupled” or “connected” to another (e.g. second) component with or without the terms “functionally” or “communicatively”
  • one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • Each component (eg, a module or a program) of components described in this document may include a singular or a plurality of entities. According to various embodiments, one or more components or operations among the corresponding components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (eg, a module or a program) may be integrated into one component. In this case, the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, omitted, or , or one or more other operations may be added.
  • module may include a unit implemented in hardware, software, or firmware, and includes terms such as, for example, logic, logic block, component, or circuit; They can be used interchangeably.
  • a module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document may be implemented as software (eg, a program or an application) including one or more instructions stored in a storage medium (eg, memory) readable by a machine.
  • the processor of the device may call at least one of the one or more instructions stored from the storage medium and execute it. This makes it possible for the device to be operated to perform at least one function according to the called at least one command.
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
  • a signal eg, electromagnetic wave
  • the artificial intelligence tutoring system 10 may include a server 100 , a user device 20 , and a content providing device 30 .
  • the user device 20 may include an electronic device used by a learner.
  • the user device 20 may be implemented as a portable device such as a smart phone, tablet, or wearable device, as well as other computing devices such as a laptop computer or a desktop computer.
  • the user device 20 may store a tutoring application (application, App) 25 capable of interworking with the server 100 in order to efficiently receive the tutoring service provided from the server 100 .
  • the learner may execute the tutoring App 25 and transmit (or upload) a desired math problem to the server 100 through the executed tutoring App 25 .
  • math problems There may be a variety of ways in which math problems are uploaded. For example, the learner may photograph an image including a math problem through a camera built in the user device 20 , and upload the photographed image to the server 100 . As another example, the learner may directly input or edit an equation through a user interface provided from the tutoring App 25 .
  • the server 100 may be a component of the artificial intelligence tutoring system 10 that provides a tutoring service for a math problem asked by a learner.
  • the server 100 derives a solution result for an uploaded math problem using modules and a database (DB) included in the server 100 , and provides the solution result and learning content to the user device 20 .
  • DB database
  • the 'solution result' may include not only the correct answer to the mathematical problem, but also the solving process required to derive the correct answer and explanations thereof.
  • the server 100 provides an AI tutor module 110 , an OCR module 120 , a keyword analysis module 130 , a formula solving module 140 , a solution search module 150 , and a content search module 160 to provide a tutoring service ), a natural language processing module 170 , a type classification module 180 , a problem solving DB 190 , and a content DB 195 .
  • FIG. 1 shows a plurality of modules and DB included in one server 100, but according to other embodiments, each module and DB included in the server 100 is an individual entity ( entity) can be configured.
  • each module included in the server 100 may be instructions executed by a processor to provide a tutoring service. In this case, each module may be referred to as an algorithm, an application programming interface (API), a program, or an application.
  • API application programming interface
  • the AI tutor module 110 may serve as a mediator between the user device 20 and the server 100 together with the tutoring App 25 .
  • the AI tutor module 110 receives information (eg, image or formula data) about a math problem from the user device 20, and provides not only a solution result for the math problem but also learning content.
  • the AI tutor module 110 may provide the learner with at least one of the first solution result calculated by the formula solving module 140 and the second solution result found by the solution search module 150 .
  • the first solution result may be understood as a solution result by the formula solving method
  • the second solution result may be understood as a solution result by the solution search method.
  • the AI tutor module 110 provides one solution result to the learner preferentially based on the reliability of the first solution result and the second solution result can do.
  • the AI tutor module 110 may provide a user interface so that the learner can directly input or edit a formula through the tutoring App 25 .
  • the OCR module 120 may extract a formula or text of a mathematical problem included in the image received from the user device 20 using OCR.
  • the OCR module 120 may receive a uniform resource locator (URL) of the image from the AI tutor module 110 , and extract a formula or text from the image using the received URL.
  • URL uniform resource locator
  • the keyword analysis module 130 may analyze and process a keyword among the text extracted by the OCR module 120 .
  • a keyword can be a term that is often used in a math problem or can refer to a specific problem type.
  • the keyword may be used to improve the accuracy of the formula solving method of the formula solving module 140 or to correct text misrecognized by the OCR module 120 . Keywords may be classified according to grades and stored in the problem solving DB 190 .
  • the formula solving module 140 may calculate a solution result (eg, a first solution result) for the mathematical problem recognized by the OCR module 120 using the formula solving method algorithm.
  • the formula solving module 140 converts the recognized mathematical problem into a syntax tree, selects a suitable solution strategy for solving the corresponding mathematical problem in the converted tree, and then performs the selected solution strategy step by step By using it, the solution result can be calculated.
  • the solution result calculated by the formula solving module 140 may be provided through a formula renderer.
  • the solution search module 150 may search the problem solution DB 190 for a solution result (eg, a second solution result) for the same or similar problem to the mathematical problem recognized by the OCR module 120 .
  • the solution result may be provided from the content providing device 30 .
  • the content providing device 30 may refer to a device used by a teacher, a lecturer, a learning textbook, or a private institute.
  • the solution search module 150 By using the ElasticSearch search engine that includes a scoring method such as the BM25 metric, it is possible to achieve performance improvements such as improvement of the quality of search results and improvement of search speed. For example, when the pool search module 150 uses the ElasticSearch search engine, it is possible to secure high performance in terms of safety, compatibility, and popularity compared to the Solr7 search engine.
  • the content search module 160 may search for learning content related to the math problem asked by the learner from the content DB 195 .
  • the learning content may include various types of content provided from the artificial intelligence tutoring system 10 in order to enhance the learning ability of the learner.
  • the learning content may include a concept related to a math problem asked by a learner, a problem of the same or similar type, tagging, content of a concept book, or a video lecture.
  • the learning content may be provided by the content providing device 30 .
  • the natural language processing module 170 analyzes the text recognized by the OCR module 120 using a dataset-based natural language processing parser and converts the text into a formula based on the analysis result to solve the formula
  • the module 140 may induce a mathematical problem including text to be solved as well.
  • the data set may mean a data set for a mathematical problem including sentences.
  • the natural language processing module 170 may define a context-independent grammar for a sentence form in a dataset and implement a corresponding natural language processing parser.
  • the type classification module 180 may classify a problem to be searched or a problem type for the found problem. Problem types can be classified based on metadata having educational meaning. For example, the metadata may indicate a grade, a semester, a chapter included in each semester, or a section included in each chapter. For example, the type classification module 180 may learn problem types through tagging so as to identify problem types of numerous problems. When a new problem that is not stored in the problem solving module DB 190 is received, the type classification module 180 determines the problem type of the new problem through a K-Nearest Neighbor (K-NN) algorithm or a deep learning algorithm. can decide.
  • K-NN K-Nearest Neighbor
  • FIGS. 2A to 2B illustrate screens providing a solution result of a problem according to various embodiments of the present disclosure.
  • the screens shown in FIGS. 2A to 2B may be output through the display of the user device 20 .
  • the screens shown in FIGS. 2A to 2B may be a part of the execution screen of the tutoring App 25 .
  • the user device 20 may upload the acquired image to the server 100 , and the server 100 may provide the user device 20 with a solution result for the mathematical problem.
  • the user device 20 may further display a solution process and explanation as well as a correct answer to the math problem.
  • the user device 20 may display a required solution process until a correct answer is derived from the math problem.
  • the user device 20 may display an explanation for each solving process, such as operation 204 or 205 .
  • FIG. 3 illustrates a user interface capable of editing an equation in accordance with various embodiments.
  • the user device 20 may check the equation of a mathematical problem that the user wants to learn through the user interface 300 for inputting or editing the equation.
  • the user interface 300 may include an output field 310 showing a result input by the user and an input field 320 in which the user may input a number, unknown number, or operator.
  • the input field 320 may have a layout such as a keyboard or a keyboard of a calculator.
  • the user device 20 may use an open source such as Java script to express the equation in a web browser.
  • 4A to 4D describe an operation for providing an optimal solution result according to various embodiments.
  • the artificial intelligence tutoring system 10 may acquire an image including a math problem.
  • Mathematical problems included in images may include equations and/or text.
  • the artificial intelligence tutoring system 10 may extract text and equations included in the image using OCR.
  • the artificial intelligence tutoring system 10 may generate a first solution result by using the extracted formula and text, and the algorithm of the formula solving module.
  • the artificial intelligence tutoring system 10 may search for a second solution result from a database (eg, the problem solving DB 190 ) using the extracted formula and text.
  • the artificial intelligence tutoring system 10 may determine the reliability of the first solution result and the second solution result. In operation 460, the artificial intelligence tutoring system 10 may select and provide one of the first solution result and the second solution result based on the determination result. According to an embodiment, the artificial intelligence tutoring system 10 may provide both the first solution result and the second solution result. In this case, the artificial intelligence tutoring system 10 may arrange a highly reliable solution result at the top or left side of the screen.
  • Reliability may indicate which method is more suitable for solving a given mathematical problem among the formula solving method and the solution search method. If only a formula is included in a mathematical problem, it takes additional time to search for the problem from the database even if the number changes even a little.
  • the artificial intelligence tutoring system 10 is based on at least one of the learner's grade, problem type, the number of natural languages (or texts) included in the problem, the meaning of the natural language, and the matching rate of the search according to the solution search method. Based on the result, it is possible to determine the reliability of the first solution result and the second solution result.
  • the mathematical problem 401 of Figure 4b is to provide a solution result by calculating the formula (1/x + 1/y + 1/z), so the artificial intelligence tutoring system 10 is the formula solving module 140
  • the solution result by the formula solving module 140 may provide the learner with an unnecessary solution process.
  • the artificial intelligence tutoring system 10 provides a solution result 404-1 searched for by the solution search module 150, and a screen 404-2 indicating that there is no solution result by the formula solution module 140 can provide
  • the artificial intelligence tutoring system 10 may provide a problem 404-3 having the same type as the math problem 403 along with a solution result 404-1.
  • the formula solving module 140 can determine whether it is 'true' or 'false', but the final correct answer ( Example: Since it cannot derive '5 is not correct'), the artificial intelligence tutoring system 10 preferentially provides the solution result 405-1 searched by the solution search module 150, but the formula solution module ( A screen 405 - 2 indicating that the result of solving by 140 may also be provided.
  • FIGS. 5A to 5D illustrate an operation of solving an equation using a syntax tree according to various embodiments.
  • the operations described in FIGS. 5A to 5D may be implemented by the equation solving module 140 of the artificial intelligence tutoring system 10 .
  • the formula solving module 140 may use a syntax tree structure to automatically solve the formula.
  • the syntax tree is a data structure in which nodes (eg, int, sym, op) are hierarchically connected, and the artificial intelligence tutoring system 10 can sequentially guide learners through a problem-solving process using the syntax tree.
  • the syntax tree may be referred to as an abstract syntax tree (AST).
  • a syntax tree can contain nodes representing either numbers, unknowns, or operators.
  • a syntax tree has one root node and may have one or more child nodes.
  • a node without child nodes may be referred to as an end node, and a node with child nodes may be referred to as an inner node.
  • every inner node acts as an operator or function in mathematics, and an end node can act as a number or unknown.
  • the formula solving module 140 may convert the formula 'x + 2y' into the syntax tree shown in FIG. 5A .
  • the syntax tree can be easily extended.
  • the formula solving module 140 may naturally convert the formula into a syntax tree in the process of parsing the formula given in LaTex format.
  • Solving the formula using the syntax tree may mean converting the syntax tree into another form.
  • the formula solving module 140 converts the formula '1 + 2' into a syntax tree in which the numbers '1', '2' and the operator '+' are represented as nodes, respectively, and then converted It can be converted into a node representing the number '3' by calculating the given syntax tree.
  • the process of transforming the syntax tree as above can be referred to as a 'solving strategy'.
  • a single formula may require multiple solving strategies. For example, if a formula representing the sum of three natural numbers is given, such as '1 + 2 + 3', the formula solving module 140 may calculate the formula by performing one addition strategy twice.
  • the equation solving module 140 may solve the equation according to the addition strategy for '1 + 2' and solve the equation according to the addition strategy for '3 + 3'.
  • the artificial intelligence tutoring system 10 can help the learner to understand the given formula more clearly by providing the learner with the operation result according to each solving strategy step by step.
  • the artificial intelligence tutoring system 10 may maintain or increase the number of nodes through the solving strategy. For example, if an expression of 'x + x' is given, the artificial intelligence tutoring system 10 may convert the equation into '2 * x' by using the 'polynomial homolog theorem' solving strategy. In this case, the form of a syntax tree including 'x', '+', and 'x' as nodes can be converted into a syntax tree containing '2', '*', and 'x' as nodes, respectively. have. As another example, if the number '12' is given, the artificial intelligence tutoring system 10 may convert the number into the formula '2 * 2 * 3' by using the 'prime factorization' solution strategy.
  • the number of solving strategies such as the 'addition strategy' described in FIG. 5B is 1000 or more based on the curriculum of elementary, middle, and high school, and the number may increase. Accordingly, a lot of time may be consumed for the formula solving module 140 to determine a solution strategy suitable for the mathematical problem posed by the learner.
  • the artificial intelligence tutoring system 10 groups the solving strategies by function, and by hierarchically configuring each group as shown in FIG. 5C, a solution strategy necessary to generate a solution result can be efficiently selected. have. For example, given a formula, the formula solving module 140 calls the 'Solving Group' function, and based on the unknowns or operators included in the formula, the given formula requires simple calculations such as arithmetic operations.
  • the formula solving module 140 selects a solution strategy by sequentially calling the layered solution strategy, it is possible to reduce the number of calls required to select a solution strategy.
  • the formula solving module 140 may select two or more solving strategies, and may select a solution strategy of different groups. For example, the formula solving module 140 may select a natural number arithmetic operation and expansion as a solution strategy to calculate a given formula.
  • the formula solving module 140 may set a direction or a final goal when selecting a layered solution strategy structure. For example, given the expression '(x + 2)(x + 4) + 1', the end goal of the expression may be to expand or factor the expression. When the final goal of the formula is expansion, the formula solving module 140 may reduce unnecessary calculation by terminating the solution after calculating the expansion and providing the solution result.
  • 5D shows an operation flow diagram for solving an equation using a syntax tree.
  • the artificial intelligence tutoring system 10 may convert an expression recognized through the OCR module 120 into a syntax tree. If the nodes included in the syntax tree have a hierarchical structure, each node may represent one of an unknown number, a number, or an operator.
  • the artificial intelligence tutoring system 10 may select at least one solving strategy in the syntax tree.
  • a solution strategy may refer to an operation of reducing two or more nodes to one through computation.
  • the artificial intelligence tutoring system 10 may provide a solution result in which formulas are sequentially solved according to at least one selected solution strategy. The artificial intelligence tutoring system 10 may select a solution strategy and perform formula solving for a part of the formula, and then select a solution strategy and solve the formula for the remaining part.
  • FIG. 6 illustrates an operation of measuring the similarity of a problem according to various embodiments.
  • the solution search module 150 searches the problem solving DB 190 for a problem corresponding to the mathematical problem asked by the learner, the text included in the image is serialized and then an algorithm for determining the similarity is applied, the layout of the problem ) information may be lost.
  • the layout information may indicate, for example, not only text, but also information such as a position of a character, a problem number, a decorator, a picture, or a color.
  • the solution search module 150 may increase the accuracy of the search by calculating the relative positions of text and formulas included in the image, and calculating the similarity using the calculated relative positions.
  • the solution search module 150 may use a Delaunay triangulation algorithm to determine the relative position. The method of calculating the similarity using Delaunay triangulation is as follows.
  • a set of three points constituting each triangle generated by the Delaunay triangulation algorithm is determined as one token.
  • the result of collecting all tokens is regarded as a token set.
  • the Delaunay Token Similarity of the given problem Q1 and the problem Q2 stored in the database is calculated using the Jaccard similarity between the token set of Q1 (TS_Q1) and the token set of Q2 (TS_Q2).
  • the Jacquard similarity may be expressed by the following [Equation 1]
  • the similarity ( DTSim ) between problems determined by the Delaunay triangulation and the Jacquard similarity may be expressed by the following [Equation 2].
  • Math problem (a) and math problem (b) are the same problem, and math problem (c) is a different problem from other math problems.
  • an existing algorithm such as EDSim or LCSSim
  • the similarity between the math problem (a) and the math problem (b) is measured high, and the similarity between the math problem (a) and the math problem (c) is also measured with high error.
  • the Delaunay triangulation algorithm is used, the similarity between the math problem (a) and the math problem (c) may be measured low.
  • FIG. 7A to 7C illustrate an operation of analyzing text based on keywords according to various embodiments.
  • the keyword may mean text having a high frequency of appearance (or more than a specified number of times) in the problems stored in the problem solving DB 190 .
  • the keyword analysis module 130 may determine that the keyword of the given problem 2 corresponds to 'polynomial' and that the problem type is 'addition and subtraction of polynomials'.
  • the keyword analysis module 130 determines that the keywords of the given problem 0887 are 'right triangle', 'side', 'diameter', 'semicircle', and 'area', and the problem type is 'area of a Hippocratic circle'. can decide
  • the keyword analysis module 130 may classify keywords according to grades and store them in the problem solving DB 190 .
  • the keyword analysis module 130 may use keywords to increase the solving accuracy of the formula solving module 140 . For example, if a given mathematical problem includes the expression (x-2)(x-4)+1, the mathematical problem may require expansion of the expression or factorization. In this case, the keyword analysis module 130 may recognize a keyword of 'factor decomposition' in a mathematical problem and provide the keyword to the formula solving module 140 to induce factorization to be used as a solution strategy.
  • the keyword analysis module 130 may correct the text misrecognized by the OCR module 120 by using the keyword.
  • the keyword analysis module 130 may extract the misrecognized text using a fuzzy search and Levenshtein distance.
  • the OCR module 120 sets one 'word box' based on the distance between texts.
  • the text included in the word box may be a character string separated by spaces. Since a single keyword is often combined with a pronoun or ending due to the characteristics of Hangul, the keyword analysis module 130 analyzes morphemes and parts-of-speech for the character string in the word box, and generates a correction candidate list based on the analysis result. can Referring to FIG.
  • the keyword analysis module 130 may determine the 'multiplication formula' as one correction candidate list because the 'multiplication' and the 'formula' are not combined with the investigation in the 'multiplication formula'. For another example, since the tubular search for 'righteousness' in 'secondary network equation' is combined, the keyword analysis module 130 may determine 'secondary network equation' and 'significance' as the correction candidate list. Additionally, 'secondary mesh equation' can also be generated as a correction candidate list, considering that 'significance' may be a typo. The keyword analysis module 130 may extract typos (eg, 'net' of 'secondary network equation' and 'mat' of 'best value') by performing a fuzzy search on the generated correction candidate list.
  • typos eg, 'net' of 'secondary network equation' and 'mat' of 'best value'
  • the keyword analysis module 130 may correct the extracted typos in consideration of keywords (eg, 'quadratic equation', 'maximum value') stored in the database.
  • the keyword analysis module 130 may additionally modify the text in consideration of the learner's grade. For example, if the recognized text is 'lease equation', the keyword analysis module 130 may modify the 'primary equation' or 'secondary equation' in consideration of the learner's grade.
  • FIG. 8 illustrates an operation of converting a natural language into a formula according to various embodiments of the present disclosure.
  • the natural language processing module 170 may supplement the disadvantages of the formula solving module 140 by analyzing a mathematical problem in the form of a sentence. Given a mathematical problem in the form of a sentence (eg, 810), the natural language processing module 170 analyzes the text extracted from the image using a dataset-based natural language processing parser, and formulates the text according to the analysis result (for example: 820). In order to implement the natural language processing parser, the natural language processing module 170 may define context-independent grammars for numerous sentence types.
  • the dataset may be classified into a dataset of a mathematical problem consisting of one sentence and a dataset of a mathematical problem consisting of a plurality of sentences.
  • the mathematical problem in the form of a sentence may consist of one objective (word problem objective) and a condition attached before or after the objective (word problem condition).
  • word problem objective a condition attached before or after the objective
  • word problem condition a condition attached before or after the objective
  • the natural language processing module 170 may convert a mathematical problem in the form of a sentence into two or more equations using a natural language processing parser.
  • the formula may include a formula (target) to be finally solved and a formula (condition) necessary to solve the formula.
  • FIG. 9 illustrates an operation of classifying a problem type according to various embodiments.
  • the type classification module 180 may classify a problem type for a math problem according to a specified criterion.
  • the specified criteria may include, for example, at least one of grade, semester, chapter, or section.
  • a chapter may mean a certain number (eg, 5) units of a problem type to be taught in one semester.
  • a section can mean a certain number (eg, 2) units of a problem type learned in a chapter.
  • the type classification module 180 may classify the problem type into a unit smaller than a section (eg, a genre) as shown in FIG. 9 . In the same section or genre, for example, the solving strategy used by the formula solving module 140 may be the same or similar.
  • the type classification module 180 may identify a problem type of a math problem posed by a learner, and provide learning content related to the identified problem type. Also, the type classification module 180 may identify a problem type frequently asked by learners and analyze the learner's search tendency.
  • the type classification module 180 may determine the problem type of the new problem based on the similarity with the problem stored in the problem solving DB 190 . For example, the type classification module 180 may determine the similarity of texts based on the minimum editing distance and TF-IDF (Term Frequency - Inverse Document Frequency) using the K-NN algorithm. Since the similarity determination based on the K-NN algorithm may have poor reasoning ability for a completely new type of problem, the type classification module 180 may use a classifier using deep learning to increase the similarity determination performance. .
  • TF-IDF Term Frequency - Inverse Document Frequency
  • FIG 10 illustrates an operation of providing learning content according to various embodiments.
  • the artificial intelligence tutoring system 10 may provide not only a solution result for the uploaded math problem but also learning content related to the math problem.
  • the learning content may include a concept related to a math problem asked by a learner, a problem of the same or similar type, tagging, content of a concept book, or a video lecture.

Abstract

본 문서에 개시되는 인공지능 튜터링 시스템의 동작 방법은, 사용자 장치로부터 이미지를 획득하는 동작, OCR을 이용하여 상기 이미지에 포함된 문제의 텍스트 및 수식을 추출하는 동작, 수식 풀이 모듈의 알고리즘을 이용하여 상기 텍스트 및 상기 수식에 대한 제1 풀이 결과를 생성하는 동작, 데이터 베이스로부터 상기 텍스트 및 상기 수식에 대한 제2 풀이 결과를 검색하는 동작, 및 상기 제1 풀이 결과 상기 제2 풀이 결과의 신뢰도에 기반하여 상기 제1 풀이 결과 및 상기 제2 풀이 결과 중 적어도 하나를 제공하는 동작을 포함할 수 있다.

Description

인공지능을 이용하여 튜터링 서비스를 제공하기 위한 시스템 및 그에 관한 방법
관련출원과의 상호인용
본 발명은 2021.02.18.에 출원된 한국 특허 출원 제10-2021-0021828호에 기초한 우선권의 이익을 주장하며, 해당 한국 특허 출원의 문헌에 개시된 모든 내용을 본 명세서의 일부로 포함한다.
기술분야
본 문서에서 제공되는 다양한 실시예들은 인공지능(artificial intelligence, AI)을 이용하여 튜터링(tutoring) 서비스를 제공하기 위한 기술에 관한 것이다.
AI 기술의 발달로 튜터링 서비스는 학습자에게 수학 문제에 대한 해답을 제공할 수 있다. 예를 들어, 학습자는 스마트폰과 같은 사용자 장치를 이용하여 원하는 수학 문제를 업로드하고, 애플리케이션을 통해 구현되는 튜터링 서비스는 업로드 된 수학 문제에 대한 해답과 풀이 과정을 제공할 수 있다.
튜터링 서비스가 수학 문제에 대한 풀이 결과를 제공하는 방법은 크게 두 가지로 분류될 수 있다. 첫 번째는 계산기와 같이 수식을 자동으로 풀이하는 수식 풀이 방식이다. 해당 방식의 경우 단순한 수식의 풀이는 제공할 수 있으나 수식이 아닌 글자나 문장으로 구성된 문제를 인식하여 풀이할 수 없다는 한계를 가지고 있다. 두 번째는 학습자가 업로드 한 문제의 풀이 결과를 데이터 베이스에 기 저장된 자료로부터 검색하는 풀이 검색 방식이다. 예를 들어, 튜터링 서비스는 선생님이 직접 풀이 결과를 작성한 데이터를 데이터 베이스에 수집하고, 학습자가 질문한 문제와 동일 또는 유사한 문제를 데이터 베이스로부터 검색하여 풀이 결과를 제공할 수 있다. 이 경우, 학습자가 원하는 수준의 검색 결과를 제공하기 위하여 충분한 양의 데이터를 확보해야 하며 모든 문제에 대하여 데이터 베이스를 확보하는 것은 현실적으로 불가능에 가깝다. 특히 텍스트가 포함된 문제의 경우 각 국가의 언어에 맞는 검색 결과를 추가적으로 확보해야 하므로 많은 시간과 비용의 투입이 불가피하다.
또한, 학습자가 수학 문제를 이미지로 촬영하여 업로드할 경우, OCR(optical character recognition)을 이용하여 이미지에 포함된 수식이나 텍스트를 인식해야 하며 이 과정에서 오인식이 발생할 수 있다.
본 문서에 개시되는 다양한 실시예들은 상술한 문제점을 해결하기 위한 인공지능 튜터링 시스템 및 그에 관한 방법을 제공하고자 한다.
본 문서에 개시되는 일 실시예에 따른 인공지능 튜터링 시스템의 동작 방법은, 사용자 장치로부터 이미지를 획득하는 동작, OCR을 이용하여 상기 이미지에 포함된 문제의 텍스트 및 수식을 추출하는 동작, 수식 풀이 모듈의 알고리즘을 이용하여 상기 텍스트 및 상기 수식에 대한 제1 풀이 결과를 생성하는 동작, 데이터 베이스로부터 상기 텍스트 및 상기 수식에 대한 제2 풀이 결과를 검색하는 동작, 및 상기 제1 풀이 결과 상기 제2 풀이 결과의 신뢰도에 기반하여 상기 제1 풀이 결과 및 상기 제2 풀이 결과 중 적어도 하나를 제공하는 동작을 포함할 수 있다.
본 문서에 개시되는 일 실시예에 따른 인공지능 튜터링 시스템은, 사용자 장치로부터 이미지를 획득하고, OCR을 이용하여 상기 이미지 내에 포함된 문제의 텍스트 및 수식을 추출하고, 수식 풀이 모듈의 알고리즘을 이용하여 상기 텍스트 및 상기 수식에 대한 제1 풀이 결과를 생성하고, 데이터 베이스로부터 상기 텍스트 및 상기 수식에 대한 제2 풀이 결과를 검색하고, 및 상기 제1 풀이 결과 상기 제2 풀이 결과의 신뢰도에 기반하여 상기 제1 풀이 결과 및 상기 제2 풀이 결과 중 적어도 하나를 제공하는 서버를 포함할 수 있다.
본 문서에 개시되는 실시예들에 따르면, 인공지능 튜터링 시스템은 수식 풀이 방식과 풀이 검색 방식 각각의 단점을 상호 보완할 수 있는 통합 솔루션을 제공할 수 있다.
또한, 본 문서에 개시되는 실시예들에 따르면, 인공지능 튜터링 시스템은 검색 성공률을 극대화하고 타 국가의 언어 실정에도 부합하는 튜터링 서비스를 제공할 수 있다.
또한, 본 문서에 개시되는 실시예들에 따르면, 인공지능 튜터링 시스템은 학습자가 업로드한 문제에 대한 오인식을 줄이고, 텍스트가 포함된 문제를 보다 정확하게 인식할 수 있다.
또한, 본 문서에 개시되는 실시예들에 따르면, 인공지능 튜터링 시스템은 학습자가 원하는 문제의 유형을 파악하고 그와 관련된 학습 컨텐츠를 제공함으로써 사용자의 학습 능력 증진에 기여할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 다양한 실시예들에 따른 인공지능 튜터링 시스템의 블록도를 도시한다.
도 2a 내지 도 2b는 다양한 실시예들에 따라 문제의 풀이 결과를 제공하는 화면을 도시한다.
도 3은 다양한 실시예들에 따라 수식을 편집할 수 있는 사용자 인터페이스를 도시한다.
도 4a 내지 도 4d는 다양한 실시예들에 따라 최적의 풀이 결과를 제공하기 위한 동작을 설명한다.
도 5a 내지 도 5d는 다양한 실시예들에 따라 구문 트리를 이용하여 수식을 풀이하는 동작을 설명한다.
도 6은 다양한 실시예들에 따라 문제의 유사도를 측정하는 동작을 설명한다.
도 7a 내지 도 7b는 다양한 실시예들에 따라 키워드에 기반하여 텍스트를 분석하는 동작을 설명한다.
도 8은 다양한 실시예들에 따라 자연어를 수식으로 변환하는 동작을 설명한다.
도 9는 다양한 실시예들에 따라 문제 유형을 분류하는 동작을 설명한다.
도 10은 다양한 실시예들에 따라 학습 컨텐츠를 제공하는 동작을 설명한다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
본 문서에서 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나",“A 또는 B 중 적어도 하나”, "A, B 또는 C", "A, B 및 C 중 적어도 하나” 및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 설명되는 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예들에 따르면, 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
본 문서에서 사용되는 용어 "모듈", 또는 “...부”는 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시 예들은 기기(machine) 의해 읽을 수 있는 저장 매체(storage medium)(예: 메모리)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램 또는 애플리케이션)로서 구현될 수 있다. 예를 들면, 기기의 프로세서는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
도 1은 다양한 실시예들에 따른 인공지능 튜터링 시스템의 블록도를 도시한다. 도 1을 참조하면, 인공지능 튜터링 시스템(10)은 서버(100), 사용자 장치(20), 및 컨텐츠 제공 장치(30)를 포함할 수 있다.
사용자 장치(20)는 학습자에 의하여 사용되는 전자 장치를 포함할 수 있다. 사용자 장치(20)는 스마트폰, 태블릿, 또는 웨어러블 장치와 같은 휴대용 장치뿐만 아니라 랩탑(laptop) 컴퓨터나 데스크탑(desktop) 컴퓨터와 같은 다른 컴퓨팅 장치로 구현될 수 있다. 사용자 장치(20)는 서버(100)로부터 제공되는 튜터링 서비스를 효율적으로 제공받기 위하여 서버(100)와 연동 가능한 튜터링 애플리케이션(application, App)(25)을 저장할 수 있다. 학습자는 튜터링 App(25)을 실행하고, 실행된 튜터링 App(25)을 통해 원하는 수학 문제를 서버(100)로 전송(또는 업로드)할 수 있다. 수학 문제가 업로드 되는 방식은 다양할 수 있다. 예를 들어, 학습자는 사용자 장치(20)에 내장된 카메라를 통해 수학 문제가 포함된 이미지를 촬영하고, 촬영된 이미지를 서버(100)에 업로드할 수 있다. 다른 예를 들어, 학습자는 튜터링 App(25)으로부터 제공되는 사용자 인터페이스를 통해 수식을 직접 입력 또는 편집할 수 있다.
서버(100)는 학습자가 질문한 수학 문제에 대한 튜터링 서비스를 제공하는 인공지능 튜터링 시스템(10)의 일 구성일 수 있다. 서버(100)는 서버(100)에 포함되는 모듈들 및 데이터 베이스(data base, DB)를 이용하여 업로드된 수학 문제에 대한 풀이 결과를 도출하고, 풀이 결과와 학습 컨텐츠를 사용자 장치(20)에게 전송할 수 있다. 본 문서에서, '풀이 결과'는 수학 문제에 대한 정답뿐만 아니라 정답을 도출하기 위하여 요구되는 풀이 과정 및 그에 대한 해설까지 포함할 수 있다.
서버(100)는 튜터링 서비스를 제공하기 위하여 AI 튜터 모듈(110), OCR 모듈(120), 키워드 분석 모듈(130), 수식 풀이 모듈(140), 풀이 검색 모듈(150), 컨텐츠 검색 모듈(160), 자연어 처리 모듈(170), 유형 분류 모듈(180), 문제 풀이 DB(190), 및 컨텐츠 DB(195)를 포함할 수 있다. 설명의 편의를 위하여 도 1은 하나의 서버(100)에 포함된 복수의 모듈들 및 DB를 도시하지만, 다른 실시예들에 따르면 서버(100)에 포함되는 각각의 모듈들 및 DB는 개별적인 개체(entity)를 구성할 수 있다. 다른 예를 들어, 서버(100)에 포함된 각각의 모듈들은 튜터링 서비스를 제공하기 위하여 프로세서에 의하여 실행되는 인스트럭션들(instructions)일 수 있다. 이 경우, 각 모듈들은 알고리즘, API(application programming interface), 프로그램, 또는 애플리케이션으로 참조될 수 있다.
AI 튜터 모듈(110)은 튜터링 App(25)과 함께 사용자 장치(20)와 서버(100) 간 매개체 역할을 할 수 있다. 예를 들어, AI 튜터 모듈(110)은 사용자 장치(20)로부터 수학 문제에 대한 정보(예: 이미지 또는 수식 데이터)를 수신하고, 해당 수학 문제에 대한 풀이 결과뿐만 아니라 학습 컨텐츠도 통합적으로 제공할 수 있다. AI 튜터 모듈(110)은 수식 풀이 모듈(140)에 의하여 산출된 제1 풀이 결과와 풀이 검색 모듈(150)에 의하여 검색된 제2 풀이 결과 중 적어도 하나를 학습자에게 제공할 수 있다. 제1 풀이 결과는 수식 풀이 방식에 의한 풀이 결과로, 제2 풀이 결과는 풀이 검색 방식에 의한 풀이 결과로 이해될 수 있다. 수식 풀이 방식 및 풀이 검색 방식은 상황에 따라 장단점을 가지고 있으므로, 실시예에서 AI 튜터 모듈(110)은 제1 풀이 결과와 제2 풀이 결과의 신뢰도에 기반하여 하나의 풀이 결과를 우선적으로 학습자에게 제공할 수 있다. 실시예에서, AI 튜터 모듈(110)은 학습자가 튜터링 App(25)을 통해 수식을 직접 입력하거나 편집할 수 있도록 사용자 인터페이스를 제공할 수 있다.
OCR 모듈(120)은 OCR을 이용하여 사용자 장치(20)로부터 수신된 이미지에 포함된 수학 문제의 수식 또는 텍스트를 추출할 수 있다. 예를 들어, OCR 모듈(120)은 AI 튜터 모듈(110)로부터 이미지의 URL(uniform resource locator)를 수신하고, 수신된 URL을 이용하여 이미지에서 수식 또는 텍스트를 추출할 수 있다.
키워드 분석 모듈(130)은 OCR 모듈(120)에 의하여 추출된 텍스트 중 키워드를 분석 및 처리할 수 있다. 키워드는 수학 문제에서 자주 사용되거나 특정 문제 유형을 나타낼 수 있는 용어일 수 있다. 키워드는 수식 풀이 모듈(140)의 수식 풀이 방식의 정확도를 향상시키거나 OCR 모듈(120)에 의하여 오인식된 텍스트를 수정하기 위하여 이용될 수 있다. 키워드는 학년에 따라서 분류되어 문제 풀이 DB(190)에 저장될 수 있다.
수식 풀이 모듈(140)은 OCR 모듈(120)에 의하여 인식된 수학 문제에 대한 풀이 결과(예: 제1 풀이 결과)를 수식 풀이 방식 알고리즘을 이용하여 산출할 수 있다. 실시 예에서, 수식 풀이 모듈(140)은 인식된 수학 문제를 구문 트리(syntax tree)로 변환하고, 변환된 트리 내에서 해당 수학 문제의 풀이를 위하여 적합한 풀이 전략을 선택한 뒤, 선택된 풀이 전략을 단계별로 이용함으로써 풀이 결과를 산출할 수 있다. 수식 풀이 모듈(140)에 의하여 산출된 풀이 결과는 수식 렌더러(renderer)를 통해 제공될 수 있다.
풀이 검색 모듈(150)은 OCR 모듈(120)에 의하여 인식된 수학 문제와 동일하거나 유사한 문제에 대한 풀이 결과(예: 제2 풀이 결과)를 문제 풀이 DB(190)로부터 검색할 수 있다. 풀이 결과는 컨텐츠 제공 장치(30)로부터 제공될 수 있다. 컨텐츠 제공 장치(30)는 선생님, 강사, 학습 교재, 또는 학원에 의하여 이용되는 장치를 의미할 수 있다. 검색하려는 문제와 문제 풀이 DB(190)에 저장된 문제 간 유사도를 편집 거리를 이용하여 판단하는 방식은 특정 단어에 가중치를 두는 스코어링(scoring) 방식을 적용하는데 한계를 가지므로, 풀이 검색 모듈(150)은 BM25 메트릭(metric)과 같은 스코어링 방식을 포함하는 ElasticSearch 검색 엔진을 이용함으로써 검색 결과의 품질 향상 및 검색 속도의 개선과 같은 성능 향상을 도모할 수 있다. 예를 들어, 풀이 검색 모듈(150)이 ElasticSearch 검색 엔진을 이용할 경우 Solr7 검색 엔진 대비 안전성, 호환성, 및 중요도(popularity) 측면에서 높은 성능을 확보할 수 있다.
컨텐츠 검색 모듈(160)은 학습자가 질문한 수학 문제와 관련된 학습 컨텐츠를 컨텐츠 DB(195)로부터 검색할 수 있다. 학습 컨텐츠는 학습자의 학습 능력을 증진시키기 위하여 인공지능 튜터링 시스템(10)으로부터 제공되는 다양한 형태의 컨텐츠를 포함할 수 있다. 예를 들어, 학습 컨텐츠는 학습자가 질문한 수학 문제와 관련된 개념, 동일하거나 유사한 유형의 문제, 태깅, 개념서 내용, 또는 동영상 강의를 포함할 수 있다. 학습 컨텐츠는 컨텐츠 제공 장치(30)에 의하여 제공될 수 있다.
자연어 처리 모듈(170)은 OCR 모듈(120)에 의하여 인식된 텍스트를 데이터셋(dataset) 기반의 자연어 처리 파서(parser)를 이용하여 분석하고 분석 결과에 기반하여 텍스트를 수식으로 변환함으로써, 수식 풀이 모듈(140)이 텍스트가 포함된 수학 문제 또한 풀이할 수 있도록 유도할 수 있다. 데이터셋은 문장을 포함하는 수학 문제에 대한 데이터 집합(set)을 의미할 수 있다. 예를 들어, 자연어 처리 모듈(170)은 데이터셋에서 문장 형태에 대해 문맥 무관 문법을 정의하고, 이에 해당하는 자연어 처리 파서를 구현할 수 있다.
유형 분류 모듈(180)은 검색해야 될 문제 또는 검색된 문제에 대한 문제 유형을 분류할 수 있다. 문제 유형은 교육적인 의미를 가지는 메타 데이터에 기반하여 분류될 수 있다. 예를 들어, 메타 데이터는 학년, 학기, 각 학기에 포함되는 챕터(chapter), 또는 각 챕터에 포함되는 섹션(section)을 나타낼 수 있다. 예를 들어, 유형 분류 모듈(180)은 수많은 문제들의 문제 유형을 파악할 수 있도록 태깅(tagging)을 통해 문제 유형을 학습할 수 있다. 문제 풀이 모듈 DB(190)에 저장되지 않은 새로운 문제가 수신되면, 유형 분류 모듈(180)은 K-NN(K-Nearest Neighbor) 알고리즘이나 딥 러닝(deep learning) 알고리즘을 통해 새로운 문제의 문제 유형을 결정할 수 있다.
도 2a 내지 도 2b는 다양한 실시예들에 따라 문제의 풀이 결과를 제공하는 화면을 도시한다. 도 2a 내지 도 2b에 도시된 화면은 사용자 장치(20)의 디스플레이를 통해 출력될 수 있다. 또한, 도 2a 내지 도 2b에 도시된 화면은 튜터링 App(25)의 실행 화면 중 일부일 수 있다.
도 2a를 참조하면, 동작 201에서 사용자 장치(20)는 카메라의 영상 촬영을 통해 수학 문제(예: x2 + 2x - 3 = 0)를 포함하는 이미지를 획득할 수 있다. 사용자 장치(20)는 획득된 이미지를 서버(100)에 업로드하고, 서버(100)는 수학 문제에 대한 풀이 결과를 사용자 장치(20)에게 제공할 수 있다. 동작 202에서, 사용자 장치(20)는 인식된 수학 문제에 대한 정답(예: x = 1, -3)을 표시할 수 있다. 사용자 장치(20)는 수학 문제에 대한 정답뿐만 아니라 풀이 과정 및 해설을 더 표시할 수 있다. 예를 들어 도 2b를 참조하면, 동작 203에서 사용자 장치(20)는 수학 문제에서 정답이 도출될 때까지 요구되는 풀이 과정을 표시할 수 있다. 또한, 사용자 장치(20)는 동작 204 또는 205와 같이 각 풀이 과정에 대한 해설을 표시할 수 있다.
도 3은 다양한 실시예들에 따라 수식을 편집할 수 있는 사용자 인터페이스를 도시한다.
도 3을 참조하면, 사용자 장치(20)는 이미지를 획득하는 방법 외에도 수식을 입력 또는 편집할 수 있는 사용자 인터페이스(300)를 통해 사용자가 학습하기 원하는 수학 문제의 수식을 확인할 수 있다. 사용자 인터페이스(300)는 사용자가 입력한 결과를 보여주는 출력 필드(310)와 사용자가 숫자, 미지수, 또는 연산자를 입력할 수 있는 입력 필드(320)를 포함할 수 있다. 입력 필드(320)는 키보드 또는 계산기의 자판과 같은 레이아웃을 가질 수 있다. 사용자 장치(20)는 수식을 웹 브라우저에 표현하기 위하여 자바 스크립트(Java script)와 같은 오픈 소스를 이용할 수 있다.
도 4a 내지 도 4d는 다양한 실시예들에 따라 최적의 풀이 결과를 제공하기 위한 동작을 설명한다.
도 4a를 참조하면, 동작 410에서 인공지능 튜터링 시스템(10)은 수학 문제를 포함하는 이미지를 획득할 수 있다. 이미지에 포함된 수학 문제는 수식 및/또는 텍스트를 포함할 수 있다. 동작 420에서, 인공지능 튜터링 시스템(10)은 OCR을 이용하여 이미지에 포함된 텍스트 및 수식을 추출할 수 있다.
동작 430에서, 인공지능 튜터링 시스템(10)은 추출된 수식 및 텍스트와 수식 풀이 모듈의 알고리즘을 이용하여 제1 풀이 결과를 생성할 수 있다. 동작 440에서, 인공지능 튜터링 시스템(10)은 추출된 수식 및 텍스트를 이용하여 데이터 베이스(예: 문제 풀이 DB(190))로부터 제2 풀이 결과를 검색할 수 있다.
동작 450에서, 인공지능 튜터링 시스템(10)은 제1 풀이 결과 및 제2 풀이 결과의 신뢰도를 판단할 수 있다. 동작 460에서, 인공지능 튜터링 시스템(10)은 판단 결과에 기반하여 제1 풀이 결과 및 제2 풀이 결과 중 하나를 선택하여 제공할 수 있다. 실시예에 따르면, 인공지능 튜터링 시스템(10)은 제1 풀이 결과 및 제2 풀이 결과를 모두 제공할 수 있다. 이 경우, 인공지능 튜터링 시스템(10)은 신뢰도가 높은 풀이 결과를 화면의 상단 또는 좌측에 배치할 수 있다.
신뢰도는 수식 풀이 방식과 풀이 검색 방식 중 주어진 수학 문제를 풀이하기에 더 적합한 방식이 어떠한 것인가를 나타낼 수 있다. 수학 문제에 수식만 포함되면 숫자가 조금만 바뀌어도 데이터 베이스로부터 해당 문제를 검색하는데 추가적 시간이 소요되므로, 이 경우에는 수식 풀이 방식이 풀이 검색 방식보다 효율적이고 풀이의 정확도가 높을 수 있다. 예를 들어 도 2a에서 주어진 수학 문제(x2 + 2x - 3 = 0)는 수식 풀이 방식을 통해 연산이 가능하므로 인공지능 튜터링 시스템(10)은 수식 풀이 모듈(140)에 의한 풀이 결과를 우선적으로 제공할 수 있다.
반면에 수학 문제에 자연어가 일정 단어 이상 포함되거나 수학 문제를 풀기 위하여 필요한 연산이 학습자에게 도움이 되지 않다면, 수식 풀이 방식에 따른 풀이 결과의 정확도가 떨어지거나 학습자의 만족도를 낮출 수 있다. 실시예들에 따른 인공지능 튜터링 시스템(10)은 학습자의 학년, 문제 유형, 문제에 포함된 자연어(또는 텍스트)의 개수나 자연어가 나타내는 의미, 및 풀이 검색 방식에 따른 검색의 일치율 중 적어도 하나에 기반하여 제1 풀이 결과와 제2 풀이 결과의 신뢰도를 판단할 수 있다.
예를 들어 도 4b의 수학 문제(401)는 수식(1/x + 1/y + 1/z)을 연산함으로써 풀이 결과를 제공하면 되는 것이므로 인공지능 튜터링 시스템(10)은 수식 풀이 모듈(140)에 의한 풀이 결과(402)를 우선적으로 제공할 수 있지만, 도 4c의 수학 문제(403)를 풀이하기 위하여 각각의 수식(abc=9, ax = by = cz = 27, 1/x + 1/y + 1/z)을 개별적으로 연산할 필요가 없으므로 수식 풀이 모듈(140)에 의한 풀이 결과는 학습자에게 오히려 불필요한 풀이 과정을 제공할 수 있다. 따라서, 인공지능 튜터링 시스템(10)은 풀이 검색 모듈(150)에 의하여 검색된 풀이 결과(404-1)를 제공하고, 수식 풀이 모듈(140)에 의한 풀이 결과는 없음을 나타내는 화면(404-2)을 제공할 수 있다. 추가적으로, 인공지능 튜터링 시스템(10)은 수학 문제(403)와 유형이 동일한 문제(404-3)를 풀이 결과(404-1)와 함께 제공할 수 있다.
다른 예를 들어, 도 4d에 주어진 수학 문제(405)와 같이 참과 거짓을 구별해야 하는 문제의 경우, 수식 풀이 모듈(140)은 '참' 또는 '거짓' 여부를 결정할 수 있지만 최종적인 정답(예: '옳지 않은 것은 5번')을 도출하지 못하므로, 인공지능 튜터링 시스템(10)은 풀이 검색 모듈(150)에 의하여 검색된 풀이 결과(405-1)를 우선적으로 제공하되, 수식 풀이 모듈(140)에 의한 풀이 결과도 확인할 수 있음을 나타내는 화면(405-2)을 제공할 수 있다.
도 5a 내지 도 5d는 다양한 실시예들에 따라 구문 트리를 이용하여 수식을 풀이하는 동작을 설명한다. 도 5a 내지 도 5d에서 서술되는 동작들은 인공지능 튜터링 시스템(10)의 수식 풀이 모듈(140)에 의하여 구현될 수 있다.
수식 풀이 모듈(140)은 수식을 자동적으로 풀이하기 위하여 구문 트리 구조를 이용할 수 있다. 구문 트리는 노드들(예: int, sym, op)이 계층적으로 연결되는 데이터 구조로써, 인공지능 튜터링 시스템(10)은 구문 트리를 이용하여 문제의 풀이 과정을 순차적으로 학습자에게 안내할 수 있다. 구문 트리는 AST(abstract syntax tree)로 참조될 수 있다. 구문 트리는 숫자, 미지수, 또는 연산자 중 하나를 나타내는 노드를 포함할 수 있다. 구문 트리는 하나의 루트 노드(root node)를 가지며, 1개 이상의 자식 노드를 가질 수 있다. 자식 노드가 없는 노드는 말단 노드로, 자식 노드가 있는 노드는 내부 노드로 참조될 수 있다. 구문 트리에서는 모든 내부 노드가 수학에서의 연산자 또는 함수의 역할을 하며, 말단 노드는 숫자 또는 미지수 역할을 할 수 있다. 예를 들어, 수식 풀이 모듈(140)은 'x + 2y'인 수식을 도 5a에 도시된 구문 트리로 변환할 수 있다. 구문 트리는 쉽게 확장될 수 있다. 예를 들어, 수식 풀이 모듈(140)은 도 5a에 도시된 구문 트리에서 ^를 나타내는 연산자 노드를 추가하여 지수 함수를 표현할 수 있으며 =를 나타내는 연산자 노드를 추가하여 방정식을 표현할 수 있다. 또한, 수식 풀이 모듈(140)은 레이텍(LaTex) 형식으로 주어진 수식을 파싱하는 과정에서 자연스럽게 수식을 구문 트리로 변환할 수 있다.
구문 트리를 이용하여 수식을 푸는 것은 구문 트리를 다른 형태로 변환하는 동작을 의미할 수 있다. 예를 들어 도 5b를 참조하면, 수식 풀이 모듈(140)은 '1 + 2'이라는 수식을 숫자 '1', '2' 및 연산자 '+' 를 각각 노드로 나타내는 구문 트리로 변환한 후, 변환된 구문 트리를 연산함으로써 숫자 '3'을 나타내는 노드로 변환할 수 있다. 위와 같이 구문 트리를 변환하는 과정은 '풀이 전략'으로 참조될 수 있다. 하나의 수식은 복수의 풀이 전략을 요구할 수 있다. 예를 들어, '1 + 2 + 3'과 같이 세 자연수의 합을 나타내는 수식이 주어지면, 수식 풀이 모듈(140)은 하나의 덧셈(addition) 전략을 두 번 수행함으로써 수식을 연산할 수 있다. 이 경우, 예컨대, 수식 풀이 모듈(140)은 '1 + 2'에 대한 덧셈 전략에 따라서 수식을 풀고, '3 + 3'에 대한 덧셈 전략에 따라서 수식을 풀 수 있다. 인공지능 튜터링 시스템(10)은 각각의 풀이 전략에 따른 연산 결과를 단계별로 학습자에게 제공함으로써 학습자가 주어진 수식을 보다 명확하게 이해하는데 도움을 줄 수 있다.
도 5b는 노드의 수가 감소하는 풀이 전략만을 도시하지만, 다른 실시예에 따르면 인공지능 튜터링 시스템(10)은 풀이 전략을 통해 노드의 수를 유지하거나 증가시킬 수 있다. 예를 들어, 'x + x'인 수식이 주어지면, 인공지능 튜터링 시스템(10)은 '다항식 동류항 정리' 풀이 전략을 이용하여 해당 수식을 '2 * x'으로 변환할 수 있다. 이 경우, 'x', '+', 및 'x'를 각각 노드로 포함하는 구문 트리의 형태가 '2', '*', 및 'x'를 각각 노드로 포함하는 구문 트리로 변환될 수 있다. 다른 예를 들어, '12'라는 숫자가 주어지면, 인공지능 튜터링 시스템(10)은 '소인수분해' 풀이 전략을 이용하여 해당 숫자를 '2 * 2 * 3'이라는 수식으로 변환할 수 있다.
도 5b에서 설명한 '덧셈 전략'과 같은 풀이 전략은 초, 중, 고등학교의 교과 과정을 기준으로 1000개 이상이며, 해당 숫자는 증가할 수 있다. 따라서, 수식 풀이 모듈(140)이 학습자가 질문한 수학 문제에 적합한 풀이 전략을 결정하기 위하여 많은 시간이 소모될 수 있다. 실시예들에 따른 인공지능 튜터링 시스템(10)은 풀이 전략들을 기능별로 그룹화하고, 각 그룹을 도 5c에 도시된 바와 같이 계층적으로 구성함으로써 풀이 결과를 생성하기 위하여 필요한 풀이 전략을 효율적으로 선택할 수 있다. 예를 들어 수식이 주어지면, 수식 풀이 모듈(140)은 'Solving Group' 함수를 호출하고, 수식에 포함된 미지수나 연산자에 기반하여 주어진 수식이 사칙 연산과 같은 단순 계산을 필요로 하는 'Simple Group'인지, 방정식이나 다항식 연산과 같이 사칙 연산 이상의 계산을 요구하는 'Middle Group'인지를 판단할 수 있다. 도 5c에는 도시되지 않았지만, 'Solving Group'은 미분, 적분, sigma 합산과 같은 연산을 요구하는 추가적인 Group을 더 포함할 수 있다. 수식 풀이 모듈(140)은 계층화된 풀이 전략을 순차적으로 호출함으로써 풀이 전략을 선택하므로, 풀이 전략을 선택하기 위하여 요구되는 호출 횟수를 줄일 수 있다. 수식 풀이 모듈(140)은 둘 이상의 풀이 전략을 선택할 수 있으며, 서로 다른 Group의 풀이 전략을 선택할 수 있다. 예를 들어, 수식 풀이 모듈(140)은 주어진 수식을 연산하기 위하여 자연수 사칙 연산과 전개를 풀이 전략으로 선택할 수 있다. 수식 풀이 모듈(140)은 계층화된 풀이 전략 구조를 선택할 때 방향성 또는 최종 목표를 설정할 수 있다. 예를 들어, '(x + 2)(x + 4) + 1'이라는 수식이 주어지면, 해당 수식의 최종 목표는 수식을 전개하는 것이거나 또는 인수분해하는 것일 수 있다. 해당 수식의 최종 목표가 전개인 경우, 수식 풀이 모듈(140)은 전개를 연산한 이후에 풀이를 종료하고 풀이 결과를 제공함으로써 불필요한 연산을 줄일 수 있다.
도 5d는 구문 트리를 이용하여 수식을 풀이하기 위한 동작 흐름도를 도시한다. 동작 510에서, 인공지능 튜터링 시스템(10)은 OCR 모듈(120)을 통해 인식된 수식을 구문 트리로 변환할 수 있다. 구문 트리에 포함된 노드들은 계층화된 구조를 가지면, 각 노드들은 미지수, 숫자, 또는 연산자 중 하나를 나타낼 수 있다. 동작 520에서, 인공지능 튜터링 시스템(10)은 구문 트리 내에서 적어도 하나의 풀이 전략을 선택할 수 있다. 풀이 전략은 연산을 통해 둘 이상의 노드들을 하나로 줄이는 동작을 의미할 수 있다. 동작 530에서, 인공지능 튜터링 시스템(10)은 선택된 적어도 하나의 풀이 전략에 따라서 수식이 순차적으로 풀이되는 풀이 결과를 제공할 수 있다. 인공지능 튜터링 시스템(10)은 수식의 일부에 대하여 풀이 전략 선택 및 수식 풀이를 수행한 후, 나머지 일부에 대하여 풀이 전략 선택 및 수식 풀이를 수행할 수 있다.
도 6은 다양한 실시예들에 따라 문제의 유사도를 측정하는 동작을 설명한다.
풀이 검색 모듈(150)이 학습자가 질문한 수학 문제에 대응하는 문제를 문제 풀이 DB(190)에서 검색할 때 이미지에 포함된 텍스트를 직렬화한 후 유사도를 판단하는 알고리즘을 적용하면 문제의 레이아웃(layout) 정보가 손실될 수 있다. 레이아웃 정보는 예를 들어, 텍스트뿐만 아니라 글자의 위치, 문제 번호, 데코레이더(decorator), 그림, 또는 색감과 같은 정보를 나타낼 수 있다. 실시예들에 따른 풀이 검색 모듈(150)은 이미지에 포함된 텍스트 및 수식의 상대적 위치를 산출하고, 산출된 상대적 위치를 이용하여 유사도를 계산함으로써 검색의 정확도를 높일 수 있다. 풀이 검색 모듈(150)은 상대적 위치를 결정하기 위하여 들로네 삼각분할(Delaunay triangulation) 알고리즘을 이용할 수 있다. 들로네 삼각분할을 이용하여 유사도를 산출하는 방식은 아래와 같다.
1. OCR 박스의 중심을 하나의 점으로 생각한다.
2. 이미지 상의 점들을 들로네 삼각분할 알고리즘으로 연결한다.
3. 들로네 삼각분할 알고리즘으로 생성된 각각의 삼각형들을 구성하는 점 3개의 특성(character)들의 집합(set)을 하나의 토큰(token)으로 결정한다. 토큰들을 모두 모은 결과는 토큰셋(tokenset)으로 간주한다.
4. 주어진 문제 Q1과 데이터 베이스에 저장된 문제 Q2의 들로네 토큰 유사도(Delaunay Token Similarity)는 Q1의 토큰셋(TS_Q1)과 Q2의 토큰셋(TS_Q2) 사이의 자카드 유사도(Jaccard similarity)를 이용하여 계산한다. 예를 들어, 자카드 유사도는 하기의 [수학식 1]로 표현될 수 있으며, 들로네 삼각분할 및 자카드 유사도에 의하여 결정된 문제들 간 유사도(DTSim)은 하기의 [수학식 2]로 표현될 수 있다.
Figure PCTKR2022002463-appb-img-000001
Figure PCTKR2022002463-appb-img-000002
도 6은 각각의 수학 문제(왼쪽부터 (a), (b), (c))에 들로네 삼각분할이 적용된 결과를 도시한다. 수학 문제(a)와 수학 문제(b)는 동일한 문제이고, 수학 문제(c)는 다른 수학 문제들과 다른 문제이다. EDSim 또는 LCSSim과 같은 기존의 알고리즘을 이용할 경우, 수학 문제(a)와 수학 문제(b)간 유사도가 높게 측정될 뿐만 아니라 수학 문제(a)와 수학 문제(c)간 유사도 또한 높게 측정되는 오류가 발생할 수 있는 반면에, 들로네 삼각분할 알고리즘을 이용할 경우 수학 문제(a)와 수학 문제(c)간 유사도가 낮게 측정될 수 있다.
도 7a 내지 도 7c는 다양한 실시예들에 따라 키워드에 기반하여 텍스트를 분석하는 동작을 설명한다.
키워드는 문제 풀이 DB(190)에 저장된 문제들 내에서 출현 빈도가 높은(또는 지정된 횟수 이상인) 텍스트를 의미할 수 있다. 예를 들어 도 7a를 참조하면, 키워드 분석 모듈(130)은 주어진 2번 문제의 키워드가 '다항식'에 해당하고, 문제 유형이 '다항식의 덧셈과 뺄셈'인 것으로 결정할 수 있다. 또한, 키워드 분석 모듈(130)은 주어진 0887번 문제의 키워드가 '직각삼각형', '변', '지름', '반원', 및 '넓이'이고 문제 유형이 '히포크라테스의 원의 넓이'인 것으로 결정할 수 있다. 키워드 분석 모듈(130)은 학년에 따라서 키워드를 분류하여 문제 풀이 DB(190)에 저장할 수 있다.
키워드 분석 모듈(130)은 키워드를 이용하여 수식 풀이 모듈(140)의 풀이 정확도를 높일 수 있다. 예를 들어, 주어진 수학 문제가 (x-2)(x-4)+1이라는 수식을 포함하는 경우, 해당 수학 문제는 수식의 전개를 요구할 수도 있고, 인수분해를 요구할 수도 있다. 이 경우, 키워드 분석 모듈(130)은 수학 문제에서 '인수분해'라는 키워드를 인식하고 해당 키워드를 수식 풀이 모듈(140)에 제공하여 인수분해를 풀이 전략으로 이용하도록 유도할 수 있다.
키워드 분석 모듈(130)은 키워드를 이용하여 OCR 모듈(120)에서 오인식된 텍스트를 수정할 수 있다. 실시예에서, 키워드 분석 모듈(130)은 퍼지 검색(fuzzy search) 및 Levenshtein distance를 이용하여 오인식된 텍스트를 추출할 수 있다. OCR 모듈(120)은 텍스트를 인식할 때 텍스트들 간 거리를 기준으로 하나의 '단어 박스'를 설정한다. 단어 박스에 포함된 텍스트는 띄어쓰기로 구분된 문자열일 수 있다. 한글의 특성상 문자열은 키워드 하나가 조사나 어미와 결합되는 경우가 많으므로, 키워드 분석 모듈(130)은 단어 박스 내의 문자열에 대한 형태소 및 품사를 분석하고, 분석 결과에 기반하여 보정 후보 리스트를 생성할 수 있다. 도 7b를 참조하면, '곱셈공식'에서 '곱셈'과 '공식'에 조사가 결합되지 않으므로 키워드 분석 모듈(130)은 '곱셈공식'을 하나의 보정 후보 리스트로 결정할 수 있다. 다른 예를 들어, '이차망정식의'에서 '의'라는 관형격 조사가 결합되므로 키워드 분석 모듈(130)은 '이차망정식'과 '의'를 보정 후보 리스트로 결정할 수 있다. 추가적으로 '이차망정식의'도 보정 후보 리스트로 생성할 수 있는데 '의'가 오타일 수 있음을 고려한 것이다. 키워드 분석 모듈(130)은 생성된 보정 후보 리스트에 퍼지 검색을 수행함으로써 오타(예: '이차망정식'의 '망', '최맷값'의 '맷')를 추출할 수 있다. 키워드 분석 모듈(130)은 데이터 베이스에 저장된 키워드(예: '이차방정식', '최댓값')을 고려하여 추출된 오타를 수정할 수 있다. 실시예에서 키워드 분석 모듈(130)은 학습자의 학년을 고려하여 텍스트를 추가적으로 수정할 수 있다. 예를 들어, 인식된 텍스트가 '임차방정식'이면, 키워드 분석 모듈(130)은 학습자의 학년의 고려하여 '일차방정식' 또는 '이차방정식'으로 수정할 수 있다.
도 8은 다양한 실시예들에 따라 자연어를 수식으로 변환하는 동작을 설명한다.
자연어 처리 모듈(170)은 문장 형태의 수학 문제를 분석함으로써 수식 풀이 모듈(140)의 단점을 보완할 수 있다. 문장 형태의 수학 문제(예: 810)가 주어지면 자연어 처리 모듈(170)은 데이터셋 기반의 자연어 처리 파서(parser)를 이용하여 이미지로부터 추출된 텍스트를 분석하고, 분석 결과에 따라서 텍스트를 수식(예: 820)으로 변환할 수 있다. 자연어 처리 파서를 구현하기 위하여, 자연어 처리 모듈(170)은 수많은 문장 형태에 대해 문맥 무관 문법을 정의할 수 있다.
데이터셋은 하나의 문장으로 이루어진 수학 문제의 데이터셋과 복수의 문장으로 이루어진 수학 문제의 데이터셋으로 분류될 수 있다. 또한, 문장 형태의 수학 문제는 1개의 목표(word problem objective)와 목표 앞 또는 뒤에 붙는 조건(word problem condition)으로 구성될 수 있다. 예를 들어, 문제 유형에 따른 데이터셋의 예시는 하기의 [표 1]로 표현될 수 있다.
문제 유형 한 문장으로 이루어진 수학 문제 합성된 수학 문제
사칙 연산 Sum 259 and -46.
대소 비교 What is the second biggest value in 0.9, -2/11, -5, 3/5? Let v = -394.063 + -0.437. Let f = 394 + v. Let b = -26 + 105/4.
What is the smallest value in b, 3, f?
정렬 Sort -0.06, 2/3, 46, -18, -414 in descending order. Suppose -2*s + 3*s = -5. Suppose 3*g + 25 = *4y, -4*g - 11*y - 20 = -15*y. Let b(j) = -j**2 - 5*j. Let r be b(-4).Put s, r, g in descending order.
최소 공배수 Calculate the smallest common multiple of 23954 and 4176. Suppose -b - 29 = -27, -2*m + 5*b + 810 = 0.Calculate the least common multiple of m and 550.
연립방정식 Solve -221 = n + 308*z - 304*z, 823 = 2*n - 15*z for n. Let o(b) be the first derivative of -b**3/3 + 6*b**2 - 18*b + 18. Let f be o(9). Let z be (-1 + 1 + 4)/1.
소인수분해 What are the prime factors of 6792? Let c = -12085 - -17386. What are the prime factors of c?
다항 함수의 미분 Find the second derivative of 2882*p**3*v + 3228*p*v wrt p. Let u(w) be the first derivative of -452*w**5 - 99*w**3 + w - 601.Find the third derivative of u(v) wrt v.
자연어 처리 모듈(170)은 자연어 처리 파서를 이용하여 문장 형태의 수학 문제를 둘 이상의 수식으로 변환할 수 있다. 이 경우, 수식은 최종적으로 풀고자 하는 수식(목표)과 해당 수식을 풀기 위하여 필요한 수식(조건)을 포함할 수 있다.
도 9는 다양한 실시예들에 따라 문제 유형을 분류하는 동작을 설명한다.
유형 분류 모듈(180)은 수학 문제에 대한 문제 유형을 지정된 기준에 따라 분류할 수 있다. 지정된 기준은 예를 들어, 학년, 학기(semester), 챕터(chapter), 또는 섹션(section) 중 적어도 하나를 포함할 수 있다. 챕터는 한 학기에 배우는 일정한 개수(예: 5개)의 문제 유형 단위를 의미할 수 있다. 섹션은 한 챕터에서 배우는 일정한 개수(예: 2개)의 문제 유형 단위를 의미할 수 있다. 추가적으로, 유형 분류 모듈(180)은 도 9에 도시된 바와 같이 섹션보다 더 작은 단위(예: 장르(genre))로 문제 유형을 분류할 수 있다. 동일한 섹션 또는 장르는 예를 들어, 수식 풀이 모듈(140)이 사용하는 풀이 전략이 동일하거나 유사할 수 있다.
유형 분류 모듈(180)은 학습자가 질문한 수학 문제의 문제 유형을 확인하고, 확인된 문제 유형과 관련된 학습 컨텐츠를 제공할 수 있다. 또한, 유형 분류 모듈(180)은 학습자들이 자주 질문하는 문제 유형을 확인하고, 학습자의 검색 경향을 분석할 수 있다.
새로운 문제가 주어질 때, 유형 분류 모듈(180)은 문제 풀이 DB(190)에 저장된 문제와의 유사도를 기반으로 새로운 문제의 문제 유형을 결정할 수 있다. 예를 들어, 유형 분류 모듈(180)은 K-NN 알고리즘을 이용하여 최소 편집 거리 및 TF-IDF(Term Frequency - Inverse Document Frequency) 기반으로 텍스트의 유사도를 판단할 수 있다. K-NN 알고리즘에 기반한 유사도 판단은 완전히 새로운 유형의 문제에 대한 추론 능력이 떨어질 수 있으므로, 유형 분류 모듈(180)은 딥 러닝을 활용한 분류기(classifier)를 이용하여 유사도 판단의 성능을 높일 수 있다.
도 10은 다양한 실시예들에 따라 학습 컨텐츠를 제공하는 동작을 설명한다.
학습자가 수학 문제를 업로드하면, 인공지능 튜터링 시스템(10)은 업로드 된 수학 문제에 대한 풀이 결과뿐만 아니라 해당 수학 문제와 관련된 학습 컨텐츠를 제공할 수 있다. 학습 컨텐츠는 학습자가 질문한 수학 문제와 관련된 개념, 동일하거나 유사한 유형의 문제, 태깅, 개념서 내용, 또는 동영상 강의를 포함할 수 있다. 예를 들어 도 10을 참조하면, 동작 1001에서 인공지능 튜터링 시스템(10)은 학습자를 통해 특정 수학 문제(예: x2 + 2x - 3 = 0)를 포함하는 이미지를 획득하고, 동작 1002에서 해당 수학 문제와 동일한 문제 유형(예: 이차방정식)에 대한 동영상 강의를 제공할 수 있다.

Claims (11)

  1. 인공지능 튜터링 시스템의 동작 방법에 있어서,
    사용자 장치로부터 이미지를 획득하는 동작;
    OCR(optical character recognition)을 이용하여 상기 이미지에 포함된 문제의 텍스트 및 수식을 추출하는 동작;
    수식 풀이 모듈의 알고리즘을 이용하여 상기 텍스트 및 상기 수식에 대한 제1 풀이 결과를 생성하는 동작;
    데이터 베이스로부터 상기 텍스트 및 상기 수식에 대한 제2 풀이 결과를 검색하는 동작; 및
    상기 제1 풀이 결과 상기 제2 풀이 결과의 신뢰도에 기반하여 상기 제1 풀이 결과 및 상기 제2 풀이 결과 중 적어도 하나를 제공하는 동작을 포함하는, 방법.
  2. 청구항 1에 있어서,
    상기 문제에 포함된 수식을 입력 또는 편집할 수 있는 사용자 인터페이스(user interface)를 제공하는 동작을 더 포함하는, 방법.
  3. 청구항 1에 있어서, 상기 제1 풀이 결과를 생성하는 동작은,
    상기 수식을, 숫자, 미지수, 및 연산자 중 적어도 하나를 포함하는 하나 이상의 노드가 포함된 구문 트리(syntax tree)로 변환하는 동작;
    상기 구문 트리 내에서 상기 하나 이상의 노드를 변환하기 위한 풀이 전략(strategy)을 적어도 하나 선택하는 동작; 및
    상기 선택된 풀이 전략에 따라 상기 수식이 순차적으로 풀이되는 상기 제1 풀이 결과를 제공하는 동작을 포함하는, 방법.
  4. 청구항 1에 있어서,
    ElasticSearch 검색 엔진을 이용하여 상기 데이터 베이스로부터 상기 제2 풀이 결과를 검색하는 동작을 포함하는, 방법.
  5. 청구항 1에 있어서,
    상기 이미지에 포함된 문제에서 상기 텍스트 및 상기 수식의 상대적 위치를 들로네 삼각분할(Delaunay triangulation) 알고리즘을 이용하여 결정하는 동작;
    상기 데이터 베이스에 포함된 텍스트 및 수식의 상대적 위치를 상기 들로네 삼각분할 알고리즘을 이용하여 결정하는 동작; 및
    상기 결정된 상대적 위치들을 이용하여 상기 이미지에 포함된 문제와 동일 또는 유사한 문제를 상기 데이터 베이스로부터 검색하는 동작을 포함하는, 방법.
  6. 청구항 1에 있어서, 상기 제1 풀이 결과를 생성하는 동작은,
    상기 이미지로부터 추출된 텍스트 중 키워드를 분석하는 동작; 및
    상기 분석된 키워드를 이용하여 상기 수식 풀이 모듈의 알고리즘을 이용하여 상기 제1 풀이 결과를 생성하는 동작을 포함하고,
    상기 데이터 베이스에 기 저장된 문제에서 출현 빈도가 높은 텍스트가 상기 키워드로 저장되며,
    상기 키워드는 학년에 따라서 분류되어 상기 데이터 베이스에 저장되는, 방법.
  7. 청구항 1에 있어서,
    상기 이미지로부터 추출된 텍스트 중 오인식된 텍스트를 추출하는 동작; 및
    상기 오인식된 텍스트를 상기 데이터 베이스에 저장된 키워드에 기반하여 수정하는 동작을 더 포함하고,
    상기 데이터 베이스에 기 저장된 문제에서 출현 빈도가 높은 텍스트가 상기 키워드로 저장되며,
    상기 키워드는 학년에 따라서 분류되어 상기 데이터 베이스에 저장되는, 방법.
  8. 청구항 1에 있어서,
    상기 데이터 베이스에 저장된 데이터셋(dataset) 기반의 자연어 처리 파서(parser)를 이용하여 상기 이미지로부터 추출된 텍스트를 분석하는 동작; 및
    상기 분석 결과에 기반하여 상기 텍스트를, 최종적으로 풀고자 하는 수식과 해당 수식을 풀기 위하여 필요한 조건에 해당하는 수식 중 적어도 하나의 수식으로 변환하는 동작을 더 포함하고,
    상기 데이터셋은 문장을 포함하는 수학 문제에 대한 데이터를 나타내는, 방법.
  9. 청구항 1에 있어서,
    상기 데이터 베이스에 저장된 문제 유형 정보에 기반하여 상기 문제의 문제 유형을 결정하는 동작을 더 포함하고,
    상기 문제 유형은 메타 데이터에 기반하여 분류되는, 방법.
  10. 청구항 9에 있어서,
    상기 결정된 문제 유형에 대응하는 학습 컨텐츠를, 상기 제1 풀이 결과 및 상기 제2 풀이 결과 중 적어도 하나와 함께 제공하는 동작을 더 포함하는, 방법.
  11. 인공지능 튜터링 시스템에 있어서,
    사용자 장치로부터 이미지를 획득하고,
    OCR(optical character recognition)을 이용하여 상기 이미지 내에 포함된 문제의 텍스트 및 수식을 추출하고,
    수식 풀이 모듈의 알고리즘을 이용하여 상기 텍스트 및 상기 수식에 대한 제1 풀이 결과를 생성하고,
    데이터 베이스로부터 상기 텍스트 및 상기 수식에 대한 제2 풀이 결과를 검색하고, 및
    상기 제1 풀이 결과 상기 제2 풀이 결과의 신뢰도에 기반하여 상기 제1 풀이 결과 및 상기 제2 풀이 결과 중 적어도 하나를 제공하는 서버를 포함하는, 인공지능 튜터링 시스템.
PCT/KR2022/002463 2021-02-18 2022-02-18 인공지능을 이용하여 튜터링 서비스를 제공하기 위한 시스템 및 그에 관한 방법 WO2022177372A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210021828A KR20220118579A (ko) 2021-02-18 2021-02-18 인공지능을 이용하여 튜터링 서비스를 제공하기 위한 시스템 및 그에 관한 방법
KR10-2021-0021828 2021-02-18

Publications (1)

Publication Number Publication Date
WO2022177372A1 true WO2022177372A1 (ko) 2022-08-25

Family

ID=82931031

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/002463 WO2022177372A1 (ko) 2021-02-18 2022-02-18 인공지능을 이용하여 튜터링 서비스를 제공하기 위한 시스템 및 그에 관한 방법

Country Status (2)

Country Link
KR (1) KR20220118579A (ko)
WO (1) WO2022177372A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102583004B1 (ko) * 2022-10-19 2023-09-27 주식회사 율러닝 동영상 기반의 온라인 학습 서비스를 제공하는 방법 및 이를 위한 서버

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004144903A (ja) * 2002-10-23 2004-05-20 Hokkaido Technology Licence Office Co Ltd 試験問題作成・採点方法およびそのシステム、試験問題作成・採点サーバ、携帯型解答者端末装置、プログラム、並びに携帯型解答者端末装置搭載用プログラム
KR20170044276A (ko) * 2015-10-15 2017-04-25 강호제 문제풀이 과정을 계층별로 나누어 시각화시키는 추론과정 전개도 서비스 장치 및 방법
KR20170052232A (ko) * 2015-11-04 2017-05-12 주식회사 터치앤에듀 필기된 수식 인식을 이용한 수학 학습 장치 및 방법
KR20180097477A (ko) * 2018-08-21 2018-08-31 양선아 온라인 네트워크를 통해 주관식 수학 문제를 채점하는 장치 및 방법
KR102056822B1 (ko) * 2017-05-04 2019-12-17 주식회사 매스프레소 학습 서비스 제공 방법 및 그 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004144903A (ja) * 2002-10-23 2004-05-20 Hokkaido Technology Licence Office Co Ltd 試験問題作成・採点方法およびそのシステム、試験問題作成・採点サーバ、携帯型解答者端末装置、プログラム、並びに携帯型解答者端末装置搭載用プログラム
KR20170044276A (ko) * 2015-10-15 2017-04-25 강호제 문제풀이 과정을 계층별로 나누어 시각화시키는 추론과정 전개도 서비스 장치 및 방법
KR20170052232A (ko) * 2015-11-04 2017-05-12 주식회사 터치앤에듀 필기된 수식 인식을 이용한 수학 학습 장치 및 방법
KR102056822B1 (ko) * 2017-05-04 2019-12-17 주식회사 매스프레소 학습 서비스 제공 방법 및 그 장치
KR20180097477A (ko) * 2018-08-21 2018-08-31 양선아 온라인 네트워크를 통해 주관식 수학 문제를 채점하는 장치 및 방법

Also Published As

Publication number Publication date
KR20220118579A (ko) 2022-08-26

Similar Documents

Publication Publication Date Title
CN110337645B (zh) 可适配的处理组件
JP3856778B2 (ja) 複数言語を対象とした文書分類装置及び文書分類方法
WO2020177531A1 (zh) 题目辅助方法及系统
US20180075368A1 (en) System and Method of Advising Human Verification of Often-Confused Class Predictions
Azpiazu et al. Multiattentive recurrent neural network architecture for multilingual readability assessment
US9613093B2 (en) Using question answering (QA) systems to identify answers and evidence of different medium types
WO2021049706A1 (ko) 앙상블 질의 응답을 위한 시스템 및 방법
WO2020111314A1 (ko) 개념 그래프 기반 질의응답 장치 및 방법
CN106383875A (zh) 基于人工智能的人机交互方法和装置
US11875585B2 (en) Semantic cluster formation in deep learning intelligent assistants
CN110675677A (zh) 用于辅助数学应用题的方法及装置
WO2021100902A1 (ko) 문장 패러프레이즈 인식 기반 대화 시스템 답변 방법
WO2022177372A1 (ko) 인공지능을 이용하여 튜터링 서비스를 제공하기 위한 시스템 및 그에 관한 방법
WO2020111827A1 (ko) 프로필 자동생성서버 및 방법
CN116091836A (zh) 一种多模态视觉语言理解与定位方法、装置、终端及介质
Hassani et al. LVTIA: A new method for keyphrase extraction from scientific video lectures
WO2022060060A1 (ko) 지문의 난이도 조정을 통하여 교육용 외국어 지문을 생성하는 방법, 그 컴퓨터 프로그램 및 그 장치
CN111241276A (zh) 题目搜索方法、装置、设备及存储介质
CN114722174A (zh) 提词方法和装置、电子设备及存储介质
CN113761887A (zh) 基于文本处理的匹配方法、装置、计算机设备和存储介质
US10255906B2 (en) Sensors and analytics for reading comprehension
Swathilakshmi Student suite+, a closed domain question answering system for educational domain
CN111368093A (zh) 信息获取方法、装置、电子设备及计算机可读存储介质
Xiao et al. Automatic generation of multiple-choice items for prepositions based on word2vec
WO2019035699A1 (ko) 인문 사상의 분류 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22756570

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22756570

Country of ref document: EP

Kind code of ref document: A1