KR102567937B1 - Method using inductive tree-structured neural model based on natural language processing for solving math word problems and system thereof - Google Patents

Method using inductive tree-structured neural model based on natural language processing for solving math word problems and system thereof Download PDF

Info

Publication number
KR102567937B1
KR102567937B1 KR1020220191016A KR20220191016A KR102567937B1 KR 102567937 B1 KR102567937 B1 KR 102567937B1 KR 1020220191016 A KR1020220191016 A KR 1020220191016A KR 20220191016 A KR20220191016 A KR 20220191016A KR 102567937 B1 KR102567937 B1 KR 102567937B1
Authority
KR
South Korea
Prior art keywords
node
solving
mathematical problem
num
inductive
Prior art date
Application number
KR1020220191016A
Other languages
Korean (ko)
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 주식회사 젠티
Priority to KR1020220191016A priority Critical patent/KR102567937B1/en
Application granted granted Critical
Publication of KR102567937B1 publication Critical patent/KR102567937B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법이 개시된다. 본 발명의 일 측면에 따르면, 토큰화부가, 서술형의 수학 문제를 문제 풀이를 위해 토큰화하는 단계, 및 풀이부가, 토큰화된 수학 문제를 귀납적 문제 풀이 시퀀스에 따른 이진 트리 논리 구조의 수식 트리로 치환하여 풀이하는 단계를 포함하는 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법이 제공된다.A method for solving a descriptive mathematical problem using an inductive mathematical tree model based on natural language processing is disclosed. According to one aspect of the present invention, the tokenization unit tokenizes a narrative mathematical problem for problem solving, and the solver converts the tokenized mathematical problem into a formula tree of a binary tree logic structure according to an inductive problem solving sequence. Provided is a method for solving a descriptive mathematical problem using an inductive formula tree model based on natural language processing, including a step of performing substitution and solution.

Description

자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법 및 그 시스템{METHOD USING INDUCTIVE TREE-STRUCTURED NEURAL MODEL BASED ON NATURAL LANGUAGE PROCESSING FOR SOLVING MATH WORD PROBLEMS AND SYSTEM THEREOF}Method and system for solving descriptive mathematical problems using an inductive formula tree model based on natural language processing

본 발명은 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법 및 그 시스템에 관한 것이다.The present invention relates to a method and system for solving a descriptive mathematical problem using an inductive mathematical tree model based on natural language processing.

인공 지능(artificial intelligence, AI) 기술은 인간의 인지 능력, 학습 능력, 추론 능력, 언어 능력 등을 컴퓨터로 구현하기 위한 기술로서, 딥러닝(deep learning)과 기계 학습(machine learning)의 등장 이후 인지 능력, 특히 시각 지능을 중심으로 급격히 발전하여 왔으며, 언어 지능과 관련해서는 방대한 사전 학습을 통해 인간과 유사한 텍스트 분석 모델의 개발에 성공하였다.Artificial intelligence (AI) technology is a technology for implementing human cognitive ability, learning ability, reasoning ability, language ability, etc. into a computer. After the advent of deep learning and machine learning, artificial intelligence (AI) technology It has developed rapidly, especially in visual intelligence, and in relation to linguistic intelligence, it has succeeded in developing a human-like text analysis model through extensive prior learning.

그러나 인간의 서술식 언어 및 문맥 이해를 통해 인간과 같이 사고하고 판단하는 추론 지능에 있어서는 큰 성과를 내지 못하고 있는 실정이며, 기존의 사전 학습 언어 모델은 선언적 지식은 쉽게 습득하지만 절차적인 지식이 필요한 수학적 지식을 습득하는 것에는 여전히 한계를 보이고 있다.However, in terms of reasoning intelligence that thinks and judges like humans through human descriptive language and context understanding, great achievements have not been made. Acquisition of knowledge is still limited.

따라서 인공 지능을 활용하여 인간의 언어를 이해하고 수리적 사고를 통해 서술식 수학 문제를 해결하고자 하는 연구는 상식 이해 기반 추론 및 자연어 처리, 그래프 추론 등 복합 지능 기술이 융합된 기술로서 인공 지능 산업 분야에서 매우 도전적인 과제라 할 수 있다.Therefore, research that uses artificial intelligence to understand human language and solve descriptive mathematical problems through mathematical thinking is a technology that combines common sense understanding-based reasoning, natural language processing, and graph reasoning, and complex intelligence technologies, and is widely used in the artificial intelligence industry. It can be said to be a very challenging task.

대한민국 공개특허공보 제10-2020-0003329호 (2020.01.09. 공개)Republic of Korea Patent Publication No. 10-2020-0003329 (2020.01.09. Publication)

본 발명은 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법 및 그 시스템을 제공하는 것이다.The present invention provides a method and system for solving a descriptive mathematical problem using an inductive mathematical tree model based on natural language processing.

본 발명의 일 측면에 따르면, 토큰화부가, 서술형의 수학 문제를 문제 풀이를 위해 토큰화하는 단계, 및 풀이부가, 토큰화된 수학 문제를 귀납적 문제 풀이 시퀀스에 따른 이진 트리 논리 구조의 수식 트리로 치환하여 풀이하는 단계를 포함하는 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법이 제공된다.According to one aspect of the present invention, the tokenization unit tokenizes a narrative mathematical problem for problem solving, and the solver converts the tokenized mathematical problem into a formula tree of a binary tree logic structure according to an inductive problem solving sequence. Provided is a method for solving a descriptive mathematical problem using an inductive formula tree model based on natural language processing, including a step of performing substitution and solution.

토큰화하는 단계는, 수학 문제를 띄어쓰기를 기준으로 복수의 토큰으로 변환하되 수학 문제 내의 숫자를 별도로 NUM 토큰으로 변환하는 단계, 및 NUM 토큰에 관한 정보를 NUM 리스트로 저장하는 단계를 포함할 수 있다.The tokenizing step may include converting the math problem into a plurality of tokens based on spacing, but separately converting numbers in the math problem into NUM tokens, and storing information about the NUM tokens as a NUM list. .

NUM 리스트로 저장하는 단계는, NUM 토큰으로 변환된 숫자를 제1 NUM 리스트로 저장하는 단계, 및 NUM 토큰의 수학 문제 내 위치를 제2 NUM 리스트로 저장하는 단계를 포함할 수 있다.The storing as a NUM list may include storing the numbers converted into NUM tokens as a first NUM list, and storing the positions of the NUM tokens in the math problem as a second NUM list.

수식 트리로 치환하여 풀이하는 단계는, 임베딩부가, 토큰을 전처리 후 사전 학습 언어 모델을 이용해 임베딩하여 임베딩 결과물을 생성하는 단계, 및 인코딩부가, 임베딩 결과물을 순환 신경망을 이용해 인코딩하여 제1 인코딩 결과물을 생성하되 제1 인코딩 결과물에서 숫자에 대한 부분을 추출하여 제2 인코딩 결과물을 생성하는 단계를 포함할 수 있다.The step of replacing and solving with an expression tree is a step of generating an embedding result by the embedding unit pre-processing the token and then embedding it using a pre-learning language model, and encoding the embedding result by the encoding unit using a recurrent neural network to obtain a first encoding result. It may include generating a second encoding result by extracting a part for a number from the first encoding result.

수식 트리로 치환하여 풀이하는 단계는, 제2 인코딩 결과물을 생성하는 단계 이후에, 예측 생성부가, 제1 인코딩 결과물 및 제2 인코딩 결과물을 분석하여 전위 표기법에 따라 수식 트리를 구성하는 노드의 노드값이 되는 숫자 또는 연산자를 결정하면서 수식 트리를 하향 생성하고 수식 트리를 따라 상향 재귀하면서 복수의 노드를 순차 병합하여 수학 문제를 풀이하는 단계를 더 포함할 수 있다.In the step of replacing and solving with an equation tree, after the step of generating the second encoding result, the prediction generation unit analyzes the first encoding result and the second encoding result, and the node values of the nodes constituting the expression tree according to the prefix notation. The method may further include solving the math problem by generating a formula tree downward while determining a number or operator that becomes a number or an operator, and sequentially merging a plurality of nodes while recursing upward along the formula tree.

수학 문제를 풀이하는 단계는, 제1 인코딩 결과물 및 제2 인코딩 결과물로부터 숫자 및 연산자의 임베딩에 대한 임베딩 점수를 산출하는 단계, 및 임베딩 점수에 로지스틱 회귀 함수를 취하여 임베딩 점수가 최고점인 숫자 또는 연산자를 노드값으로 결정하는 단계를 포함할 수 있다.Solving the mathematical problem includes calculating embedding scores for embedding numbers and operators from the first encoding result and the second encoding result, and taking a logistic regression function on the embedding score to obtain a number or operator with the highest embedding score. A step of determining the node value may be included.

수학 문제를 풀이하는 단계는, 숫자 또는 연산자를 노드값으로 결정하는 단계 이후에, 노드값이 연산자로 결정되는 경우, 한 쌍의 자식 노드를 생성하고 다시 자식 노드의 노드값을 결정하는 단계를 더 포함할 수 있다.In the step of solving a mathematical problem, after the step of determining a number or operator as a node value, if the node value is determined as an operator, the step of generating a pair of child nodes and determining the node values of the child nodes is further added. can include

자식 노드의 노드값을 결정하는 단계는, 제1 인코딩 결과물, 제2 인코딩 결과물, 및 어텐션 메커니즘을 이용해 자식 노드의 노드값에 대한 문맥적 이해를 거친 문맥값을 추출하는 단계, 및 기결정된 노드값과 문맥값을 결합하여 자식 노드의 노드값을 결정하는 단계를 포함할 수 있다.The step of determining the node value of the child node may include extracting a context value through contextual understanding of the node value of the child node using the first encoding result, the second encoding result, and the attention mechanism, and the predetermined node value. and determining the node value of the child node by combining the context value and the step of determining the node value of the child node.

수학 문제를 풀이하는 단계는, 자식 노드의 노드값을 결정하는 단계 이후에, 한 쌍의 자식 노드 중 어느 하나의 노드값이 숫자로 결정되어 리프 노드가 형성된 경우, 한 쌍의 자식 노드 중 어느 하나 및 자식 노드에 대한 부모 노드의 노드값을 통해 한 쌍의 자식 노드 중 다른 하나의 노드값을 결정하는 단계를 더 포함할 수 있다.In the step of solving the mathematical problem, after the step of determining the node value of the pair of child nodes, when the node value of any one of the pair of child nodes is determined as a number and a leaf node is formed, any one of the pair of child nodes and determining a node value of another one of the pair of child nodes through a node value of a parent node of the child node.

수학 문제를 풀이하는 단계는, 다른 하나의 노드값을 결정하는 단계 이후에, 한 쌍의 자식 노드 중 다른 하나의 노드값이 숫자로 결정되는 경우, 한 쌍의 자식 노드와 부모 노드의 병합을 시작으로 복수의 노드값을 순차 병합하는 단계를 더 포함할 수 있다.In the step of solving the mathematical problem, after the step of determining the value of another node, when the value of the other one of the pair of child nodes is determined as a number, the pair of child nodes and the parent node are merged. A step of sequentially merging a plurality of node values may be further included.

본 발명에 따르면, 자연어 처리 기반의 귀납적 수식 트리 모델을 이용해 서술형 수학 문제를 효과적으로 해결할 수 있다.According to the present invention, a descriptive mathematical problem can be effectively solved using an inductive mathematical tree model based on natural language processing.

도 1은 본 발명의 일 실시예에 따른 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법을 나타낸 순서도.
도 2는 본 발명의 일 실시예에 따른 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법을 나타낸 프로세스 모식도.
도 3은 본 발명의 일 실시예에 따른 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법에서 노드값 결정에 따른 수식 트리 생성 후 병합을 나타낸 프로세스 모식도.
도 4는 본 발명의 일 실시예에 따른 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 시스템을 나타낸 구성도.
1 is a flowchart illustrating a method for solving a descriptive mathematical problem using an inductive formula tree model based on natural language processing according to an embodiment of the present invention.
2 is a schematic process diagram illustrating a method for solving a descriptive mathematical problem using an inductive formula tree model based on natural language processing according to an embodiment of the present invention.
3 is a schematic process diagram showing merging after generating a formula tree according to node value determination in a descriptive mathematical problem solving method using an inductive formula tree model based on natural language processing according to an embodiment of the present invention.
4 is a configuration diagram illustrating a descriptive mathematical problem solving system using an inductive formula tree model based on natural language processing according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Since the present invention can apply various transformations and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, it should be understood that this is not intended to limit the present invention to specific embodiments, and includes all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the present invention, if it is determined that a detailed description of related known technologies may obscure the gist of the present invention, the detailed description will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

이하, 본 발명에 따른 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법 및 그 시스템(100)을 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, a descriptive mathematical problem solving method and system 100 using an inductive mathematical tree model based on natural language processing according to the present invention will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, the same or Corresponding components are assigned the same reference numerals, and overlapping descriptions thereof will be omitted.

먼저, 본 발명의 일 실시예에 따른 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법에 대해 설명한다.First, a method for solving a descriptive mathematical problem using an inductive formula tree model based on natural language processing according to an embodiment of the present invention will be described.

도 1은 본 실시예에 따른 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법을 나타낸 순서도이다.1 is a flowchart illustrating a method for solving a descriptive mathematical problem using an inductive formula tree model based on natural language processing according to an exemplary embodiment.

본 실시예에 따르면, 도 1에 도시된 바와 같이, 토큰화부(110)가, 서술형의 수학 문제를 문제 풀이를 위해 토큰화하는 단계(S110), 및 풀이부(120)가, 토큰화된 수학 문제를 귀납적 문제 풀이 시퀀스에 따른 이진 트리 논리 구조의 수식 트리로 치환하여 풀이하는 단계(S120)를 포함하는 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법이 제공된다.According to this embodiment, as shown in FIG. 1, the tokenization unit 110 tokenizes the descriptive math problem for problem solving (S110), and the solution unit 120 tokenized math A method for solving a descriptive mathematical problem using an inductive equation tree model based on natural language processing is provided, including the step of replacing the problem with an equation tree of a binary tree logical structure according to an inductive problem solving sequence (S120).

이와 같은 본 실시예에 따르면, 자연어 처리 기반의 귀납적 수식 트리 모델을 이용해 서술형 수학 문제를 효과적으로 해결할 수 있다.According to this embodiment, a descriptive mathematical problem can be effectively solved using an inductive mathematical tree model based on natural language processing.

이하 도 1 내지 도 4를 참조하여 본 실시예에 따른 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법의 각 단계에 대하여 설명하도록 한다.Hereinafter, each step of a descriptive mathematical problem solving method using an inductive formula tree model based on natural language processing according to the present embodiment will be described with reference to FIGS. 1 to 4 .

국내domestic 1) 정영한, 문장형 수학문제 풀이 모델을 이용한 순환신경망 탐고, KAIST 수리과학과 석사학위논문, 2018
2) 우창협, 권가진, 한국어 수학 문장제 문제 자동 풀이, 한글 및 한국어 정보처리 학술대회 논문집, 2018
3) Kyung Seo Ki, Dong Geon Lee, Gahgene Gweon, KoTAB: Korean Template-Based Arithmetic Solver with BERT, 2020
4) https://github.com/monologg/KoELECTRA
5) 임상규, 기경서, 김부근, 권가진, KoEPT: Transformer 기반 생성 모델을 사용한 한국어 수학 문장제 문제 자동 풀이, 2021
1) Jung Young-han, Recurrent Neural Network Exploration Using a Sentence-type Mathematical Problem Solving Model, KAIST Mathematical Sciences Master's Thesis, 2018
2) Woo Chang-hyeop, Kwon Ga-jin, Automatic Solving of Korean Mathematics Sentence Problem, Proceedings of Korean Language and Information Processing Conference, 2018
3) Kyung Seo Ki, Dong Geon Lee, Gahgene Gweon, KoTAB: Korean Template-Based Arithmetic Solver with BERT, 2020
4) https://github.com/monologig/KoELECTRA
5) Sangkyu Lim, Kyungseo Ki, Bugeun Kim, Gajin Kwon, KoEPT: Automatic Solving of Korean Mathematical Sentence Problems Using Transformer-based Generative Model, 2021
국외Oversea 6) https://math-qa.github.io/math-QA/
7) https://github.com/hendrycks/math/
8) https://github.com/arkilpatel/SVAMP
9) https://paperswithcode.com/task/math-word-problem-solving
10) A. Patel, et. al, Are NLP Models really able to Solver Simple Math Word Problems?, https://arxiv.org/abs/2103.07191
11) J. Zhang, el. al, Graph-to-Tree Learning for solving math word problems, Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, 2020
12) Z. Xie and S. Sun, A Goal-Driven Tree-Structured Neural Model for Math Word Problems, Proceedings of the 28th International Joint Conference on Artificial Intelligence
6) https://math-qa.github.io/math-QA/
7) https://github.com/hendrycks/math/
8) https://github.com/arkilpatel/SVAMP
9) https://paperswithcode.com/task/math-word-problem-solving
10) A. Patel, et. al, Are NLP Models really able to Solver Simple Math Word Problems?, https://arxiv.org/abs/2103.07191
11) J. Zhang, el. al, Graph-to-Tree Learning for solving math word problems, Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, 2020
12) Z. Xie and S. Sun, A Goal-Driven Tree-Structured Neural Model for Math Word Problems, Proceedings of the 28th International Joint Conference on Artificial Intelligence

위 표 1의 인공 지능 기술을 이용한 서술형 수학 문제 풀이에 대한 기존 연구 내지 데이터셋들을 살펴보면 대부분 서술 문장을 단순 사칙 연산으로 이루어진 하나 또는 두 개의 방정식으로 바꾸는 접근 방법으로, 이와 같은 방법으로는 사칙 연산의 범위를 넘거나 순차적인 추론이 필요한 문제를 해결하는데 어려움이 있다.Looking at existing studies or data sets on solving descriptive mathematical problems using artificial intelligence technology in Table 1 above, most of them are approaches that change descriptive sentences into one or two equations made up of simple 4 arithmetic operations. Difficulty solving problems that cross bounds or require sequential reasoning.

따라서 다양한 종류의 서술형 수학 문제를 해결하기 위해서는 기존 연구의 확장 및 새로운 접근 방식이 필요하다고 할 것이며, 이에 따라 본 실시예를 통해 산술 연산을 기초로 다양한 수학적 함수와 연산을 인식 및 수행할 수 있는 모델을 제공하고자 한다.Therefore, in order to solve various types of descriptive mathematical problems, it will be said that expansion of existing research and new approaches are required. Accordingly, a model capable of recognizing and performing various mathematical functions and operations based on arithmetic operations through this embodiment want to provide

본 실시예에 따른 자연어 처리 기반의 귀납적 수식 트리 모델의 메커니즘과 관련하여, 사람이 “건전지 74개를 상자에 똑같은 개수씩 담았더니 8상자가 되고, 2개가 남았습니다. 한 상자에 몇 개씩 담았는지 구하시오.”(풀이=답: (74-2)/8=9)라는 문제를 푸는 모습을 살펴보면, 사람은 1) 일단 구해야 하는 정답이 무엇인지에 주목하고(한 상자에 몇 개씩 담았는가?), 2) 정답을 구하기 위해 필요한 정보에 주목할 것이다(건전지 74개를 상자에 똑같은 개수씩 담았더니 8상자가 되고 2개가 남았다.). Regarding the mechanism of the natural language processing-based inductive formula tree model according to this embodiment, a person said, “When I put the same number of 74 batteries in a box, there are 8 boxes, and there are 2 left. Find out how many pieces are in a box.” How many did you put in the box?), 2) I will pay attention to the information needed to get the correct answer (74 batteries were put in the same number in the box, so there are 8 boxes and 2 left).

보다 구체적으로, 사람은 1) ‘건전지는 총 74개이고’, 2) ‘상자에 담고 남은 건전지의 개수는 2개이니까’, 3) ‘건전지 총 개수에서 남은 건전지의 개수를 빼고, 4) 총 상자의 개수로 나누면’ 4)의 결과가 정답이다’라고 생각할 것이며, 이 과정을 아래 그림 1처럼 수식 트리 구조로써 나타낼 수 있다.More specifically, a person 1) 'there are 74 batteries in total', 2) 'because the number of remaining batteries in the box is 2', 3) 'subtract the number of remaining batteries from the total number of batteries, 4) the total box If you divide by the number of , you will think that 'the result of 4) is the correct answer', and this process can be represented as a formula tree structure as shown in Figure 1 below.

[그림 1][Figure 1]

본 모델은 전술한 바와 같이 사람이 수학 문제를 풀 때 문제의 목표를 귀납적으로 분해하여 문제를 푸는 메커니즘과 동일, 유사한 구조로 만들어진 모델로서, 이하에서 본 모델을 이용한 서술형 수학 문제 해결 방법의 각 단계를 설명하고 그에 대한 구체적인 내용 내지 예시를 제공함으로써 본 실시예에 대한 이해를 돕도록 한다.As described above, this model is a model made with the same or similar structure to the mechanism that solves a problem by inductively decomposing the goal of the problem when a person solves a mathematical problem. To help understand the present embodiment by explaining and providing specific details or examples thereof.

단계110에서는, 토큰화부(110)가, 서술형의 수학 문제를 문제 풀이를 위해 토큰화할 수 있다.In step 110, the tokenization unit 110 may tokenize the narrative mathematical problem to solve the problem.

여기서 토큰화(tokenization)는, 텍스트 전처리(text preprocessing) 과정의 하나로서, 이를 통해 서술형 수학 문제의 풀이를 위한 재료 데이터가 마련될 수 있다.Here, tokenization is one of text preprocessing processes, through which material data for solving descriptive mathematical problems can be prepared.

서술형 수학 문제의 토큰화에 대한 예를 들자면 아래 표 2와 같다.An example of tokenization of open-ended math problems is shown in Table 2 below.

문제problem 탁구공이 6 개씩 들어 있는 상자가 3 상자 있습니다. 이 탁구공을 9 사람에게 똑같이 나누어 준다면, 한 사람이 몇 개씩 가지게 됩니까?
(정답 수식: 6*3/9)
There are 3 boxes of 6 ping-pong balls each. If you distribute these ping-pong balls equally to 9 people, how many will each person get?
(Answer formula: 6*3/9)
토큰화Tokenization [(['탁구공이', 'NUM', '개씩', '들어', '있는', '상자가', 'NUM', '상자', '있습니다.', '이', '탁구공을', 'NUM', '사람에게', '똑같이', '나누어', '준다면,', '한', '사람이', '몇', '개씩', '가지게', '됩니까?'], [/ * N0 N1 N2], ['6', '3', '9'], [1, 6, 11])][(['Ping-pong balls', 'NUM', 'each', 'in', 'there', 'box', 'NUM', 'box', 'there is', 'this', 'ping-pong balls ', 'NUM', 'to a person', 'equally', 'divide', 'if given,', 'one', 'one', 'how many', 'each', 'have', 'will it?'] , [/* N0 N1 N2], ['6', '3', '9'], [1, 6, 11])]

구체적으로, 토큰화하는 단계(S110)는, 수학 문제를 띄어쓰기를 기준으로 복수의 토큰으로 변환하되 수학 문제 내의 숫자를 별도로 NUM 토큰으로 변환하는 단계(S111), 및 NUM 토큰에 관한 정보를 NUM 리스트로 저장하는 단계(S112)를 포함할 수 있다.Specifically, the tokenizing step (S110) converts the mathematical problem into a plurality of tokens based on spaces, but converts the numbers in the mathematical problem separately into NUM tokens (S111), and the information about the NUM token into a NUM list It may include a step of storing as (S112).

위 표 2에서와 같이, 주어진 문제 중 숫자(6, 3, 9)들은 NUM 토큰('NUM')으로 변환되고, NUM 토큰에 관한 정보는 ['6', '3', '9'], [1, 6, 11]와 같이 NUM 리스트로 저장될 수 있다.As shown in Table 2 above, the numbers (6, 3, 9) of the given problem are converted to NUM tokens ('NUM'), and information about NUM tokens is ['6', '3', '9'], It can be stored as a NUM list like [1, 6, 11].

NUM 리스트로 저장하는 단계(S112)는, NUM 토큰으로 변환된 숫자를 제1 NUM 리스트로 저장하는 단계(S112a), 및 NUM 토큰의 수학 문제 내 위치를 제2 NUM 리스트로 저장하는 단계(S112b)를 포함할 수 있다.The step of storing as a NUM list (S112) includes the step of storing the number converted into a NUM token as a first NUM list (S112a), and the step of storing the position of the NUM token in a mathematical problem as a second NUM list (S112b) can include

위 표 2에서와 같이, NUM 토큰으로 변환된 숫자(6, 3, 9)는 ['6', '3', '9']와 같이 제1 NUM 리스트로 저장되고, NUM 토큰의 수학 문제 내 위치는 [1, 6, 11]와 같이 제2 NUM 리스트로 저장될 수 있다.As shown in Table 2 above, the numbers (6, 3, 9) converted to NUM tokens are stored as the first NUM list as ['6', '3', '9'], and in the mathematical problem of NUM tokens Positions can be stored as a second NUM list, such as [1, 6, 11].

토큰화하는 단계(S110)는, NUM 토큰으로 변환하는 단계(S111) 이후에, 수학 문제가 학습용으로 제공되는 경우, 수학 문제와 함께 제공되는 정답 수식 내의 숫자를 NUM 토큰으로 변환하는 단계(S114)를 더 포함하고, 토큰화하는 단계(S110) 이후에, 수식 트리의 비교를 통한 학습 진행을 위하여, 변환된 정답 수식을 수식 트리로 치환하는 단계(S130)를 더 포함할 수 있다.The tokenizing step (S110) is, after the step of converting to NUM tokens (S111), if the math problem is provided for learning, converting the number in the correct answer formula provided with the math problem into NUM tokens (S114) In addition, after the tokenizing step (S110), a step of substituting the converted correct answer formula into a formula tree (S130) may be further included in order to progress learning through comparison of formula trees.

위 표 2에서와 같이, 학습용 수학 문제와 함께 제공되는 정답 수식 내의 숫자는 [/ * N0 N1 N2]에서와 같이 NUM 토큰으로 변환되고, 변환된 정답 수식인 [N0*N1/N2]은 본 모델의 학습 진행을 위해 본 모델이 추론한 수식 트리와 비교 가능하도록 수식 트리로 치환될 수 있다.As shown in Table 2 above, the numbers in the correct answer formula provided with the learning math problem are converted to NUM tokens as in [/ * N0 N1 N2], and the converted answer formula [N0*N1/N2] is It can be replaced with an equation tree so that it can be compared with the equation tree inferred by this model for the learning progress of .

토큰화하는 단계(S110)는, 정답 수식 내의 숫자를 NUM 토큰으로 변환하는 단계(S114) 이후에, 정답 수식에 포함되되 수학 문제에 미포함된 숫자로서 복수의 수학 문제에서 설정 횟수 이상 등장한 상수를 이후 문제 풀이 시 사용 가능하도록 상수 리스트로 저장하는 단계(S115)를 더 포함할 수 있다.In the tokenizing step (S110), after the step of converting the number in the correct answer formula into a NUM token (S114), a constant that appears more than a set number of times in a plurality of math problems as a number included in the correct answer formula but not included in the math problem A step of storing the constant as a list so that it can be used when solving problems (S115) may be further included.

예를 들어, "반지름이 3인 원의 둘레를 구하여라.”라는 학습용 수학 문제가 제공된 경우 원주율 3.14는 정답 수식에 포함되되 수학 문제에 미포함된 숫자로서 일종의 상수(generate_num(extra_num))이므로 복수의 수학 문제에서 설정 횟수(구체적으로 2 내지 6회, 바람직하게는 4회) 이상 등장했다고 가정 시 상수 리스트(generate_num(extra_num) list)로 저장되어 이후 본 모델을 이용한 문제 풀이에 사용될 수 있다.For example, if a mathematical problem for learning is given, “Find the circumference of a circle with a radius of 3”, the circumference of 3.14 is included in the correct answer formula but not included in the mathematical problem, and is a kind of constant (generate_num(extra_num)). Assuming that it appears more than a set number of times (specifically, 2 to 6 times, preferably 4 times) in a math problem, it is stored as a constant list (generate_num(extra_num) list) and can be used for problem solving using this model later.

도 2는 본 실시예에 따른 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법을 나타낸 프로세스 모식도이다.2 is a schematic process diagram illustrating a method for solving a descriptive mathematical problem using an inductive formula tree model based on natural language processing according to the present embodiment.

단계120에서는, 풀이부(120)가, 토큰화된 수학 문제를 귀납적 문제 풀이 시퀀스에 따른 이진 트리 논리 구조의 수식 트리로 치환하여 풀이할 수 있다.In step 120, the solver 120 may solve the tokenized mathematical problem by replacing it with a formula tree of a binary tree logical structure according to an inductive problem solving sequence.

즉 풀이부(120)는 전술한 사람이 문제를 푸는 예와 같은 귀납적 문제 풀이 시퀀스에 따라 토큰화된 수학 문제를 위 그림 1과 같은 이진 트리 논리 구조를 가지는 수식 트리로 치환하여 풀 수 있다.That is, the solver 120 may replace the tokenized mathematical problem with an equation tree having a binary tree logic structure as shown in Figure 1 to solve the tokenized mathematical problem according to an inductive problem solving sequence such as the above-described example in which a person solves a problem.

수식 트리로 치환하여 풀이하는 단계(S120)는, 임베딩부(130)가, 토큰을 전처리 후 사전 학습 언어 모델을 이용해 임베딩(embedding)하여 임베딩 결과물을 생성하는 단계(S121), 및 인코딩부(140)가, 임베딩 결과물을 순환 신경망을 이용해 인코딩하여 제1 인코딩 결과물(encoder outputs)을 생성하되 제1 인코딩 결과물에서 숫자에 대한 부분을 추출하여 제2 인코딩 결과물(number encoder outputs)을 생성하는 단계(S122)를 포함할 수 있다.The step of replacing the solution with an equation tree (S120) is the step of generating an embedding result by the embedding unit 130 pre-processing the token and then embedding it using a pre-learning language model to generate an embedding result (S121), and the encoding unit 140 ) Encodes the embedding result using a recurrent neural network to generate a first encoding result (encoder outputs), but extracts a part for numbers from the first encoding result to generate a second encoding result (number encoder outputs) (S122 ) may be included.

여기서 사전 학습 언어 모델은 구체적으로 ELECTRA(efficiently learning an encoder that classifies token replacements accurately)가 사용될 수 있으며, 보다 구체적으로는 ELECTRA 모델을 기반으로 한국어 데이터로 사전 학습한 사전 학습 언어 모델인 KoELECTRA가 사용될 수 있다.Here, as the pre-learning language model, ELECTRA (efficiently learning an encoder that classifies token replacements accurately) may be specifically used, and more specifically, KoELECTRA, a pre-learning language model pre-trained with Korean data based on the ELECTRA model, may be used. .

ELECTRA는 생성자(generator)에서 나온 토큰을 보고 식별자(discriminator)에서 참 토큰인지 거짓 토큰인지 판별하는 방법으로 학습되는 자연어 처리 모델이다.ELECTRA is a natural language processing model learned by looking at a token from a generator and discriminating whether it is a true token or a false token from a discriminator.

본 모델의 테스트에서는 구체적으로 사전 학습 언어 모델로서 koelectra-base-v3-discriminator가 사용되었다.In the test of this model, koelectra-base-v3-discriminator was specifically used as a pretraining language model.

또한 인코딩에 사용되는 순환 신경망은 구체적으로 양방향 LSTM(bi-directional long short-term memory)일 수 있으며, 보다 구체적으로는 레이어(layers)가 2개이고 히든 사이즈(hidden size)가 512인 양방향 LSTM일 수 있다.In addition, the recurrent neural network used for encoding may specifically be a bi-directional long short-term memory (LSTM), and more specifically, it may be a bi-directional LSTM with two layers and a hidden size of 512 there is.

임베딩 결과물을 생성하는 단계(S121)는, 토큰을 형태소 단위로 재분할하고 설정 길이에 맞춰 패딩(padding)하는 단계(S121a), 패딩된 토큰을 NUM 토큰을 포함하되 인덱싱값이 각각 부여된 복수의 설정 단어(vocab)와 매칭시켜 인덱싱값으로 변환하는 단계(S121b), 및 인덱싱값을 사전 학습 언어 모델의 입력 크기(embedding size)에 맞춰 임베딩하는 단계(S121c)를 포함할 수 있다.In the step of generating an embedding result (S121), the token is re-divided into morpheme units and padded according to the set length (S121a), the padded token includes a NUM token, but a plurality of settings each having an indexing value It may include matching words (vocab) and converting them into indexing values (S121b), and embedding the indexing values according to the embedding size of the pre-learning language model (S121c).

도 3은 본 실시예에 따른 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법에서 노드값 결정에 따른 수식 트리 생성 후 병합을 나타낸 프로세스 모식도이다.3 is a schematic process diagram showing merging after generating a formula tree according to node value determination in a descriptive mathematical problem solving method using an inductive formula tree model based on natural language processing according to the present embodiment.

수식 트리로 치환하여 풀이하는 단계(S120)는, 제2 인코딩 결과물을 생성하는 단계(S122) 이후에, 예측 생성부(150)가, 제1 인코딩 결과물 및 제2 인코딩 결과물을 분석하여 전위 표기법에 따라 수식 트리를 구성하는 노드의 노드값이 되는 숫자 또는 연산자를 결정하면서 수식 트리를 하향 생성하고 수식 트리를 따라 상향 재귀하면서 복수의 노드를 순차 병합하여 수학 문제를 풀이하는 단계(S123)를 더 포함할 수 있다.In the step of replacing and solving with an equation tree (S120), after the step of generating the second encoding result (S122), the prediction generating unit 150 analyzes the first encoding result and the second encoding result to obtain a prefix notation. Further comprising a step (S123) of generating a formula tree downward while determining a number or an operator that becomes a node value of a node constituting the formula tree and solving a mathematical problem by sequentially merging a plurality of nodes while recursing upward along the formula tree. can do.

구체적으로, 수학 문제를 풀이하는 단계(S123)는, 제1 인코딩 결과물 및 제2 인코딩 결과물로부터 숫자 및 연산자의 임베딩에 대한 임베딩 점수(score)를 산출하는 단계(S123a), 및 임베딩 점수에 로지스틱 회귀 함수를 취하여 임베딩 점수가 최고점인 숫자 또는 연산자를 노드값으로 결정하는 단계(S123b)를 포함할 수 있다.Specifically, the step of solving the mathematical problem (S123) is the step of calculating an embedding score (score) for the embedding of numbers and operators from the first encoding result and the second encoding result (S123a), and logistic regression on the embedding score A step of determining a number or operator having the highest embedding score as a node value by taking a function (S123b).

여기서 로지스틱 회귀 함수는 구체적으로 로그 소프트맥스(log softmax) 함수일 수 있으며, 로그 소프트맥스 함수를 취한 뒤 argmax 함수를 취할 수 있다.Here, the logistic regression function may specifically be a log softmax function, and may take the log softmax function and then take the argmax function.

수학 문제를 풀이하는 단계(S123)는, 숫자 또는 연산자를 노드값으로 결정하는 단계(S123b) 이후에, 노드값이 연산자로 결정되는 경우, 한 쌍의 자식 노드를 생성하고 다시 자식 노드의 노드값을 결정하는 단계(S123c)를 더 포함할 수 있다.In the step of solving the mathematical problem (S123), after the step of determining a number or operator as a node value (S123b), if the node value is determined as an operator, a pair of child nodes are generated and the node values of the child nodes are generated again. A step of determining (S123c) may be further included.

구체적으로, 자식 노드의 노드값을 결정하는 단계(S123c)는, 제1 인코딩 결과물, 제2 인코딩 결과물, 및 어텐션((tree) attention) 메커니즘을 이용해 자식 노드의 노드값에 대한 문맥적 이해를 거친 문맥값(context)를 추출하는 단계(S123d), 및 기결정된 노드값과 문맥값을 결합하여 자식 노드의 노드값을 결정하는 단계(S123e)를 포함할 수 있다.Specifically, the step of determining the node value of the child node (S123c) is through contextual understanding of the node value of the child node using the first encoding result, the second encoding result, and the attention ((tree) attention) mechanism. It may include extracting a context value (S123d), and determining a node value of a child node by combining a predetermined node value and a context value (S123e).

수학 문제를 풀이하는 단계(S123)는, 자식 노드의 노드값을 결정하는 단계(S123c) 이후에, 한 쌍의 자식 노드 중 어느 하나의 노드값이 숫자로 결정되어 리프 노드가 형성된 경우, 한 쌍의 자식 노드 중 어느 하나 및 자식 노드에 대한 부모 노드의 노드값을 통해 한 쌍의 자식 노드 중 다른 하나의 노드값을 결정하는 단계(S124)를 더 포함할 수 있다.The step of solving the mathematical problem (S123) is, after the step of determining the node value of the child node (S123c), when the node value of any one of the pair of child nodes is determined as a number and a leaf node is formed, a pair of A step of determining the node value of another one of the pair of child nodes through one of the child nodes of and the node value of the parent node for the child node may be further included (S124).

이 경우에도 전술한 바와 같이 제1 인코딩 결과물, 제2 인코딩 결과물, 및 어텐션 메커니즘을 이용해 한 쌍의 자식 노드 중 다른 하나의 노드값에 대한 문맥적 이해를 거친 문맥값을 추출 및 결합해 한 쌍의 자식 노드 중 다른 하나의 노드값을 결정할 수 있다.In this case, as described above, the first encoding result, the second encoding result, and the context value obtained through the contextual understanding of the node value of the other one of the pair of child nodes are extracted and combined using the Attention mechanism to obtain a pair of The value of another node among child nodes can be determined.

수학 문제를 풀이하는 단계(S123)는, 다른 하나의 노드값을 결정하는 단계(S124) 이후에, 한 쌍의 자식 노드 중 다른 하나의 노드값이 숫자로 결정되는 경우, 한 쌍의 자식 노드와 부모 노드의 병합(merging)을 시작으로 복수의 노드값을 순차 병합하는 단계(S125)를 더 포함할 수 있다.In the step of solving the mathematical problem (S123), after the step of determining another node value (S124), when the node value of the other one of the pair of child nodes is determined as a number, the pair of child nodes and A step of sequentially merging a plurality of node values starting with merging of parent nodes (S125) may be further included.

이에 따라 제공된 수학 문제의 해답이나 수식 트리의 추론이 완료되어 출력될 수 있다.Accordingly, the solution of the provided mathematical problem or the inference of the formula tree may be completed and output.

이하에서는 상술한 바와 같이 이진 트리 구조를 활용하는 본 모델에서 사칙 연산 등에 대한 이항 연산자 외에 단항 연산자나 3 항(피연산자, 변수, 인수) 이상에 대한 다항 연산자를 이용한 연산이 가능하도록 마련된 연산자 확장에 대한 내용을 설명하도록 한다.Hereinafter, in this model that utilizes the binary tree structure as described above, in addition to the binary operators for the four arithmetic operations, operator extensions are prepared to enable operations using unary operators or polynomial operators for more than three terms (operands, variables, and arguments). to explain the content.

자식 노드의 노드값을 결정하는 단계(S123c)는, 노드값으로 결정된 연산자가 단항 연사자인 경우, 한 쌍의 자식 노드 중 어느 하나의 노드값을 더미(dummy)로서 설정된 숫자로 결정할 수 있다.In the step of determining the node value of the child node (S123c), when the operator determined as the node value is a unary operator, a node value of any one of a pair of child nodes may be determined as a number set as a dummy.

여기서 더미로서 설정된 숫자는 단순 조건 만족 용도로서 노드값으로 자리만 차지할 뿐 연산에는 영향을 미치지 않는 것으로 이해될 수 있다.Here, it can be understood that the number set as a dummy only occupies a place as a node value for simple condition satisfaction and does not affect the operation.

이와 같이 단항 연산자를 이진 트리 구조에 매핑(mapping)함으로써 본 모델에 이용 가능한 연산자를 확장할 수 있으며, 이에 따라 구체적으로 단항 연산자인 fac(factorial(!), 계승) 등을 본 모델에 도입할 수 있다.In this way, by mapping unary operators to a binary tree structure, operators usable in this model can be expanded, and accordingly, unary operators such as fac (factorial (!), factorial) can be specifically introduced into this model. there is.

구체적으로, 예를 들어 fac(10)(10!)의 연산의 경우 아래 그림 2와 같이 이진 트리 구조에 매핑될 수 있다.Specifically, for example, the operation of fac(10)(10!) can be mapped to a binary tree structure as shown in Figure 2 below.

[그림 2][Figure 2]

자식 노드의 노드값을 결정하는 단계(S123c)는, 노드값으로 결정된 연산자가 이항 연산자 외의 다항 연사자인 경우, 한 쌍의 자식 노드를 중첩적으로 연결하여 생성하되 연결 노드가 되는 한 쌍의 자식 노드 중 어느 하나의 노드값을 다항 연산자의 연산에 대한 단위 연산자가 되는 단항 연산자 또는 이항 연산자로 결정할 수 있다.In the step of determining the node value of the child node (S123c), when the operator determined as the node value is a polynomial operator other than a binary operator, a pair of child nodes are generated by overlapping a pair of child nodes and become a connection node. Any one of the node values can be determined as a unary operator or a binary operator that becomes a unit operator for the operation of a polynomial operator.

이와 같이 다항 연산자를 이진 트리 구조에 매핑함으로써 본 모델에 이용 가능한 연산자를 확장할 수 있으며, 이에 따라 구체적으로 다항 연산자인 min(최소값), max(최대값), sum(합계), len(피연산자(변수, 인수) 길이, 자체 정의 함수), gen(n자리 숫자 생성함수, 자체 정의 함수) 등을 본 모델에 도입할 수 있다.In this way, by mapping polynomial operators to a binary tree structure, the operators available for this model can be expanded, and accordingly, the polynomial operators min (minimum value), max (maximum value), sum (sum), len (operand ( Variable, argument) length, self-defined function), gen (n-digit number generation function, self-defined function), etc. can be introduced into this model.

구체적으로, 예를 들어 min(1,2,3,4)의 연산의 경우 아래 그림 3과 같이 이진 트리 구조에 매핑될 수 있다.Specifically, for example, the operation of min(1,2,3,4) can be mapped to a binary tree structure as shown in Figure 3 below.

[그림 3][Figure 3]

한편, 이항 연산자의 경우에도 사칙 연산에 대한 연산자 외에, ^(거듭 제곱), @(몫), #(나머지) 등과 경우의 수에 대한 nCr(조합), nPr(순열), nHr(중복 조합) 등을 추가로 본 모델에 도입할 수 있다.On the other hand, in the case of binary operators, nCr (combination), nPr (permutation), nHr (redundant combination) for the number of cases such as ^ (power), @ (quotient), # (remainder), etc., in addition to operators for four arithmetic operations etc. can be additionally introduced into this model.

이하에서는 이진 트리 구조를 활용하는 본 모델에서 수학 문제 내에 연산자의 피연산자(변수, 인수)가 되는 숫자나 문자(이름 등)가 나열되어 있는 경우 이를 연산자에 대한 피연산자로써 사용 가능하도록 마련된 방법에 대해 설명하도록 한다.Hereinafter, in this model that utilizes a binary tree structure, when numbers or letters (names, etc.) that become operands (variables, arguments) of operators are listed in a mathematical problem, a method is described so that they can be used as operands for operators. let it do

토큰화하는 단계(S110)는, 수학 문제에 열거된 복수의 문자 또는 복수의 숫자를 연산자에 대한 피연산자로써 사용 가능하도록 문자 리스트 또는 숫자 리스트로 저장하는 단계(S113)를 더 포함할 수 있다.The tokenizing step ( S110 ) may further include storing a plurality of characters or a plurality of numbers listed in the mathematical problem as a character list or a number list so that they can be used as operands for an operator ( S113 ).

이와 같이 수학 문제에 열거된 복수의 문자 또는 복수의 숫자를 문자 리스트 또는 숫자 리스트로 저장하여 수학 문제에 대한 수식 추론 과정에서 활용할 수 있다. In this way, a plurality of letters or a plurality of numbers enumerated in a mathematical problem may be stored as a letter list or a number list to be used in the formula reasoning process for the mathematical problem.

예를 들어, "빨간색 구슬, 파란색 구슬, 노란색 구슬이 한 개씩 있습니다. 이 중 2(NUM, N1)개를 골라 똑같은 모양의 두 상자에 한 개씩 넣는 경우의 수를 구하시오."라는 수학 문제가 주어진 경우, '빨간색 구슬, 파란색 구슬, 노란색 구슬'을 문자 리스트 NAME LIST SO로 저장하고 이를 활용해 nCr(len(S0), N1)으로 수식을 추론할 수 있다.For example, the math problem "There are one red marble, one blue marble, and one yellow marble. Find the number of ways in which 2 (NUM, N1) of these marbles can be placed into two boxes of the same shape." If given, 'red marble, blue marble, yellow marble' is stored as the character list NAME LIST SO, and the formula can be inferred as nCr(len(S0), N1) using this.

다음으로, 본 발명의 일 실시예에 따른 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 시스템(100)에 대해 설명한다.Next, a descriptive mathematical problem solving system 100 using an inductive formula tree model based on natural language processing according to an embodiment of the present invention will be described.

도 4는 본 실시예에 따른 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 시스템(100)을 나타낸 구성도이다.4 is a block diagram showing a descriptive mathematical problem solving system 100 using an inductive formula tree model based on natural language processing according to the present embodiment.

본 실시예에 따르면, 도 4에 도시된 바와 같이, 서술형의 수학 문제를 문제 풀이를 위해 토큰화하는 토큰화부(110), 및 토큰화된 수학 문제를 귀납적 문제 풀이 시퀀스에 따른 이진 트리 논리 구조의 수식 트리로 치환하여 풀이하는 풀이부(120)를 포함하는 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 시스템(100)이 제공된다.According to this embodiment, as shown in FIG. 4, the tokenization unit 110 tokenizes a narrative mathematical problem for problem solving, and a binary tree logical structure according to an inductive problem solving sequence for the tokenized mathematical problem. A descriptive mathematical problem solving system 100 using an inductive formula tree model based on natural language processing including a solver 120 that performs a solution by substituting a formula tree is provided.

이와 같은 본 실시예에 따르면, 자연어 처리 기반의 귀납적 수식 트리 모델을 이용해 서술형 수학 문제를 효과적으로 해결할 수 있다.According to this embodiment, a descriptive mathematical problem can be effectively solved using an inductive mathematical tree model based on natural language processing.

이하 도 1 내지 도 4를 참조하여 본 실시예에 따른 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 시스템(100)의 각 구성에 대하여 설명하되 구체적인 내용은 전술한 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법의 내용을 따르는 것으로 한다.Hereinafter, each component of the descriptive mathematical problem solving system 100 using the natural language processing-based inductive equation tree model according to the present embodiment will be described with reference to FIGS. It is assumed to follow the contents of the descriptive mathematical problem solving method using the tree model.

토큰화부(110)는, 서술형의 수학 문제를 문제 풀이를 위해 토큰화할 수 있다.The tokenization unit 110 may tokenize a narrative mathematical problem to solve the problem.

구체적으로, 토큰화부(110)는, 수학 문제를 띄어쓰기를 기준으로 복수의 토큰으로 변환하되 수학 문제 내의 숫자를 별도로 NUM 토큰으로 변환하고, NUM 토큰에 관한 정보를 NUM 리스트로 저장할 수 있다.Specifically, the tokenization unit 110 may convert a math problem into a plurality of tokens based on spacing, but separately convert numbers in the math problem into NUM tokens, and store information about the NUM tokens as a NUM list.

토큰화부(110)는, NUM 토큰으로 변환된 숫자를 제1 NUM 리스트로 저장하고, NUM 토큰의 수학 문제 내 위치를 제2 NUM 리스트로 저장할 수 있다.The tokenizing unit 110 may store the numbers converted into NUM tokens as a first NUM list, and may store the positions of the NUM tokens in a math problem as a second NUM list.

토큰화부(110)는, 수학 문제가 학습용으로 제공되는 경우, 수학 문제와 함께 제공되는 정답 수식 내의 숫자를 NUM 토큰으로 변환하고, 수식 트리의 비교를 통한 학습 진행을 위하여, 변환된 정답 수식을 수식 트리로 치환할 수 있다.When the math problem is provided for learning, the tokenization unit 110 converts the numbers in the correct answer formula provided with the math problem into NUM tokens, and formulates the converted answer formula for learning progress through comparison of formula trees can be replaced with a tree.

토큰화부(110)는, 정답 수식에 포함되되 수학 문제에 미포함된 숫자로서 복수의 수학 문제에서 설정 횟수 이상 등장한 상수를 이후 문제 풀이 시 사용 가능하도록 상수 리스트로 저장할 수 있다.The tokenization unit 110 may store constants that appear more than a set number of times in a plurality of mathematical problems as numbers included in the correct answer formula but not included in the mathematical problem as a constant list so that they can be used in solving the problem later.

풀이부(120)는, 토큰화된 수학 문제를 귀납적 문제 풀이 시퀀스에 따른 이진 트리 논리 구조의 수식 트리로 치환하여 풀이할 수 있다.The solver 120 may solve the tokenized mathematical problem by replacing it with a formula tree of a binary tree logic structure according to an inductive problem solving sequence.

임베딩부(130)는, 토큰을 전처리 후 사전 학습 언어 모델을 이용해 임베딩(embedding)하여 임베딩 결과물을 생성하고, 인코딩부(140)는, 임베딩 결과물을 순환 신경망을 이용해 인코딩하여 제1 인코딩 결과물(encoder outputs)을 생성하되 제1 인코딩 결과물에서 숫자에 대한 부분을 추출하여 제2 인코딩 결과물(number encoder outputs)을 생성할 수 있다.The embedding unit 130 pre-processes the token and embeds it using a pre-learning language model to generate an embedding result, and the encoding unit 140 encodes the embedding result using a recurrent neural network to generate a first encoding result (encoder). outputs), but a second encoding result (number encoder outputs) may be generated by extracting a part for a number from the first encoding result.

임베딩부(130)는, 토큰을 형태소 단위로 재분할하고 설정 길이에 맞춰 패딩(padding)하고, 패딩된 토큰을 NUM 토큰을 포함하되 인덱싱값이 각각 부여된 복수의 설정 단어(vocab)와 매칭시켜 인덱싱값으로 변환하고, 인덱싱값을 사전 학습 언어 모델의 입력 크기(embedding size)에 맞춰 임베딩할 수 있다.The embedding unit 130 re-divides the token into morpheme units, pads the token according to the set length, and matches the padded token with a plurality of set words (vocab) including a NUM token and each having an indexing value. Indexing values, and indexing values can be embedded according to the embedding size of the pre-learning language model.

예측 생성부(150)(예측부(160)와 생성부(170)를 포함)는, 제1 인코딩 결과물 및 제2 인코딩 결과물을 분석하여 전위 표기법에 따라 수식 트리를 구성하는 노드의 노드값이 되는 숫자 또는 연산자를 결정하면서 수식 트리를 하향 생성하고 수식 트리를 따라 상향 재귀하면서 복수의 노드를 순차 병합하여 수학 문제를 풀이할 수 있다.The prediction generation unit 150 (including the prediction unit 160 and the generation unit 170) analyzes the first encoding result and the second encoding result and becomes the node value of the node constituting the formula tree according to the prefix notation. Mathematical problems can be solved by generating a formula tree downward while determining numbers or operators, and recursing upward along the formula tree, merging multiple nodes sequentially.

구체적으로, 예측부(160)는, 제1 인코딩 결과물 및 제2 인코딩 결과물로부터 숫자 및 연산자의 임베딩에 대한 임베딩 점수(score)를 산출하고, 임베딩 점수에 로지스틱 회귀 함수를 취하여 임베딩 점수가 최고점인 숫자 또는 연산자를 노드값으로 결정할 수 있다.Specifically, the prediction unit 160 calculates an embedding score for the embedding of numbers and operators from the first encoding result and the second encoding result, takes a logistic regression function on the embedding score, and calculates the number having the highest embedding score. Alternatively, operators can be determined as node values.

예측부(160)에 의해 노드값이 연산자로 결정되는 경우, 생성부(170)는, 한 쌍의 자식 노드를 생성하고, 예측부(160)는, 다시 자식 노드의 노드값을 결정할 수 있다.When the node value is determined by the operator by the predictor 160, the generator 170 may generate a pair of child nodes, and the predictor 160 may determine the node value of the child node again.

구체적으로, 예측부(160)는, 제1 인코딩 결과물, 제2 인코딩 결과물, 및 어텐션((tree) attention) 메커니즘을 이용해 자식 노드의 노드값에 대한 문맥적 이해를 거친 문맥값(context)를 추출하고, 기결정된 노드값과 문맥값을 결합하여 자식 노드의 노드값을 결정할 수 있다.Specifically, the prediction unit 160 extracts a context value that has undergone contextual understanding of node values of child nodes using a first encoding result, a second encoding result, and an attention ((tree) attention) mechanism. And, a node value of a child node may be determined by combining a predetermined node value and a context value.

예측부(160)는, 한 쌍의 자식 노드 중 어느 하나의 노드값이 숫자로 결정되어 리프 노드가 형성된 경우, 한 쌍의 자식 노드 중 어느 하나 및 자식 노드에 대한 부모 노드의 노드값을 통해 한 쌍의 자식 노드 중 다른 하나의 노드값을 결정할 수 있다.When the node value of any one of the pair of child nodes is determined as a number to form a leaf node, the prediction unit 160 determines one of the pair of child nodes and the node value of the parent node for the child node. The node value of the other of the child nodes of the pair can be determined.

예측부(160)에 의해 한 쌍의 자식 노드 중 다른 하나의 노드값이 숫자로 결정되는 경우, 생성부(170)는, 한 쌍의 자식 노드와 부모 노드의 병합(merging)을 시작으로 복수의 노드값을 순차 병합할 수 있다.When the value of the other one of the pair of child nodes is determined by the predictor 160 as a number, the generation unit 170 starts by merging the pair of child nodes and the parent node to generate a plurality of nodes. Node values can be sequentially merged.

예측부(160)에 의해 노드값으로 결정된 연산자가 단항 연사자인 경우, 예측부(160)는, 한 쌍의 자식 노드 중 어느 하나의 노드값을 더미로서 설정된 숫자로 결정할 수 있다.When the operator determined as a node value by the predictor 160 is a unary operator, the predictor 160 may determine a node value of any one of a pair of child nodes as a set number as a dummy.

예측부(160)에 의해 노드값으로 결정된 연산자가 이항 연산자 외의 다항 연사자인 경우, 생성부(170)는, 한 쌍의 자식 노드를 중첩적으로 연결하여 생성하되, 예측부(160)는, 연결 노드가 되는 한 쌍의 자식 노드 중 어느 하나의 노드값을 다항 연산자의 연산에 대한 단위 연산자가 되는 단항 연산자 또는 이항 연산자로 결정할 수 있다.When the operator determined as the node value by the prediction unit 160 is a polynomial operator other than a binary operator, the generation unit 170 overlaps and creates a pair of child nodes, but the prediction unit 160 connects A node value of any one of a pair of child nodes serving as a node may be determined as a unary operator or a binary operator serving as a unit operator for the operation of a polynomial operator.

토큰화부(110)는, 수학 문제에 열거된 복수의 문자 또는 복수의 숫자를 연산자에 대한 피연산자로써 사용 가능하도록 문자 리스트 또는 숫자 리스트로 저장할 수 있다.The tokenization unit 110 may store a plurality of letters or numbers listed in a mathematical problem as a letter list or a number list so that they can be used as operands for operators.

한편, 전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.Meanwhile, the components of the above-described embodiment can be easily grasped from a process point of view. That is, each component can be identified as each process. In addition, the process of the above-described embodiment can be easily grasped from the viewpoint of components of the device.

또한 앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, the technical contents described above may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiments or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. A hardware device may be configured to act as one or more software modules to perform the operations of the embodiments and vice versa.

이상, 본 발명의 일 실시예에 대하여 설명하였으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 특허청구범위에 기재된 본 발명의 사상으로부터 벗어나지 않는 범위 내에서, 구성 요소의 부가, 변경, 삭제 또는 추가 등에 의해 본 발명을 다양하게 수정 및 변경시킬 수 있을 것이며, 이 또한 본 발명의 권리범위 내에 포함된다고 할 것이다.In the above, one embodiment of the present invention has been described, but those skilled in the art can add, change, delete, or add components within the scope not departing from the spirit of the present invention described in the claims. The present invention can be variously modified and changed by the like, and this will also be said to be included within the scope of the present invention.

100: 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 시스템
110: 토큰화부
120: 풀이부
130: 임베딩부
140: 인코딩부
150: 예측 생성부
160: 예측부
170: 생성부
100: A descriptive mathematical problem solving system using an inductive mathematical tree model based on natural language processing
110: tokenization unit
120: solver
130: embedding unit
140: encoding unit
150: prediction generating unit
160: prediction unit
170: generating unit

Claims (10)

토큰화부가, 서술형의 수학 문제를 문제 풀이를 위해 토큰화하는 단계; 및
풀이부가, 토큰화된 상기 수학 문제를 귀납적 문제 풀이 시퀀스에 따른 이진 트리 논리 구조의 수식 트리로 치환하여 풀이하는 단계를 포함하고,
상기 토큰화하는 단계는,
상기 수학 문제를 띄어쓰기를 기준으로 복수의 토큰으로 변환하되 상기 수학 문제 내의 숫자를 별도로 NUM 토큰으로 변환하는 단계; 및
상기 NUM 토큰에 관한 정보를 NUM 리스트로 저장하는 단계를 포함하고,
상기 수식 트리로 치환하여 풀이하는 단계는,
임베딩부가, 상기 토큰을 전처리 후 사전 학습 언어 모델을 이용해 임베딩하여 임베딩 결과물을 생성하는 단계; 및
인코딩부가, 상기 임베딩 결과물을 순환 신경망을 이용해 인코딩하여 제1 인코딩 결과물을 생성하되 상기 제1 인코딩 결과물에서 숫자에 대한 부분을 추출하여 제2 인코딩 결과물을 생성하는 단계를 포함하고,
상기 수식 트리로 치환하여 풀이하는 단계는,
상기 제2 인코딩 결과물을 생성하는 단계 이후에,
예측 생성부가, 상기 제1 인코딩 결과물 및 상기 제2 인코딩 결과물을 분석하여 전위 표기법에 따라 상기 수식 트리를 구성하는 노드의 노드값이 되는 숫자 또는 연산자를 결정하면서 상기 수식 트리를 하향 생성하고 상기 수식 트리를 따라 상향 재귀하면서 복수의 노드를 순차 병합하여 상기 수학 문제를 풀이하는 단계를 더 포함하는, 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법.
Tokenizing, by a tokenization unit, a narrative mathematical problem to solve the problem; and
A step of solving by a solution unit by substituting the tokenized math problem into a formula tree of a binary tree logic structure according to an inductive problem solving sequence,
The tokenizing step is
converting the mathematical problem into a plurality of tokens based on spaces, but separately converting numbers in the mathematical problem into NUM tokens; and
Storing information about the NUM token as a NUM list;
The step of solving by substituting into the equation tree,
generating, by an embedding unit, an embedding result by pre-processing the token and embedding it using a pre-learning language model; and
An encoding unit encoding the embedding result using a recurrent neural network to generate a first encoding result, and generating a second encoding result by extracting a part for a number from the first encoding result,
The step of solving by substituting into the equation tree,
After generating the second encoding result,
A prediction generation unit analyzes the first encoding result and the second encoding result and generates the formula tree downward while determining a number or operator that becomes a node value of a node constituting the formula tree according to prefix notation, and generates the formula tree A descriptive mathematical problem solving method using an inductive formula tree model based on natural language processing, further comprising recursively upward along and sequentially merging a plurality of nodes to solve the mathematical problem.
삭제delete 제1항에 있어서,
상기 NUM 리스트로 저장하는 단계는,
상기 NUM 토큰으로 변환된 숫자를 제1 NUM 리스트로 저장하는 단계; 및
상기 NUM 토큰의 상기 수학 문제 내 위치를 제2 NUM 리스트로 저장하는 단계를 포함하는, 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법.
According to claim 1,
In the step of storing the NUM list,
storing the number converted into the NUM token as a first NUM list; and
A descriptive mathematical problem solving method using an inductive formula tree model based on natural language processing, comprising the step of storing a position of the NUM token in the mathematical problem as a second NUM list.
삭제delete 삭제delete 제1항에 있어서,
상기 수학 문제를 풀이하는 단계는,
상기 제1 인코딩 결과물 및 상기 제2 인코딩 결과물로부터 숫자 및 연산자의 임베딩에 대한 임베딩 점수를 산출하는 단계; 및
상기 임베딩 점수에 로지스틱 회귀 함수를 취하여 상기 임베딩 점수가 최고점인 숫자 또는 연산자를 노드값으로 결정하는 단계를 포함하는, 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법.
According to claim 1,
To solve the mathematical problem,
Calculating embedding scores for embedding numbers and operators from the first encoding result and the second encoding result; and
Descriptive mathematical problem solving method using a natural language processing-based inductive formula tree model, comprising taking a logistic regression function on the embedding score and determining a number or operator having the highest embedding score as a node value.
제6항에 있어서,
상기 수학 문제를 풀이하는 단계는,
상기 숫자 또는 연산자를 노드값으로 결정하는 단계 이후에,
노드값이 연산자로 결정되는 경우, 한 쌍의 자식 노드를 생성하고 다시 상기 자식 노드의 노드값을 결정하는 단계를 더 포함하는, 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법.
According to claim 6,
To solve the mathematical problem,
After determining the number or operator as a node value,
When the node value is determined by the operator, a method for solving a descriptive mathematical problem using a natural language processing-based inductive formula tree model, further comprising generating a pair of child nodes and determining node values of the child nodes again.
제7항에 있어서,
상기 자식 노드의 노드값을 결정하는 단계는,
상기 제1 인코딩 결과물, 상기 제2 인코딩 결과물, 및 어텐션 메커니즘을 이용해 상기 자식 노드의 노드값에 대한 문맥적 이해를 거친 문맥값을 추출하는 단계; 및
기결정된 노드값과 상기 문맥값을 결합하여 상기 자식 노드의 노드값을 결정하는 단계를 포함하는, 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법.
According to claim 7,
The step of determining the node value of the child node,
extracting a context value through contextual understanding of the node value of the child node using the first encoding result, the second encoding result, and an attention mechanism; and
A method for solving a descriptive mathematical problem using an inductive formula tree model based on natural language processing, comprising determining a node value of the child node by combining a predetermined node value and the context value.
제7항에 있어서,
상기 수학 문제를 풀이하는 단계는,
상기 자식 노드의 노드값을 결정하는 단계 이후에,
한 쌍의 상기 자식 노드 중 어느 하나의 노드값이 숫자로 결정되어 리프 노드가 형성된 경우, 한 쌍의 상기 자식 노드 중 어느 하나 및 상기 자식 노드에 대한 부모 노드의 노드값을 통해 한 쌍의 상기 자식 노드 중 다른 하나의 노드값을 결정하는 단계를 더 포함하는, 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법.
According to claim 7,
To solve the mathematical problem,
After determining the node value of the child node,
When a node value of any one of the pair of child nodes is determined by a number and a leaf node is formed, the pair of the child nodes is determined through one of the pair of child nodes and the node value of a parent node for the child node. A method for solving a descriptive mathematical problem using an inductive formula tree model based on natural language processing, further comprising determining a node value of another one of the nodes.
제9항에 있어서,
상기 수학 문제를 풀이하는 단계는,
상기 다른 하나의 노드값을 결정하는 단계 이후에,
한 쌍의 상기 자식 노드 중 다른 하나의 노드값이 숫자로 결정되는 경우, 한 쌍의 상기 자식 노드와 상기 부모 노드의 병합을 시작으로 복수의 노드값을 순차 병합하는 단계를 더 포함하는, 자연어 처리 기반의 귀납적 수식 트리 모델을 이용한 서술형 수학 문제 해결 방법.
According to claim 9,
To solve the mathematical problem,
After the step of determining the other node value,
When the node value of another one of the pair of child nodes is determined by a number, natural language processing further comprising sequentially merging a plurality of node values, starting with merging the pair of child nodes and the parent node. A method for solving open-ended mathematical problems using an inductive equation tree model based on
KR1020220191016A 2022-12-30 2022-12-30 Method using inductive tree-structured neural model based on natural language processing for solving math word problems and system thereof KR102567937B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220191016A KR102567937B1 (en) 2022-12-30 2022-12-30 Method using inductive tree-structured neural model based on natural language processing for solving math word problems and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220191016A KR102567937B1 (en) 2022-12-30 2022-12-30 Method using inductive tree-structured neural model based on natural language processing for solving math word problems and system thereof

Publications (1)

Publication Number Publication Date
KR102567937B1 true KR102567937B1 (en) 2023-08-17

Family

ID=87800058

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220191016A KR102567937B1 (en) 2022-12-30 2022-12-30 Method using inductive tree-structured neural model based on natural language processing for solving math word problems and system thereof

Country Status (1)

Country Link
KR (1) KR102567937B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200003329A (en) 2018-06-29 2020-01-09 김태정 Method and apparatus for constructing chunk based on natural language processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200003329A (en) 2018-06-29 2020-01-09 김태정 Method and apparatus for constructing chunk based on natural language processing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김동근 등, Graph-to-Tree 신경망 모델을 이용한 한국어 서술형 수학 문제 풀이, 2021년 한국소프트웨어종합학술대회 논문집, 1425-1427pages (2021.)* *

Similar Documents

Publication Publication Date Title
Kant et al. Spatially aware multimodal transformers for textvqa
Haque et al. Improved automatic summarization of subroutines via attention to file context
US11972365B2 (en) Question responding apparatus, question responding method and program
Misra et al. Neural shift-reduce CCG semantic parsing
AU2014315620B2 (en) Methods and systems of four valued analogical transformation operators used in natural language processing and other applications
de Araújo et al. Re-bert: automatic extraction of software requirements from app reviews using bert language model
US20170286376A1 (en) Checking Grammar Using an Encoder and Decoder
CN110245349B (en) Syntax dependence analysis method and apparatus, and electronic device
CN111382574B (en) Semantic parsing system combining syntax under virtual reality and augmented reality scenes
CN114201406B (en) Code detection method, system, equipment and storage medium based on open source component
CN112035165A (en) Code clone detection method and system based on homogeneous network
KR102426599B1 (en) Fake news detection server and method based on korean grammar transformation
Abbas et al. A review of nlidb with deep learning: findings, challenges and open issues
Wu et al. Ggf: A graph-based method for programming language syntax error correction
Melnyk et al. Grapher: Multi-stage knowledge graph construction using pretrained language models
Van Eecke et al. Meta-layer problem solving for computational construction grammar
KR102567937B1 (en) Method using inductive tree-structured neural model based on natural language processing for solving math word problems and system thereof
Arora et al. Code semantic detection
Jadallah et al. CATE: CAusality Tree Extractor from Natural Language Requirements
Rim et al. The coreference under transformation labeling dataset: Entity tracking in procedural texts using event models
Gao et al. Implicit syntactic features for target-dependent sentiment analysis
Gong et al. ADELT: Transpilation Between Deep Learning Frameworks
KR102106250B1 (en) An apparatus for rule-based user inference reasoning for conversation awareness
CN114757181A (en) Method and device for training and extracting event of end-to-end event extraction model based on prior knowledge
Liu et al. Similar Trademark Detection via Semantic, Phonetic and Visual Similarity Information

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant