KR101986721B1 - 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법 - Google Patents

신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법 Download PDF

Info

Publication number
KR101986721B1
KR101986721B1 KR1020190035243A KR20190035243A KR101986721B1 KR 101986721 B1 KR101986721 B1 KR 101986721B1 KR 1020190035243 A KR1020190035243 A KR 1020190035243A KR 20190035243 A KR20190035243 A KR 20190035243A KR 101986721 B1 KR101986721 B1 KR 101986721B1
Authority
KR
South Korea
Prior art keywords
mathematical
translation
math
concept
pattern
Prior art date
Application number
KR1020190035243A
Other languages
English (en)
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 KR1020190035243A priority Critical patent/KR101986721B1/ko
Application granted granted Critical
Publication of KR101986721B1 publication Critical patent/KR101986721B1/ko
Priority to JP2019173914A priority patent/JP6845486B2/ja

Links

Images

Classifications

    • G06F17/2705
    • G06F17/2755
    • G06F17/2765
    • G06F17/2785
    • G06K9/00456
    • 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
    • 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
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법이 제공되며, 수학 문장제 문제(Math Word Problem)를 입력받는 단계, 수학 문장제 문제를 자연어 처리(Natural Language Processing) 및 이미지 처리를 이용하여 텍스트와 이미지로 분리하는 단계, 분리된 텍스트를 셈뭉치(Math Corpus)에 기반하여 형태소 분석 및 개체명 인식을 이용하여 분석하고, 이미지를 객체 인식 및 의미 분석을 이용하여 분석하여 수학항을 추출하도록 수식화 번역을 수행하는 단계, 수식화 번역된 수학항에 기반하여 개념유형 후보군을 필터링하여 추출 및 압축하는 단계, 수식화 번역된 수학항을 기 설정된 소유격, 대상격, 시점격, 상수항, 미지항, 및 연산항으로 분류하도록 분석하는 단계, 및 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation)을 이용하고, 기 설정된 계산제 패턴, 문장제 패턴 및 도해제 패턴 정의에 기반하여 구문패턴을 분석하여 수학 문장제 문제의 개념유형을 분류(Classification)하는 단계를 포함한다.

Description

신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법{METHOD FOR PROVIDING MATHEMATICAL PRINCIPLE PREDICTION SERIVCE FOR MATH WORD PROBLEM USING NEURAL MACHINE TRANSLATION AND MATH CORPUS}
본 발명은 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법에 관한 것으로, 신경망 기반 기계번역을 이용하여 문장제를 수식으로 번역하여 풀이하고 그 결과를 자연어 해설로 제공하는 플랫폼을 제공한다.
최근 딥러닝(Deep Learning)으로 대표되는 인공지능 기술들은 음성인식과 영상인식을 비롯한 다양한 패턴인식 분야에서 혁신적인 성능을 기록하면서 많은 연구가 진행되고 있다. 알파고 등에서 드러난 최근의 인공지능은 딥블루(Deep Blue)로 대표되는 기존의 인공기술과는 기술적인 측면에서 많이 다른데, 경우의 수를 계산하는 컴퓨팅 파워만이 아니라 빅데이터에 기반하여 지식을 자동으로 축적함으로써 주어진 분야에서는 인간 수준의 지능을 넘어서고 있다는 점이다. 여러 성공적인 응용분야들중 최근 질의 응답, 문장생성, 번역 등의 자연어 처리 분야에서도 딥러닝은 성과를 내고 있다. 특히, 딥러닝이 성공적으로 적용되는 대표적인 자연어 처리 분야가 기계번역이라고 할 수 있는데, 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation, NMT)은 하나의 신경망으로 번역 모델이 구성되고 학습된다는 측면에서 기존 여러 모듈에 기반한 기계 번역과 다른 패러다임을 제시하고 있다.
이때, 수학 문장제 문제(Math Word Problem, MWP)를 인공지능으로 풀이하는 방법이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 미국등록특허 제7373291호(2008년03월13일 공고)에는, 수학적인 인식의 정확도를 향상시키기 위한 새로운 정보의 근원, 언어학적 모델을 수학적인 도메인으로 확장하고, 자연어 인식과 연관된 방법으로 수학의 인공언어를 인지하는 방법이 개시되어 있다. 또한, 미국공개특허 제2015-0363390호(2015년12월17일 공개)에는, 자연어 처리를 통하여 산술 또는 대수 문장형 문제를 해결하고 응답할 수 있도록, 입력문을 수신하여 입력문과 연관된 복수의 문장안에 있는 각각의 문장이 수학적 관점에서 적격인 문장인지 결정하고, 각각의 적격인 문장을 방정식을 형성하기 위한 수학식으로 변환하고, 이를 다시 자연어로 풀이하는 구성이 개시되어 있다. 그리고, 한국등록특허 제10-1842873호(2018년03월28일 공고)에는, 수학식을 포함하는 문장이나 이미지로부터 연산자와 인자를 인식하며, 인식한 연산자와 인자를 포함한 수학식에 대한 의미를 번역하여 출력하고, 인자와 연산자의 관계를 자연어로 번역하여 출력함으로써, 수학식의 번역문을 제공하며 번역은, 연산자와 인자의 관계를 해석하고, 연산자의 자연어 의미를 추출한 다음, 추출한 연산자의 자연어 의미와 인자로 번역문을 구성하는 방식으로 수행하는 구성을 개시한다.
다만, 수학 문장제 문제(Math Word Problem, MWP)를 해석함에 있어서, 그 종류가 다양하고 데이터의 양도 거대한 데이터 셋(Data Set)에 적용하기에는 정확도가 떨어지는 문제가 있고, 상술한 한국등록특허를 이용한다고 할지라도, 한국어 기반 수학용어 자연어 처리를 위한 셈뭉치(Math Corpus)의 구축이 미비하여, 복잡하고 다양한 수학문제를 해석하고, 문제의 유형을 분류하여 문제를 풀이하는데 그 정확도가 매우 떨어진다. 최근, 2019년 대학수학능력시험에서도 AI는 30문제 중 5문제만을 맞춰 130만점에 16점이라는 수험생 평균인 51점에도 한참 못미치는 점수를 얻으며, 추론 및 사고력 문제는 전혀 대응을 하지 못하는 것이 밝혀졌다. 이미, 미국, 중국 및 일본은 신경망을 구축해가며 AI에게 국가고시를 치르게 하고 있지만, 한국은 신경망을 구축해 실험중인 국가나 단체가 전무하며, 그마저도 당장 돈이 되는 금융시장에만 집중하고 있어서 기초과학 연구에는 소홀한 국내의 현실을 엿볼 수 있다.
본 발명의 일 실시예는, 수학 문제 중 수학 문장제 문제(Math Word Problem, MWP)에 대하여 수학문제 텍스트를 셈뭉치(Math Corpus)를 기반으로 수학항을 추출하고, 신경망 번역(Neural Machine Translation, NMT)을 이용하여 왜 그러한 번역방법을 선택했는지를 설명할 수 있도록 하며, 인공지능 및 딥러닝으로 구축된 라벨링 및 마킹을 통한 학습을 진행하도록 하고, 시멘틱 분석으로 의미분석을 통한 번역규칙의 최적화를 통하여 새로운 수학 문제가 입력되었을 때 문제유형을 자동으로 분류(Classification)할 수 있는 수학엔진 플랫폼을 제공할 수 있는, 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 수학 문장제 문제(Math Word Problem)를 입력받는 단계, 수학 문장제 문제를 자연어 처리(Natural Language Processing) 및 이미지 처리를 이용하여 텍스트와 이미지로 분리하는 단계, 분리된 텍스트를 셈뭉치(Math Corpus)에 기반하여 형태소 분석 및 개체명 인식을 이용하여 분석하고, 이미지를 객체 인식 및 의미 분석을 이용하여 분석하여 수학항을 추출하도록 수식화 번역을 수행하는 단계, 수식화 번역된 수학항에 기반하여 개념유형 후보군을 필터링하여 추출 및 압축하는 단계, 수식화 번역된 수학항을 기 설정된 소유격, 대상격, 시점격, 상수항, 미지항, 및 연산항으로 분류하도록 분석하는 단계, 및 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation)을 이용하고, 기 설정된 계산제 패턴, 문장제 패턴 및 도해제 패턴 정의에 기반하여 구문패턴을 분석하여 수학 문장제 문제의 개념유형을 분류(Classification)하는 단계를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 수학 문제 중 수학 문장제 문제(Math Word Problem, MWP)에 대하여 수학문제 텍스트를 셈뭉치(Math Corpus)를 기반으로 수학항을 추출하고, 신경망 번역(Neural Machine Translation, NMT)을 이용하여 왜 그러한 번역방법을 선택했는지를 설명할 수 있도록 하며, 인공지능 및 딥러닝으로 구축된 라벨링 및 마킹을 통한 학습을 진행하도록 하고, 시멘틱 분석으로 의미분석을 통한 번역규칙의 최적화를 통하여 새로운 수학 문제가 입력되었을 때 문제유형을 자동으로 분류(Classification)할 수 있는 수학엔진 플랫폼을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 수학문제 개념유형 예측 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 내지 도 6은 본 발명의 일 실시예에 따른 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1개의 유닛이 2개 이상의 하드웨어를 이용하여 실현되어도 되고, 2개 이상의 유닛이 1개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 시스템(1)은, 적어도 하나의 사용자 단말(100), 수학문제 개념유형 예측 서비스 제공 서버(300), 적어도 하나의 전문가 단말(400)을 포함할 수 있다. 다만, 이러한 도 1의 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.
이때, 도 1의 각 구성요소들은 일반적으로 네트워크(network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 수학문제 개념유형 예측 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 수학문제 개념유형 예측 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100), 적어도 하나의 전문가 단말(400)과 연결될 수 있다. 또한, 적어도 하나의 전문가 단말(400)은, 네트워크(200)를 통하여 수학문제 개념유형 예측 서비스 제공 서버(300)와 연결될 수 있다.
여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 RF, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5GPP(5th Generation Partnership Project) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, NFC 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.
적어도 하나의 사용자 단말(100)은, 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 수학문제를 푸는 학생 등의 단말일 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 수학 문제 중 수학 문장제 문제(Math Word Problem, MWP)의 풀이 및 해설을 원하는 학생의 단말일 수 있고, 이를 위하여 수학 문장제 문제를 수학문제 개념유형 예측 서비스 제공 서버(300)로 전송하는 단말일 수 있다. 그리고, 적어도 하나의 사용자 단말(100)은, 실시간으로 문제 풀이 및 해설 등의 피드백 데이터를 수학문제 개념유형 예측 서비스 제공 서버(300)로 전송받을 수 있는 단말일 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 수학문제를 문의하고 답변을 받는 과정을 자연어로 인공지능 챗봇 또는 채팅 에이전트와 진행할 수 있는 단말일 수 있고, 인공지능 챗봇 또는 채팅 에이전트는 수학문제 개념유형 예측 서비스 제공 서버(300)로부터 제공된 인터페이스에서 구동될 수 있다.
여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
수학문제 개념유형 예측 서비스 제공 서버(300)는, 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 수학문제 개념유형 예측 서비스 제공 서버(300)는, 사용자 단말(100)로부터 수학문제 중 수학 문장제 문제가 수신되는 경우, 자연어 처리 및 이미지 처리를 이용하여 텍스트와 이미지로 분리하고, 분리된 텍스트를 셈뭉치(Math Corpus)에 기반하여 개체명을 인식(Named Entity Recognition)하고, 수학항을 추출하는 서버일 수 있다. 그리고, 수학문제 개념유형 예측 서비스 제공 서버(300)는, 수식화 번역된 수학항에 기반하여 입력된 수학 문장제 문제에 적용된 개념과 유사한 개념유형을 가진 개념유형 후보군을 추출하는 서버일 수 있다. 또한, 수학문제 개념유형 예측 서비스 제공 서버(300)는, 수식화 번역된 수학항을 분석하고, 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation)과 각 문장 패턴 정의에 기반하여 구문패턴을 분석하여 개념유형을 분류할 수 있는 서버일 수 있다. 이에 따라, 수학문제 개념유형 예측 서비스 제공 서버(300)는, 사용자가 문의한 문제를 풀 수 있는 개념유형을 정확히 예측하고, 예측된 개념유형을 적용하여 문제를 풀이하고, 이를 다시 자연어로 변환하여 사용자에게 설명을 하는 방법으로 실시간으로 피드백을 사용자 단말(100)로 전달하는 서버일 수 있다. 상술한 처리를 위하여, 수학문제 개념유형 예측 서비스 제공 서버(300)는, 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation) 모델을 구축하기 위해 인공지능 기계학습을 진행하는 서버일 수 있고, 학습 방법은 지도 학습, 반지도 학습, 강화 학습 등에 의해 진행될 수 있다.
여기서, 수학문제 개념유형 예측 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
적어도 하나의 전문가 단말(400)은, 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하는 전문가의 단말일 수 있다. 이때, 적어도 하나의 전문가 단말(400)은, 수학문제 개념유형 예측 서비스 제공 서버(300)에서 트레이닝 데이터를 이용하여 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation) 모델을 구축하기 위해 학습할 때, 인공지능에게 학습의 기준을 설정해주기 위해 수학문제를 수학언어로 변환한 번역파일을 제공하는 단말일 수 있다. 그리고, 적어도 하나의 전문가 단말(400)은, 인공지능의 학습 결과로 신경망 기반 기계번역 모델이 구축되었을 때, 실시간으로 수신되는 수학문제를 인공지능에서 처리한 결과를 교정하거나 오류를 바로잡아주기 위한 데이터를 수학문제 개념유형 예측 서비스 제공 서버(300)로 전송하는 단말일 수 있다.
여기서, 적어도 하나의 전문가 단말(400)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 전문가 단말(400)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 전문가 단말(400)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
도 2는 도 1의 시스템에 포함된 수학문제 개념유형 예측 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 내지 도 6은 본 발명의 일 실시예에 따른 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 2를 참조하면, 수학문제 개념유형 예측 서비스 제공 서버(300)는, 입력부(310), 분리부(320), 번역부(330), 필터부(340), 분석부(350), 분류부(360), 학습부(360), 매칭부(380), 해설부(390)를 포함할 수 있다.
본 발명의 일 실시예에 따른 수학문제 개념유형 예측 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100), 및 적어도 하나의 전문가 단말(400)로 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100), 및 적어도 하나의 전문가 단말(400)은, 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 적어도 하나의 사용자 단말(100), 및 적어도 하나의 전문가 단말(400)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: world wide web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(hyper text mark-up language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(app)을 포함한다.
도 2를 참조하면, 입력부(310)는, 수학 문장제 문제(Math Word Problem)를 입력받는다. 이때, 수학 문장제 문제란, 외형적으로는 문장으로 표현된 문제를 말하지만, 문장제의 일반적인 의미는 이야기가 들어있는 문제로 수학적인 지식을 기본 내용으로 하지만 이를 소재로 하는 문제적 상황이 문장으로 제시되어 있는 상태의 문제를 말한다. 문장제의 구성 요소는, 문제해결적 요소를 중심으로 문제의 구성 요소를 문장의 맥락(context), 역학(mechanics), 형태(format)를 포함한다. 문장제를 구성하는 문장은, 지정 진술, 관계 진술, 질문 진술, 사실 진술의 네 가지로 나눌 수 있는데, 지정 진술은 어떤 변수에 대하여 일정한 수치를 지정하는 문장이다. 예를 들면, "장미 한 송이에 1000원이다"라는 문장은 지정 진술이 된다. 관계 진술은 두 변수사이의 산술적 관계를 나타내기 위하여 한 변수를 다른 변수와 관련시키는 문장이다. 예를 들어, "직사각형의 가로의 길이는 세로의 길이 보다 5cm가 더 길다"는 관계 진술이다. 그리고, 질문 진술은 어떤 변수의 값에 해당하는 단일한 수치를 구하도록 요구하는 문장이며, 사실 진술은 주어진 문제에 통합성을 부여하기 위하여 요구되는 사실을 진술하는 문장이다.
분리부(320)는, 수학 문장제 문제를 자연어 처리(Natural Language Processing) 및 이미지 처리를 이용하여 텍스트와 이미지로 분리할 수 있다. 이때, 자연어 처리란, 인간이 발화하는 언어 현상을 기계적으로 분석해서 컴퓨터가 이해할 수 있는 형태로 만드는 자연 언어 이해 혹은 그러한 형태를 다시 인간이 이해할 수 있는 언어로 표현하는 제반 기술을 의미한다. 자연어 처리 방식으로는 전통적으로 규칙 기반 접근법, 통계기반 접근법이 있고, 이 둘의 강점을 통합한 하이브리드 방식이 있으며, 인공신경망 방식이 있는데, 최근 들어 부상하고 있는 딥러닝(Deep Learning)이 인공신경망 방식에 해당한다. 딥러닝을 이용한 방식은 입력 문장과 출력 문장을 하나의 쌍으로 두고, 가장 적합한 표현 및 번역 결과를 찾는 방식이다. 자연어 처리 방식은, 우선 품사 부착(POS tagging)으로 시작되는데, 품사 부착은 자연어 처리 기술 중 가장 기본이 되는 기술이다. 교착어에 해당되는 한국어는 굴절어인 영어와는 달리 품사 부착을 형태소 분석 후에 수행하는 것으로 일반화 되어 있지만, 형태소 분석을 하지 않고 품사 부착을 수행하는 방법도 이용될 수 있다. 두 번째는 파싱(parsing) 과정인 구문 분석이다. 한국어는 어순이 자유롭고, 주어를 포함한 필수 논항의 생략이 빈번히 일어나는 특징으로 인해 구문 분석의 난이도가 높은데, 국가에서 개발된 세종 말뭉치가 이용될 수 있고, 이에 더하여 셈뭉치(Math Corpus)도 이용될 수 있다. 이에 더하여, 교정(spelling)이 더 포함될 수 있는데, 한국어 교정 기술의 경우 크게 띄어쓰기 교정과 철자 교정 기술로 나누어진다. 한국어 띄어쓰기의 경우 주로 말뭉치 기반의 통계기반 방식으로 진행될 수 있으나 이에 한정되지는 않는다. 한국어 철자 교정 연구의 경우 한국어가 가지는 교착어의 특성으로 인해 N-gram 방식의 접근이 어렵기 때문에, 한국어의 철자 교정은 rule-based 방식으로 교정어휘 쌍을 사용할 수 있으나, 역시 이에 한정되는 것은 아니다. 또한, 중의성 해소(Word Sense Disambiguation, WSD)는 주로 소규모의 의미 태그 부착 말뭉치나 사전 정보 등을 이용하여 엔트로피 정보, 조건부 확률, 상호 정보 등을 사용하여 다양하게 진행될 수 있다. 한국어 학습 데이터에는 눈, 손, 말 등 중의성이 있는 어휘에 대해 각각 수십 개의 데이터가 포함될 수 있다. 그리고, 상호 참조(Coreference Resolution)가 더 포함될 수 있다. 마지막으로, 개체명 인식(Named Entity Recognition, NER) 과정이 더 부가될 수 있는데, 한국어 개체명 인식의 경우, 다양한 도메인에서 다양한 모델을 사용할 수 있다.
번역부(330)는, 분리된 텍스트를 셈뭉치(Math Corpus)에 기반하여 형태소 분석 및 개체명 인식을 이용하여 분석하고, 이미지를 객체 인식 및 의미 분석을 이용하여 분석하여 수학항을 추출하도록 수식화 번역을 수행할 수 있다. 이때, 번역부(330)는 상술한 자연어 처리 기술을 계속 이용하여 형태소를 분석하고 품사를 태깅하고 개체명을 인식하는 등의 과정을 수행할 수 있다. 본 발명의 문장제는, 텍스트 영역과 이미지 영역을 포함하는 문장제 문제를 가정하기 때문에 상술한 과정이 발생할 수 있지만, 만약 이미지 영역이 존재하지 않고 텍스트 영역만으로 구성되는 경우에는, 이미지 영역 내의 객체 인식 및 의미 분석 과정은 생략될 수 있다. 이때, 셈뭉치(Math Corpus)는, 말뭉치(Corpus)와 같이 수학의 문제모델을 정의하고, 구분하기 위해 수학 및 수학문제를 정의하는 분야에서 한 문제를 대표하는 것으로 생각되는 텍스트, 발화 또는 기타 표본들의 뭉치로 데이터베이스에 저장된 것이다. 자연어 처리에서 말뭉치 구축의 정도가 자연어 처리 정확도를 판가름하듯이, 수학문제를 처리하는 과정에서도 문제모델인 셈뭉치가 어느 정도 구축이 되어 있는지에 따라, 문제모델을 태깅하고, 도메인을 정의하고, 학습시키며 분리하는 과정의 정확도가 높아질 수 있다. 따라서, 번역부(330)는, 문제모델을 분리하기 위하여 기 구축된 셈뭉치를 이용하여, 텍스트와 이미지로부터 의미분석, 번역 및 해법을 탐색하기 위한 첫 단계로 문장제를 번역하여 수학언어로 변환시킬 수 있다.
필터부(340)는, 수식화 번역된 수학항에 기반하여 개념유형 후보군을 필터링하여 추출 및 압축할 수 있다. 도 4b를 참조하면 예를 들면, 개념유형이, 2 진 트리나 상위-하위 메뉴를 구분하는 형식으로 구조화되고, 제 1 레벨에는, 문제형식1(단일문제/세트문제), 제 2 레벨에는, 두 번째로 문제형식2(계산제/문장제/도해제), 제 3 레벨에는, 문제유형 1(셈틀 연산형, 계산 퍼즐형, 단위 연산형, 방정식형, 규칙 적용형, 오류 수정형, 사칙 연산형, 진술완성형, 보기제시형, 수량비교형, 오류교정형, 상황유추형, 패턴 분석형, 수치 비교형, 수직선형, 만화대화형, 도표 작성형, 유사도표형), 제 4 레벨에는 문제유형 2(모으기, 가르기, 보조셈, 세로셈, 가로셈, 부등식셈, 연결셈, 수형도셈, 화살표셈, 워난셈, 덧셈의 합병형, 덧셈의 첨가형, 덧셈의 비교형 등)이 존재한다고 가정하면(레벨의 크기가 높아질수록 자식노드), 필터부(340)는, 번역된 수학항이, 제 1 레벨에 존재하는 문제형식 1 중 어느 것인지를 구분하고, 만약 세트문제라면, 제 2 레벨에 존재하는 문제형식 2 중 계산제 세트문제인지, 문장제 세트문제인지를 비교하고, 만약, 계산제 문제라면, 셈틀연산형인지 등을 구분하여 그 후보군을 차츰 좁혀가는 것이다. 최종적으로 문제형이 세트문제(제 1 레벨)-계산제(제 2 레벨)-셈틀연산형(제 3 레벨)-모으기(제 4 레벨)로 구분이 되었다면, 필터부(340)는, 세트문제-계산제-셈틀연산형-모으기 내에 포함된 후보군들을 추출하게 된다.
다시 도 2로 돌아와서, 분석부(350)는, 수식화 번역된 수학항을 기 설정된 소유격, 대상격, 시점격, 상수항, 미지항, 및 연산항으로 분류하도록 분석할 수 있다. 이때, 번역부(330)에서 분리된 텍스트를 셈뭉치(Math Corpus)에 기반하여 형태소 분석 및 개체명 인식을 이용하여 분석하고, 이미지를 객체 인식 및 의미 분석을 이용하여 분석하여 수학항을 추출하도록 수식화 번역을 수행하면서, 분리된 텍스트를 형태소 분석 및 개체명을 인식하여 소유격, 대상격, 상황격, 및 수량격으로 나누는 의미 파악 단계, 분리된 텍스트 중 키워드를 키워드 수학 번역을 이용하여 어휘, 숫자, 수식 및 기호를 용어/기호 개념 단위 미지항, 상수항, 수식 및 연산자로 각각 매칭하여 구문 분석을 수학 번역으로 변환하는 단계, 이미지 중 키심볼을 키심볼 수학 번역을 이용하여 셈틀, 도형, 교구, 기호, 표, 및 그림을, 셈틀, 형태/의미, 상수항, 의미, 형태/의미, 및 의미로 각각 번역하고, 랜더링이 가능한 포맷으로 변환하여 구문 분석을 수학 번역으로 변환하는 단계를 수행하였으므로, 변환된 번역을 기준으로 분류하는 프로세스를 수행할 수 있다. 여기서, 번역부(330)에서 분리된 텍스트를 형태소 분석 및 개체명을 인식하여 소유격, 대상격, 상황격, 및 수량격으로 나누는 의미 파악 단계는, 인물, 지역, 기관, 인공물, 및 문명에 대한 개체명은 소유격으로 의미파악하고, 동물, 식물, 의미파악에서 파악된 인공물을 제외한 악기, 무기, 및 교통수단을 포함하는 인공물, 문명, 물질, 및 색상모양형태에 대한 용어는 대상격으로 파악하고, 일반명사를 포함하는 날짜, 시간 및 방향에 대한 용어는 상황격으로 파악하고, 단위명사를 포함하는 날짜, 시간 및 수량에 대한 용어는 수량격으로 파악하는 것으로 수행될 수 있다. 다만, 상술한 정의는 상술한 것들로 확정된 것은 아니고, 실시예에 따라 변경 및 변형될 수 있음은 자명하며, 인공지능의 학습 결과에 따라 변경될 수 있음도 물론이라 할 것이다.
분류부(360)는, 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation)을 이용하고, 기 설정된 계산제 패턴, 문장제 패턴 및 도해제 패턴 정의에 기반하여 구문패턴을 분석하여 수학 문장제 문제의 개념유형을 분류(Classification)할 수 있다. 이때의 분류는, 필터부(340)에서 후보군으로 추출한 문제유형에서 추출된 후보군 내에서 가장 유사한 후보군을 매칭하고, 최적의 규칙 매칭 문제를 추출하는 분류하여, 사용자가 질의한 수학문제에 적용될 수 있는 최적의 규칙 및 유사문제를 분류(예측)하는 것이다. 이렇게, 사용자가 질의한 문제에 적용될 수 있는 최적의 규칙 및 유사문제가 추출되고 나면, 후술할 해설부(390)에서 최적의 규칙을 해당 질의한 문제에 적용하여 풀이를 생성하게 된다.
한편, 학습부(370)는, 입력부(310)에서 수학 문장제 문제(Math Word Problem)를 입력받기 이전에, 해당 문장제 문제를 풀기 위한 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation) 모델을 구축해야 한다. 즉, 어떠한 질의(Query)를 처리하기 위해서는, 이를 처리하기 위한 알고리즘이 구축이 되어야 한다. 예를 들어, y=f(x)라는 알고리즘이 존재하는 경우, x라는 입력값이 처리되기 위해서는, f()라는 함수(알고리즘)가 정의가 되어 있지 않으면 x를 입력으로 하는 y가 도출될 수가 없다. 마찬가지로, 입력부(310)에서 입력된 질의(수학 문장제 문제)를 처리하기 위해서는, 이를 분석하고 풀이를 진행할 알고리즘이 마련되어 있어야 하며, 본 발명의 일 실시예에서는 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation) 모델을 구축하여 이용한다.
이때, 신경망 기반 기계번역은, 하나의 신경망으로 번역 모델이 구성되고 학습된다는 측면에서 기존 여러 모듈에 기반한 기계 번역과 다른 패러다임을 제시하고 있다 일반적으로 신경망 기반 기계번역은 인코더(Encoder)와 디코더(Decoder)로 구성되는데, 단어들로 구성된 입력문장을 인코더가 벡터공간에 표현하고, 이를 디코더가 다시 출력 문장의 단어들을 하나씩 순차적으로 만들어 내는 것으로 번역 과정이 진행된다. 이러한 과정은 전통적인 기계번역 시스템이 단어들을 심볼(Symbols) 수준에서 직접 다루는 것과 상반된다. 이때, 신경망 기반 기계번역을 설명하기 앞서, 배경지식이 되는 딥러닝의 주요 알고리즘을 설명한 후 신경망 기반 기계번역을 설명하기로 한다.
첫 번째는, 오토인코더(AutoEncoder)이다. 심층망이 역전파 만으로 학습이 쉽지 않은 경우, 사전학습과정을 사용할 수 있는데, 심층망의 계층들을 미리 비감독학습(Unsupervised learning)으로 학습 후 계층들을 연결하여 심층망을 구성한다. 오토인코더는 간단한 신경망인데, 입력(visible)과 출력(reconstruction)의 타겟은 동일하다. 즉, 인코딩후 디코딩 했을때 원래 입력과 같아져 야한다는 것으로, 인코딩으로 발생되는 정보의 손실이 최소화되기를 기대한다. 인코딩 행렬에 대해 디코딩은 전치(transpose)로 표현할 수 있어서 동일한 변수를 사용할 수 있다. 학습은 복구에러의 역전파에 기반한다. 신경망 모델에서 문장을 오토인코딩할 수 있는데, 입력 문장이 벡터로 인코딩되어 표현되고 디코더가 원래 문장을 복구해 낼 수 있다. 이를 시계열 오토인코더(Sequential AutoEncoder, SAE) 라고 한다. 인코더와 디코더의 언어가 다를 경우 번역 모델로 만들어 질 수 있는데, 예를 들어 문장제 수학문제를 인코딩하여 표현된 벡터를 자연어로 디코딩하는 경우, 이는 결국 수학문제 풀이가 된다. 인코더와 디코더는 언어별로 구성되지만, 학습은 서로 다른 언어의 인코더-디코더가 같이 이루어져야 한다. 즉, 오토인코더로 각 언어별 인코더와 디코더를 학습하고, 단순히 서로 다른 언어의 인코더와 디코더를 연결하는 것으로는 번역 모델로 역할을 할 수 없다. 왜냐하면 SAE로 학습할 경우 인코더가 만드는 문장의 표현은 의미기반이 아니기 때문이다. 더 나아가서 두 언어의 SAE로 학습후 두 모델의 문장 표현 사이의 매핑 함수를 학습할 수도 없는데, 마찬가지 이유이다. 만일 단일어 코퍼스로 오토인코더를 학습하여 의미기반의 문장 표현이 가능하다면 후술할 신경망 기반 기계번역에서 병렬코퍼스의 양이 부족한 문제가 지금처럼 심각하지는 않을 것이다. 오토인코더 개념은 병렬코퍼스가 부족한 경우 재번역(back-translation) 이라는 기법으로 다시 나타난다. 번역후 재번역 할 경우 원래 입력 문장과 같아지기를 바라는 것인데, 이때는 번역 자체가 인코딩이되고 재번역이 디코딩이 되는 형태가 된다.
두 번째는, 워드임베딩(Word Embedding)이다. 심볼로 이루어진 단어들의 연속인 문장을 신경망에 입력하려면 이들을 벡터로 변환해야하는데, 워드임베딩이라는 절차를 거쳐 변환한다. 워드임베딩을 위해서 우선 모든 단어들을 모은 단어사전을 만든다. 이 사전은 보통의 사전과 달리 그저 단어들의 리스트이고, 이 리스트를 만드는 방법은 코퍼스에서 가장 자주 나타나는 단어들을 찾아서 만드는 것이 일반적이다. 사전이 만들어지면 순서가 정해지는데, 순서가 특별한 의미는 없지만, 한번 정해진 순서는 그 단어의 아이디가 된다. 이 아이디를 이용해서 각 단어에 해당하는 원핫(one-hot) 표현의 벡터를 만들 수 있다. 예를 들어, 단어 개수가 총 10K 이면 10K 차원의 벡터를 만들고 그 단어의 아이디가 7이면 10K 차원의 벡터에서 모든 값은 0 이고 7번째 값만 1이 되는 벡터가 된다. 이제 단어가 벡터형태로 표현되었지만, 각 단어 사이의 거리는 모두 동일하다. 즉 이 표현은 아무런 의미를 가지지 않는데, 학습전에 만들어진 벡터가 무의미 한 것은 당연하다. 원핫 벡터를 의미를 표현하는 벡터로 변환하는 과정은 워드임베딩 행렬을 사용한다. D 차원의 워드임베딩을 얻으려면 임베딩 행렬은 NxD 행렬이 된다. 즉 N 차원의 원핫 벡터를 NxD 행렬에 곱하기 하는 것으로 D차원의 벡터를 얻을 수 있다. 이 행렬의 초기값는 흔히 랜덤으로 주어지고 학습을 통해 그 값이 결정되는데, 그 벡터 값들은 공간에서 단어의 의미를 포함하게 되고, 비슷한 의미의 단어들은 벡터 공간에서 가까운 곳에 위치하게 된다. 워드임베딩 행렬은 초기값은 랜덤으로 시작하여 학습을 하는 변수인데, 신경망 기반 번역 모델의 입출력에 연결되어 함께 학습될 수도 있고, 다른 알고리즘으로 사전에 학습한 결과를 가져다가 사용할 수도 있다. 사전 학습을 위한 알고리즘으로는 모델과 데이터의 구조에 따라 Skip-gram, CBOW, 언어모델(Language model), TransE 등이 사용될 수 있으나, 이에 한정되는 것은 아니다. 또한, 사전 학습된 결과를 고정하고 신경망 기반 번역 모델의 다른 변수들만 학습할 수도 있고, 함께 추가 학습할 수도 있다.
세 번째는, 복합성 원리(The Principle of Compositionality)이다.
학습이 된 워드임베딩 행렬이 단어들의 뜻을 결정하지만, 이것으로 문장의 의미가 결정되는 것은 아니다. 예를 들어, “Mary loves John” 과 “John loves Mary”는 같은 단어들로 구성되어 있지만, 다른 의미의 문장이 된다. 즉, 문장의 의미는 단어들의 뜻과 함께 결합되는 방식에 의해 결정되는데, 이를 복합성원리라고 한다. 자연어 처리에서 복합성의 원리는 유한한 단어와 유한한 결합 방식을 통해 거의 무한에 가까운 문장들을 만들 수 있는 생산성(productivity)과, 이러한 무한의 문장들이 만들어지고 이해하기 위한 체계성(systematicity)을 포함한다. 이를 적용한 신경망은 이하와 같다.
우선, 순환 신경망(Recurrent Neural Networks, RNNs)은 일반 신경망의 각 계층에서 상위 계층으로 연결 뿐만아니라 자기 자신 계층에도 연결을 만드는데, 이러한 돌아오는 연결은 메모리의 역할을 함으로써 데이터의 시간적인 변화를 모델링할 수 있게 만든다. 이때, 돌아오는 연결에 대한 학습은 LSTM(Long Short-Term Memory), GRU(Gated Recurrent Unit), iRNN, uRNN, PRU(Persistant Recurrent Units)이 이용될 수 있다. 그리고, 합성곱 신경망(Convolutional Neural Networks, CNNs)의 중요한 특징 중 하나는 뇌 신경과학적인 발견들에 기초한 모델이라는 것인데, 이는 지역적 감각수용장(local receptive fields), 뽑기(pooling) 같은 개념에 기초하여 지역적 감각수용장을 전체 이미지에 합성곱(convolution)하여 신경망의 연결강도를 공유하는 방법으로 변수의 수를 대폭 축소한 것이다. 사전학습 없이도 학습 가능한 이유는 지역적 연결과 공유된 연결이 역전파되는 에러정보를 사라지지 않게 하고 에러의 분산을 줄이기 때문이다. 이때, 신경망 기반 번역 모델에서 합성곱 신경망이 사용될 경우, 복합성의 원리는 커널(kernel)들에 의해 구현된다. 결국 RNN 에서 순환 연결이 하는 결합의 역할을 여러 계층의 커널들이 하고 있는 셈이다. 또한, 주의 기법(Attention Mechanism)은, RNN 혹은 CNN 이 하는 역할을 주의기법이 대체함으로써 인코더와 디코더에 각각 하나씩의 주의기법이 있고 그 둘 사이에 또 하나의 주의기법이 있는 모델이 된다. RNN 혹은 CNN 에서의 결합의 원리가 각각 순환 연결 혹은 커널 강도에 의해 모델되고 학습된다면 주의기법 모델에서는 각 단어별 필요한 단어들에 주의를 둠으로써 직접 결합한다. 마지막으로, 언어 모델 (Language Model)은 언어의 통사적 혹은 의미적 구조를 모델링하여 학습한다. 일반적으로 언어모델은 오토회귀(Auto Regressive) 모델로 볼 수 있는데, 그 전까지 주어진 단어들로부터 그 다음 단어의 확률을 계산하게 되며, 이를 통해 전체 문장의 경향(Likelihood)을 확인할 수 있다.
이제, 상술한 기본 개념을 바탕으로 신경망 기반 번역 모델(Neural Machine Translation Models)을 설명하기로 한다.
신경망 기반 번역 모델은, 입력 문장과 타겟 문장이 함께 있는 학습의 경우와 입력 문장만 있는 실제 번역의 경우, 인코더 부분은 같고 디코더에서 약간의 차이가 있다. 번역모델의 학습은 입력문장이 주어졌을때 타겟문장의 확률을 최대화 하도록 학습하며, 타겟문장의 경우 언어모델과 같이 그 전까지의 단어들도 주어진 조건에서 현재 단어의 확률들의 곱으로 표현된다. 먼저 입력 문장의 경우 인코딩을 하게 된다. 주어진 문장이 단어들의 아이디로 구성되어 있어서 위에서 설명한 것과 같이 워드임베딩을 거친후 단어 벡터들로 변환한다. 그리고 이 단어 벡터들을 입력으로 양방향 RNN을 거친다. RNN은 LSTM 혹은 GRU 등을 사용할 수 있다. 순방향과 역방향 출력값을 합쳐서(concatenate) 인코딩의 결과 벡터를 만든다.
디코더는 RNN과 단순 신경망으로 구성된다. RNN은 은닉값 및 입력값을 이용하여 출력 데이터를 출력하는 구조를 가지게 되는데, 단순 신경망을 적용하여 결과값을 얻게 되고 마지막 알고리즘을 거치면서 출력 데이터를 예측하게 된다. 출력 데이터를 예측할 때 학습의 경우에는 타겟문장이 존재하므로 이를 사용할 수 있지만, 실제 번역의 경우에는 정답 타겟이 존재하지 않기 때문에, 예측한 결과를 쓸 수 밖에는 없다. 이 경우, 학습과 실제 번역 사이에 차이가 발생할 수 있다. 패턴인식의 경우 기 설정된 조건을 만족해야하데, 학습과 실제 번역사이의 차이를 줄이기 위하여, 스케쥴 샘플링(Scheduled Sampling) 기법과 강화학습 등이 이용될 수 있다.
번역모델의 학습은 다른 딥러닝 모델들의 학습과 마찬가지로 여러가지 최적화 알고리즘들(RMSprop, Adam, 혹은 Adadelta) 중에 선택하여 사용할 수 있다. 번역 모델은 번역 시스템으로도 중요하지만, 그 자체로 딥러닝에 있어서 다양한 응용분야에 직간접적으로 활용된다는 면에서 중요하다. 우선 요약(summarization)은 번역 모델을 거의 그대로 적용 가능하다. 즉 문단 혹은 문서를 입력으로 하고 요약 결과를 출력으로 번역한다. 물론 요약의 특성을 고려하여 모델을 개선할 수도 있다. 이미지 캡션 생성도 번역 모델의 일부(정확히는 디코더 부분)를 그대로 사용할 수 있고, 이미지를 CNN으로 인코딩하고 디코더는 위에서 언급한 동일한 방식을 사용하여 캡션 문장을 생성할 수 있다. 그 외에도 시계열 데이터를 다른 시계열 데이터로 변환하는 응용들은 번역으로 이해하고 번역 모델을 수정하여 적용할 수 있다. 상술한 방법은 본 발명의 일 실시예가 변경됨에 따라 변경 또는 변형 적용될 수 있고, 상술한 것들로 한정되지 않음은 자명하다 할 것이다.
상술한 신경망 기반 번역 모델의 개념을 기반으로, 계속 학습부(370)의 프로세스를 설명한다. 학습부(370)는, 수학문제를 해결하는 단서에 대응하는 수학문제 내 텍스트의 키워드(Keyword) 및 수학문제 내 이미지의 키심볼(Key-Symbol)의 위치 및 형태를 표시한 마킹 파일과, 수학문제를 구문, 수식 및 풀이의 트리플 모델(구문-수식-풀이)의 수학언어로 변환한 번역 파일을 유사 패턴별로 복수쌍 입력받을 수 있다. 그리고, 학습부(370)는, 유사 패턴의 새로운 수학문제 원본 파일 복수문항을 입력받고, 인공지능에서 기 학습한 가설규칙에 대응하도록 분석하여 구문, 수식 및 풀이의 수학언어로 번역 파일을 생성할 수 있다. 또한, 전문가 단말(400)로부터 유사 패턴의 새로운 수학문제 원본파일 복수문항에 대하여 키워드 및 키심볼이 표시된 마킹 파일과, 수학언어로 변환된 번역 파일을 입력받고, 전문가 단말(400)로부터 입력된 마킹 파일 및 번역 파일과, 인공지능에서 가설규칙에 대응하도록 분석한 번역 파일을 비교분석하고, 비교분석 결과에 기반하여 기 학습된 가설규칙을 수정 및 보완하여 가추(Abduction)규칙을 생성할 수 있다. 이때, 가추법이란, 결과를 통해서 중간단계를 추리하는 것이다. 즉, 이미 알고 있는 이론과 결과를 통해 원인을 추정하는 것이다.
그리고, 학습부(370)는, 수학문제를 해결하는 단서에 대응하는 수학문제 내 텍스트의 키워드(Keyword) 및 수학문제 내 이미지의 키심볼(Key-Symbol)의 위치 및 형태를 표시한 마킹 파일과, 수학문제를 구문, 수식 및 풀이의 트리플 모델의 수학언어로 변환한 번역 파일을 유사 패턴별로 복수쌍 입력받을 때, 이하의 특징 벡터들을 추출하는 과정을 실행하게 되고, 이때는 학습부(370) 내의 인공지능을 통하여 수행된다.
학습부(370)는, 입력된 수학문제의 원본 파일을 텍스트 영역과 이미지 영역으로 분할하여 텍스트 영역으로부터 문장 단위로 단어 표현(Word Embedding) 벡터를 추출하고, 이미지 영역으로부터 이미지 영역을 이루는 이미지 객체를 각각 분리(Object Localization)하여 제 1 특징 벡터를 추출할 수 있다. 그리고, 학습부(370)는, 입력된 수학문제의 마킹 파일로부터 키워드 단위로 위치 정보, 자소의 형태, 개수의 정보를 제 2 특징 벡터로 추출하고, 키심볼의 위치, 형태 및 크기의 정보를 제 3 특징 벡터로 추출할 수 있다. 또한, 학습부(370)는, 전문가 단말(400)로부터 수학문제를 수학언어로 번역한 번역 파일로부터 구문, 수식 및 풀이 각각을 제 4 특징 벡터로 추출하고, 마킹 파일과 원본 파일로부터 추출된 텍스트와 이미지에 대한 제 1 내지 제 3 특징 벡터와, 번역 파일로부터 추출된 제 4 특징 벡터 사이의 관계를 분석하여 가설규칙을 생성할 수 있다. 이렇게 생성된 가설규칙은, 상술한 바와 같이 번역 파일을 생성하기 위해 이용된다. 이때, 구문, 수식 및 풀이 내의 수치는 가변요소로 처리될 수 있고, 이렇게 학습된 결과인 신경망 기반 번역 모델을 이용하여 사용자로부터 질의가 존재하는 경우, 최적의 문제유형을 매칭하여 풀이를 생성하고 사용자에게 전달하게 된다. 이는, 이하에서 설명한다.
매칭부(380)는, 분류부(360)에서 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation)을 이용하고, 기 설정된 계산제 패턴, 문장제 패턴 및 도해제 패턴 정의에 기반하여 구문패턴을 분석하여 수학 문장제 문제의 개념유형을 분류(Classification)한 후, 분류된 개념유형과 유사한 문제를 단계별로 매칭하여 비교하고, 개념유형에서 적용되어야 최적의 규칙을 가진 매칭 문제를 추출할 수 있다. 이때, 분류된 개념유형과 유사한 문제는, 개념단위인 스키마의 유사문제 집합분류 내에 포함된 모델 문제, 동치 문제, 동형 문제, 동의 문제, 교차 문제, 및 추리 문제를 포함할 수 있으나, 이에 한정되지는 않는다.
그리고, 모델 문제는, 도 3d를 참조하면, 단위 개념별로 기계학습의 지도학습을 통하여 모델링된 후 셈뭉치로 구축한 문제이고, 동치 문제는, 형태와 의미가 동일한 동형-동의 문제로, 모델 문제와 문제 맥락의 키워드가 같고 해결 절차도 동일한 문제이고, 동형 문제는, 형태는 동일하지만 의미는 다른 동형-이의 문제로, 모델 문제와 문제 맥락의 키워드가 같으나 해결 절차가 다른 문제이고, 동의 문제는, 형태가 다르고 의미는 동일한 이형-동의 문제로, 모델 문제와 문제 맥락의 키워드는 다르지만 해결 절차가 동일한 문제이고, 교차 문제는, 형태가 상반되고 의미도 다른 상반-이의 문제로, 모델 문제와 문제 맥락의 키워드가 반대이고 해결 절차도 다른 문제이고, 추리 문제는, 형태와 의미가 모두 다른 이형-이의 문제로, 모델 문제와 문제 맥락의 키워드가 다르고 해결 절차도 다른 문제일 수 있다.
해설부(390)는, 분류부(360)에서 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation)을 이용하고, 기 설정된 계산제 패턴, 문장제 패턴 및 도해제 패턴 정의에 기반하여 구문패턴을 분석하여 수학 문장제 문제의 개념유형을 분류(Classification)한 후, 분류된 개념유형에 기반하여 수학 문장제 문제의 수식 및 풀이를 생성하고, 풀이를 자연어 처리하여 해설을 생성할 수 있다.
이하, 상술한 도 2의 수학문제 개념유형 예측 서비스 제공 서버의 구성에 따른 동작 과정을 도 3 내지 도 6을 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.
도 3a 및 도 3b를 참조하면, 초등학교 수학문제에 텍스트 영역과 이미지 영역이 포함된 문장제 문제가 존재한다고 가정한다. 이를, 사용자 단말(100)에서 질의를 한 경우, 수학문제 개념유형 예측 서비스 제공 서버(300)는, 우선 텍스트 영역과 이미지 영역을 분리하고, 수학문제를 해결하려는 핵심 단서가 되는 텍스트의 키워드(두 수의 합이 크면, 어떤 수)와, 이미지 영역의 키심볼(9와 4, 6)의 위치와 형태를 표시한 마킹 파일과, 해당 문제를 [구문]-[수식]-[풀이]의 트리플 모델의 수학언어로 변환한 변환 파일을 유사패턴별로 10쌍을 입력한다. 그리고, 수학문제 개념유형 예측 서비스 제공 서버(300)는, 유사패턴의 새로운 수학문제 원본파일 30문항을 입력하여 인공지능에서 이미 학습한 가설규칙에 따라 스스로 분석하여 [구문]-[수식]-[풀이]의 수학언어로 번역파일을 생성하도록 하고, 원본파일 30문항에 대해 전문가 단말(400)로부터 키워드와 키심볼을 표시한 마킹파일과, 수학언어로 변환한 번역파일을 입력받아 인공지능에서 가설규칙으로 번역한 결과를 비교 및 분석함으로써, 가설규칙을 수정한 가추규칙을 생성한다. 이때, 상술한 과정은 mathML 기반의 랜더링이 가능한 포맷으로 구축이 되며, 이는 도 3c와 같다. 그리고, 도 3d와 같이 최적의 규칙이 매칭되고, 이 과정에서 신경망 기반 기계 번역 모델을 이용하여 유사문제를 단계별로 매칭하고 비교하며, 최적 규칙 매칭 문제를 추출하게 된다. 그리고, 도 3e를 참조하면, 텍스트 의미분석, 키워드 수학 번역, 및 키심볼 수학 번역의 매칭 테이블의 실시예가 기재된다. 이에 따라, 각 텍스트와 숫자 도형 등이 번역이 된다. 또한, 도 3f와 도 3g를 보면, 의미항목별 구문분석요소와, 단위명사를 분류한 테이블이 도시되는데, 이에 한정되는 것은 아니고 인공지능 학습이 진행되면서 또는 새로운 형태가 더 입력되는 경우 변형될 수 있음은 자명하다.
도 4a는 표상 변환 패턴과, 표상 변환 패턴의 예시를 도시하고, 도 4b는 초등수학 문제 분류 개요를 도시한다. 이때, 각 문제 형식을 계층적 구조로 분류하는 것에 대해서는 상술한 바와 같다. 도 4c는 초등학교 수학 1~2학년의 문제를 개념단위로 내용코드, 상위코드, 학교급, 요소 등의 내용정보와, 교과코드, 교육과정, 아이디, 학교급, 학년 및 학기, 단원 등으로 수학문제에 대한 테이블을 도시한다. 도 5a는 본 발명의 일 실시예에 따른 방법을 이용하여 수학 AI 튜터 서비스가 진행되는 개략적인 과정을 도시한다. 그리고, 도 5b를 참조하면, 수학 번역 방법은 신경망 학습 결과를 번역 규칙으로 스키마 맵을 원형 모델로 생성하도록 하는 차이점을 도시한다. 그리고, 원형 모델과 변형 모델이 스키마 군집 맵으로 작동되도록 하고, 전문가가 정기적으로 검토하여 관리하도록 한다.
도 5 및 도 6은 구문 분석 및 수식 번역 규칙을 정의한 테이블을 도시하는데, 각 형태소 분석이 된 키워드와 키심볼이 어떻게 번역이 되며, 수식항으로 번역되는지를 정의한 테이블이다. 또한, 도 6f는 덧뺄셈의 문장제에 대한 태깅(Tagging)을 보여주는데, 이 또한 교과과정이 변경되는 경우 등이나 새로운 문제가 첨가되는지에 따라 변경가능하다. 그리고, 각각의 텍스트는 이 테이블에 의해 번역이 될 수 있으나, 이에 한정되는 것은 아니고 실시예에 따라 변경될 수 있음은 자명하다.
이와 같은 도 2 내지 도 6의 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 7은 본 발명의 일 실시예에 따른 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법을 설명하기 위한 동작 흐름도이다. 도 7을 참조하면, 수학문제 개념유형 예측 서비스 제공 서버는, 수학 문장제 문제(Math Word Problem)를 입력받고(S7100), 수학 문장제 문제를 자연어 처리(Natural Language Processing) 및 이미지 처리를 이용하여 텍스트와 이미지로 분리한다(S7200).
그리고, 수학문제 개념유형 예측 서비스 제공 서버는, 분리된 텍스트를 셈뭉치(Math Corpus)에 기반하여 형태소 분석 및 개체명 인식을 이용하여 분석하고, 이미지를 객체 인식 및 의미 분석을 이용하여 분석하여 수학항을 추출하도록 수식화 번역을 수행한다(S7300).
또한, 수학문제 개념유형 예측 서비스 제공 서버는, 수식화 번역된 수학항에 기반하여 개념유형 후보군을 필터링하여 추출 및 압축하고(S7400), 수식화 번역된 수학항을 기 설정된 소유격, 대상격, 시점격, 상수항, 미지항, 및 연산항으로 분류하도록 분석한다(S7400).
그리고, 수학문제 개념유형 예측 서비스 제공 서버는, 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation)을 이용하고, 기 설정된 계산제 패턴, 문장제 패턴 및 도해제 패턴 정의에 기반하여 구문패턴을 분석하여 수학 문장제 문제의 개념유형을 분류(Classification)한다(S7500).
상술한 단계들(S7100~S7500)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S7100~S7500)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.
이와 같은 도 7의 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 6을 통해 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 7을 통해 설명된 일 실시예에 따른 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 일 실시예에 따른 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (10)

  1. 수학문제 개념유형 예측 서비스 제공 서버에서 실행되는 수학문제 개념유형 예측 서비스 제공 방법에 있어서,
    수학 문장제 문제(Math Word Problem)를 입력받는 단계;
    상기 수학 문장제 문제를 자연어 처리(Natural Language Processing) 및 이미지 처리를 이용하여 텍스트와 이미지로 분리하는 단계;
    상기 분리된 텍스트를 셈뭉치(Math Corpus)에 기반하여 형태소 분석 및 개체명 인식을 이용하여 분석하고, 상기 이미지를 객체 인식 및 의미 분석을 이용하여 분석하여 수학항을 추출하도록 수식화 번역을 수행하는 단계;
    상기 수식화 번역된 수학항에 기반하여 개념유형 후보군을 필터링하여 추출 및 압축하는 단계;
    상기 수식화 번역된 수학항을 기 설정된 소유격, 대상격, 시점격, 상수항, 미지항, 및 연산항으로 분류하도록 분석하는 단계; 및
    신경망(Neural Networks) 기반 기계번역(Neural Machine Translation)을 이용하고, 기 설정된 계산제 패턴, 문장제 패턴 및 도해제 패턴 정의에 기반하여 구문패턴을 분석하여 상기 수학 문장제 문제의 개념유형을 분류(Classification)하는 단계;를 포함하고,
    상기 수학 문장제 문제(Math Word Problem)를 입력받는 단계 이전에,
    수학문제를 해결하는 단서에 대응하는 상기 수학문제 내 텍스트의 키워드(Keyword) 및 상기 수학문제 내 이미지의 키심볼(Key-Symbol)의 위치 및 형태를 표시한 마킹 파일과, 상기 수학문제를 구문, 수식 및 풀이의 트리플 모델의 수학언어로 변환한 번역 파일을 유사 패턴별로 복수쌍 입력받는 단계;
    상기 유사 패턴의 새로운 수학문제 원본 파일 복수문항을 입력받고, 인공지능에서 기 학습한 가설규칙에 대응하도록 분석하여 구문, 수식 및 풀이의 수학언어로 번역 파일을 생성하는 단계;
    전문가 단말로부터 상기 유사 패턴의 새로운 수학문제 원본파일 복수문항에 대하여 키워드 및 키심볼이 표시된 마킹 파일과, 수학언어로 변환된 번역 파일을 입력받는 단계;
    상기 전문가 단말로부터 입력된 마킹 파일 및 번역 파일과, 상기 인공지능에서 상기 가설규칙에 대응하도록 분석한 번역 파일을 비교분석하는 단계; 및
    상기 비교분석 결과에 기반하여 상기 기 학습된 가설규칙을 수정 및 보완하여 가추(Abduction)규칙을 생성하는 단계;를 더 포함하는 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 수학문제를 해결하는 단서에 대응하는 상기 수학문제 내 텍스트의 키워드(Keyword) 및 상기 수학문제 내 이미지의 키심볼(Key-Symbol)의 위치 및 형태를 표시한 마킹 파일과, 상기 수학문제를 구문, 수식 및 풀이의 트리플 모델의 수학언어로 변환한 번역 파일을 유사 패턴별로 복수쌍 입력받는 단계는,
    상기 입력된 수학문제의 원본 파일을 텍스트 영역과 이미지 영역으로 분할하여 텍스트 영역으로부터 문장 단위로 단어 표현(Word Embedding) 벡터를 추출하고, 상기 이미지 영역으로부터 상기 이미지 영역을 이루는 이미지 객체를 각각 분리(Object Localization)하여 제 1 특징 벡터를 추출하는 단계;
    상기 입력된 수학문제의 마킹 파일로부터 키워드 단위로 위치 정보, 자소의 형태, 개수의 정보를 제 2 특징 벡터로 추출하고, 상기 키심볼의 위치, 형태 및 크기의 정보를 제 3 특징 벡터로 추출하는 단계;
    상기 전문가 단말로부터 상기 수학문제를 수학언어로 번역한 번역 파일로부터 구문, 수식 및 풀이 각각을 제 4 특징 벡터로 추출하는 단계;
    상기 마킹 파일과 원본 파일로부터 추출된 텍스트와 이미지에 대한 제 1 내지 제 3 특징 벡터와, 상기 번역 파일로부터 추출된 제 4 특징 벡터 사이의 관계를 분석하여 가설규칙을 생성하는 단계;
    를 수행하여 실행되는 것인, 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법.
  4. 제 3 항에 있어서,
    상기 구문, 수식 및 풀이 내의 수치는 가변요소로 처리하는 것인, 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법.
  5. 제 1 항에 있어서,
    상기 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation)을 이용하고, 기 설정된 계산제 패턴, 문장제 패턴 및 도해제 패턴 정의에 기반하여 구문패턴을 분석하여 상기 수학 문장제 문제의 개념유형을 분류(Classification)하는 단계 이후에,
    상기 분류된 개념유형과 유사한 문제를 단계별로 매칭하여 비교하고, 상기 개념유형에서 적용되어야 최적의 규칙을 가진 매칭 문제를 추출하는 단계;
    를 더 포함하고,
    상기 분류된 개념유형과 유사한 문제는, 개념단위인 스키마의 유사문제 집합분류 내에 포함된 모델 문제, 동치 문제, 동형 문제, 동의 문제, 교차 문제, 및 추리 문제를 포함하는 것인, 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법.
  6. 제 5 항에 있어서,
    상기 모델 문제는, 단위 개념별로 기계학습의 지도학습을 통하여 모델링된 후 셈뭉치로 구축한 문제이고,
    상기 동치 문제는, 형태와 의미가 동일한 동형-동의 문제로, 상기 모델 문제와 문제 맥락의 키워드가 같고 해결 절차도 동일한 문제이고,
    상기 동형 문제는, 형태는 동일하지만 의미는 다른 동형-이의 문제로, 상기 모델 문제와 문제 맥락의 키워드가 같으나 해결 절차가 다른 문제이고,
    상기 동의 문제는, 형태가 다르고 의미는 동일한 이형-동의 문제로, 상기 모델 문제와 문제 맥락의 키워드는 다르지만 해결 절차가 동일한 문제이고,
    상기 교차 문제는, 형태가 상반되고 의미도 다른 상반-이의 문제로, 상기 모델 문제와 문제 맥락의 키워드가 반대이고 해결 절차도 다른 문제이고,
    상기 추리 문제는, 형태와 의미가 모두 다른 이형-이의 문제로, 상기 모델 문제와 문제 맥락의 키워드가 다르고 해결 절차도 다른 문제인 것인, 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법.
  7. 제 1 항에 있어서,
    상기 신경망(Neural Networks) 기반 기계번역(Neural Machine Translation)을 이용하고, 기 설정된 계산제 패턴, 문장제 패턴 및 도해제 패턴 정의에 기반하여 구문패턴을 분석하여 상기 수학 문장제 문제의 개념유형을 분류(Classification)하는 단계 이후에,
    상기 분류된 개념유형에 기반하여 상기 수학 문장제 문제의 수식 및 풀이를 생성하고, 상기 풀이를 자연어 처리하여 해설을 생성하는 단계;
    를 더 포함하는 것인, 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법.
  8. 제 1 항에 있어서,
    상기 분리된 텍스트를 셈뭉치(Math Corpus)에 기반하여 형태소 분석 및 개체명 인식을 이용하여 분석하고, 상기 이미지를 객체 인식 및 의미 분석을 이용하여 분석하여 수학항을 추출하도록 수식화 번역을 수행하는 단계는,
    상기 분리된 텍스트를 형태소 분석 및 개체명을 인식하여 소유격, 대상격, 상황격, 및 수량격으로 나누는 의미 파악 단계;
    상기 분리된 텍스트 중 키워드를 키워드 수학 번역을 이용하여 어휘, 숫자, 수식 및 기호를 용어/기호 개념 단위 미지항, 상수항, 수식 및 연산자로 각각 매칭하여 구문 분석을 수학 번역으로 변환하는 단계;
    상기 이미지 중 키심볼을 키심볼 수학 번역을 이용하여 셈틀, 도형, 교구, 기호, 표, 및 그림을, 셈틀, 형태/의미, 상수항, 의미, 형태/의미, 및 의미로 각각 번역하고, 랜더링이 가능한 포맷으로 변환하여 구문 분석을 수학 번역으로 변환하는 단계;
    를 포함하는 것인, 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법.
  9. 제 8 항에 있어서,
    상기 분리된 텍스트를 형태소 분석 및 개체명을 인식하여 소유격, 대상격, 상황격, 및 수량격으로 나누는 의미 파악 단계는,
    인물, 지역, 기관, 인공물, 및 문명에 대한 개체명은 소유격으로 의미파악하는 단계;
    동물, 식물, 상기 의미파악에서 파악된 인공물을 제외한 악기, 무기, 및 교통수단을 포함하는 인공물, 문명, 물질, 및 색상모양형태에 대한 용어는 대상격으로 파악하는 단계;
    일반명사를 포함하는 날짜, 시간 및 방향에 대한 용어는 상황격으로 파악하는 단계; 및
    단위명사를 포함하는 날짜, 시간 및 수량에 대한 용어는 수량격으로 파악하는 단계;
    를 포함하는 것인, 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법.
  10. 제 1 항, 제 3 항 내지 제 9 항 중 어느 한 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
KR1020190035243A 2019-03-27 2019-03-27 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법 KR101986721B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190035243A KR101986721B1 (ko) 2019-03-27 2019-03-27 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법
JP2019173914A JP6845486B2 (ja) 2019-03-27 2019-09-25 神経網基盤機械翻訳およびマスコーパス(Math Corpus)を利用した数学問題概念類型予測サービス提供方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190035243A KR101986721B1 (ko) 2019-03-27 2019-03-27 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법

Publications (1)

Publication Number Publication Date
KR101986721B1 true KR101986721B1 (ko) 2019-06-10

Family

ID=66848475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190035243A KR101986721B1 (ko) 2019-03-27 2019-03-27 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법

Country Status (2)

Country Link
JP (1) JP6845486B2 (ko)
KR (1) KR101986721B1 (ko)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111259632A (zh) * 2020-02-10 2020-06-09 暗物智能科技(广州)有限公司 一种基于语义对齐的树结构数学应用题求解方法及系统
KR102129704B1 (ko) * 2019-11-01 2020-07-02 주식회사 보인정보기술 문항 자동 생성 방법 및 시스템
WO2021040105A1 (ko) * 2019-08-30 2021-03-04 엘지전자 주식회사 개체명 테이블을 생성하는 인공 지능 장치 및 그 방법
CN112949410A (zh) * 2021-02-05 2021-06-11 华中师范大学 人工智能理科文字题解题方法、装置、设备及存储介质
KR102265573B1 (ko) * 2020-09-29 2021-06-16 주식회사 팀기원매스 인공지능 기반 입시 수학 학습 커리큘럼 재구성 방법 및 시스템
KR20210102054A (ko) 2020-02-03 2021-08-19 주식회사 에스티유니타스 학습을 지원하기 위한 장치, 방법 및 명령을 기록한 기록 매체
WO2021211145A1 (en) * 2020-04-15 2021-10-21 Intuit Inc. Mapping natural language utterances to operations over a knowledge graph
CN114756682A (zh) * 2022-04-28 2022-07-15 华中师范大学 一种数学文本的语义分类方法
KR102476499B1 (ko) * 2021-11-18 2022-12-12 주식회사 티맥스에이아이 유사 컨텐츠 제공 기법
KR20230017423A (ko) 2021-07-28 2023-02-06 엔에이치엔클라우드 주식회사 유사문제 제공 방법 및 그 시스템
KR20230106283A (ko) 2022-01-06 2023-07-13 서강대학교산학협력단 신경망을 이용한 수학 문제 풀이 시스템 및 수학 문제 풀이 방법
CN116680502A (zh) * 2023-08-02 2023-09-01 中国科学技术大学 数学应用题智能求解方法、系统、设备及存储介质
KR20230132205A (ko) 2022-03-08 2023-09-15 주식회사 에이치아이컨설팅 인공지능 모델을 이용한 자기진단장치(obd) 문서 번역 시스템 및 그 구동방법
KR20230166853A (ko) 2022-05-30 2023-12-07 서울대학교산학협력단 인간의 전략을 인공신경망에 적용한 문장형 대수 문제 풀이 방법 및 장치
CN117521812A (zh) * 2023-11-20 2024-02-06 华中师范大学 基于变分知识蒸馏的算术文字题自动解答方法及系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112949421B (zh) * 2021-02-05 2023-07-25 华中师范大学 人工智能理科图文题解题方法、装置、设备及存储介质
CN113095045B (zh) * 2021-04-20 2023-11-10 河海大学 一种基于逆向操作的中文数学应用题数据增强方法
CN113435216B (zh) * 2021-06-24 2023-06-23 湖南大学 神经网络机器翻译模型训练方法、机器翻译方法和装置
CN114120349B (zh) * 2022-01-10 2022-05-03 深圳市菁优智慧教育股份有限公司 基于深度学习的试卷识别方法及系统
CN117033847B (zh) * 2023-07-20 2024-04-19 华中师范大学 基于层次性递归树解码模型的数学应用题求解方法及系统
CN117473096B (zh) * 2023-12-28 2024-03-15 江西师范大学 一种融合latex标签的知识点标注方法及其模型

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130006889A (ko) * 2011-06-24 2013-01-18 한국과학기술원 문제의 개념 구조 모델링을 통한 학습 장치 및 방법
KR20150123654A (ko) * 2014-04-25 2015-11-04 주식회사 셈웨어 무작위 대수 방정식의 자동 생성 시스템
KR20180122926A (ko) * 2017-05-04 2018-11-14 주식회사 매스프레소 학습 서비스 제공 방법 및 그 장치
KR20180122927A (ko) * 2017-05-04 2018-11-14 주식회사 매스프레소 이미지에 포함된 텍스트 인식장치, 텍스트 인식방법 및 텍스트 인식방법을 실행하기 위한 프로그램을 기록한 기록매체

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040090439A1 (en) * 2002-11-07 2004-05-13 Holger Dillner Recognition and interpretation of graphical and diagrammatic representations
CN103299292B (zh) * 2010-12-02 2016-01-20 Sk电信有限公司 用于处理自然语言和数学公式的方法及其设备
CN103250149B (zh) * 2010-12-07 2015-11-25 Sk电信有限公司 用于从数学语句提取语义距离并且按照语义距离对数学语句分类的方法和用于该方法的装置
JP6155565B2 (ja) * 2012-06-29 2017-07-05 カシオ計算機株式会社 学習支援装置、学習支援プログラム及び学習支援方法
JP5929657B2 (ja) * 2012-09-14 2016-06-08 カシオ計算機株式会社 学習支援装置及び学習支援プログラム
JP5538511B2 (ja) * 2012-11-20 2014-07-02 株式会社 スプリックス 学習支援システム、学習支援サーバ、学習支援方法、及び学習支援プログラム
US9082309B1 (en) * 2013-03-15 2015-07-14 Querium Corporation Dynamic question template system and architecture
US9460075B2 (en) * 2014-06-17 2016-10-04 International Business Machines Corporation Solving and answering arithmetic and algebraic problems using natural language processing
JP2016028346A (ja) * 2015-09-30 2016-02-25 洋彰 宮崎 自己組織的に処理能力を拡大する人工知能装置
US11128579B2 (en) * 2016-09-29 2021-09-21 Admithub Pbc Systems and processes for operating and training a text-based chatbot
CN107168949A (zh) * 2017-04-24 2017-09-15 成都准星云学科技有限公司 基于实体组合的数学自然语言处理实现方法、系统
CN107153640A (zh) * 2017-05-08 2017-09-12 成都准星云学科技有限公司 一种面向初等数学领域的分词方法
CN108228568B (zh) * 2018-01-24 2021-06-04 上海互教教育科技有限公司 一种数学题目语义理解方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130006889A (ko) * 2011-06-24 2013-01-18 한국과학기술원 문제의 개념 구조 모델링을 통한 학습 장치 및 방법
KR20150123654A (ko) * 2014-04-25 2015-11-04 주식회사 셈웨어 무작위 대수 방정식의 자동 생성 시스템
KR20180122926A (ko) * 2017-05-04 2018-11-14 주식회사 매스프레소 학습 서비스 제공 방법 및 그 장치
KR20180122927A (ko) * 2017-05-04 2018-11-14 주식회사 매스프레소 이미지에 포함된 텍스트 인식장치, 텍스트 인식방법 및 텍스트 인식방법을 실행하기 위한 프로그램을 기록한 기록매체

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Amazon Web Services 한국 블로그, aws.amazon.com, 인공지능 스타트업 소개-매스프레소 (20180509) 1부. *
Mathpresso 홈페이지, AI 기술 기반의 풀이 검색 플랫폼 콴다(QanD) 소개, mathpresso.com *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021040105A1 (ko) * 2019-08-30 2021-03-04 엘지전자 주식회사 개체명 테이블을 생성하는 인공 지능 장치 및 그 방법
KR102129704B1 (ko) * 2019-11-01 2020-07-02 주식회사 보인정보기술 문항 자동 생성 방법 및 시스템
KR102506638B1 (ko) * 2020-02-03 2023-03-03 뤼이드 랩스 인크 학습을 지원하기 위한 장치, 방법 및 명령을 기록한 기록 매체
KR20210102054A (ko) 2020-02-03 2021-08-19 주식회사 에스티유니타스 학습을 지원하기 위한 장치, 방법 및 명령을 기록한 기록 매체
CN111259632A (zh) * 2020-02-10 2020-06-09 暗物智能科技(广州)有限公司 一种基于语义对齐的树结构数学应用题求解方法及系统
CN111259632B (zh) * 2020-02-10 2023-04-11 暗物智能科技(广州)有限公司 一种基于语义对齐的树结构数学应用题求解方法及系统
US11861308B2 (en) 2020-04-15 2024-01-02 Intuit Inc. Mapping natural language utterances to operations over a knowledge graph
WO2021211145A1 (en) * 2020-04-15 2021-10-21 Intuit Inc. Mapping natural language utterances to operations over a knowledge graph
KR102265573B1 (ko) * 2020-09-29 2021-06-16 주식회사 팀기원매스 인공지능 기반 입시 수학 학습 커리큘럼 재구성 방법 및 시스템
CN112949410A (zh) * 2021-02-05 2021-06-11 华中师范大学 人工智能理科文字题解题方法、装置、设备及存储介质
CN112949410B (zh) * 2021-02-05 2024-01-16 华中师范大学 人工智能理科文字题解题方法、装置、设备及存储介质
KR20230017423A (ko) 2021-07-28 2023-02-06 엔에이치엔클라우드 주식회사 유사문제 제공 방법 및 그 시스템
KR102476499B1 (ko) * 2021-11-18 2022-12-12 주식회사 티맥스에이아이 유사 컨텐츠 제공 기법
KR20230106283A (ko) 2022-01-06 2023-07-13 서강대학교산학협력단 신경망을 이용한 수학 문제 풀이 시스템 및 수학 문제 풀이 방법
KR20230132205A (ko) 2022-03-08 2023-09-15 주식회사 에이치아이컨설팅 인공지능 모델을 이용한 자기진단장치(obd) 문서 번역 시스템 및 그 구동방법
CN114756682A (zh) * 2022-04-28 2022-07-15 华中师范大学 一种数学文本的语义分类方法
KR20230166853A (ko) 2022-05-30 2023-12-07 서울대학교산학협력단 인간의 전략을 인공신경망에 적용한 문장형 대수 문제 풀이 방법 및 장치
CN116680502B (zh) * 2023-08-02 2023-11-28 中国科学技术大学 数学应用题智能求解方法、系统、设备及存储介质
CN116680502A (zh) * 2023-08-02 2023-09-01 中国科学技术大学 数学应用题智能求解方法、系统、设备及存储介质
CN117521812A (zh) * 2023-11-20 2024-02-06 华中师范大学 基于变分知识蒸馏的算术文字题自动解答方法及系统
CN117521812B (zh) * 2023-11-20 2024-06-07 华中师范大学 基于变分知识蒸馏的算术文字题自动解答方法及系统

Also Published As

Publication number Publication date
JP6845486B2 (ja) 2021-03-17
JP2020161111A (ja) 2020-10-01

Similar Documents

Publication Publication Date Title
KR101986721B1 (ko) 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법
US11501182B2 (en) Method and apparatus for generating model
Tahsin Mayeesha et al. Deep learning based question answering system in Bengali
CN113127624B (zh) 问答模型的训练方法及装置
CN111782769B (zh) 基于关系预测的知识图谱智能问答方法
CN112100332A (zh) 词嵌入表示学习方法及装置、文本召回方法及装置
Tyagi et al. Demystifying the role of natural language processing (NLP) in smart city applications: background, motivation, recent advances, and future research directions
CN115438674B (zh) 实体数据处理、实体链接方法、装置和计算机设备
CN116258137A (zh) 文本纠错方法、装置、设备和存储介质
Kumar et al. An abstractive text summarization technique using transformer model with self-attention mechanism
Li et al. Using context information to enhance simple question answering
Zhang Application of intelligent grammar error correction system following deep learning algorithm in English teaching
Da et al. Deep learning based dual encoder retrieval model for citation recommendation
Vu et al. Abstract meaning representation for legal documents: an empirical research on a human-annotated dataset
KR102198780B1 (ko) 상호연관성 기반 전문분야에 특화된 인터넷 검색 서비스 제공 방법
Abdulwahab et al. Deep Learning Models for Paraphrases Identification
Xu Multi-region English translation synchronization mechanism driven by big data
CN113011141A (zh) 佛经注解模型训练方法、佛经注解生成方法及相关设备
CN111259650A (zh) 基于类标序列生成式对抗模型的文本自动生成方法
US11995394B1 (en) Language-guided document editing
Wu et al. Unify the Usage of Lexicon in Chinese Named Entity Recognition
Kalajdjieski et al. Recent Advances in SQL Query Generation: A Survey
Ma Research on Computer Intelligent Proofreading System for English Translation Based on Deep Learning
Melese Attention-based Neural Machine Translation from English-Wolaytta
Wang et al. Towards Nested and Fine-Grained Open Information Extraction

Legal Events

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