KR101842873B1 - 수학번역기, 수학번역 디바이스 및 플랫폼 - Google Patents

수학번역기, 수학번역 디바이스 및 플랫폼 Download PDF

Info

Publication number
KR101842873B1
KR101842873B1 KR1020160125885A KR20160125885A KR101842873B1 KR 101842873 B1 KR101842873 B1 KR 101842873B1 KR 1020160125885 A KR1020160125885 A KR 1020160125885A KR 20160125885 A KR20160125885 A KR 20160125885A KR 101842873 B1 KR101842873 B1 KR 101842873B1
Authority
KR
South Korea
Prior art keywords
mathematical
operator
meaning
translation
argument
Prior art date
Application number
KR1020160125885A
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 KR1020160125885A priority Critical patent/KR101842873B1/ko
Priority to US15/717,905 priority patent/US10552545B2/en
Priority to CN201710891171.1A priority patent/CN107885703A/zh
Application granted granted Critical
Publication of KR101842873B1 publication Critical patent/KR101842873B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B23/00Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
    • G09B23/02Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for mathematics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0023Colour matching, recognition, analysis, mixture or the like
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • G09B5/065Combinations of audio and video presentations, e.g. videotapes, videodiscs, television systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Educational Technology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Educational Administration (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Machine Translation (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 발명은 수학번역기, 수학번역 디바이스 및 플랫폼에 관한 것으로, 특정 수학적 표현이 입력되면 해당 수학식의 의미를 자연어로 해석해 주어, 수학적인 의미를 자연어로 풀어 설명해 줌으로써, 자연적으로 수학의 원리를 이해할 수 있도록 하는 수학번역기, 수학번역 디바이스 및 수학번역 플랫폼에 관한 것이다.

Description

수학번역기, 수학번역 디바이스 및 플랫폼{A MATHEMATICAL TRANSLATOR, MATHEMATICAL TRANSLATION DEVICE AND ITS PLATFORM}
본 발명은 수학번역기, 수학번역 디바이스 및 플랫폼에 관한 것으로, 특정 수학적 표현이 입력되면 해당 수학식의 의미를 자연어로 해석해 주어, 수학적인 의미를 자연어로 풀어서 설명해 줌으로써, 사용자로 하여금 수학의 원리를 자연적으로 이해하고 말로 표현할 수 있도록 하는 수학번역기, 수학번역 디바이스 및 수학번역 플랫폼에 관한 것이다.
보통 한 사람이 초등학교, 중학교, 고등학교를 거쳐 대학을 졸업할 때까지 수학을 공부하고 수학을 이용하여 문제를 해결하는데 수많은 시간을 소비하지만 정작 각 수학 연산자가 의미하는 바를 정확하게 파악하기보다, 수학 연산자를 단순히 암기하여 적용하는 경우가 대부분이어서, 수학공부를 한 시간이 좀 지나면 암기했던 것을 잊어버리게 되고, 결국 일상생활에서 그동안 장시간을 투자하여 공부하고 습득하였지만 활용하지도 못한 채 사장되는 경우가 대부분이다.
따라서 대부분의 사람들이 수학에 투자한 시간에 비해서 수학을 활용하는 능력은 낮은 수준에 머물러 있으며, 이로 인해 수학을 공부했던 수많은 시간이 허송세월이 되고 만다. 또한 수학을 제법 잘 이해하고 공부한 사람들도 일정시간이 지나고 나면 수학에 대한 기초적인 지식마저도 기억에서 사라져, 급기야 수학교육에 대한 실효성에 의문이 드는 경우가 많다. 이러한 현상은 수학을 너무 어렵게 공부하였고, 이를 실생활에서 활용하지 않음으로 인해서 실제 생활과 수학에 너무 큰 괴리가 있어서 생기는 현상이다.
수학을 공부하고자 하는 학생이 수학의 연산자에 대한 정확한 의미를 알지 못하고 단순히 암기하여 수학공부를 시작하거나 접근할 때, 수학공부는 금방 지루해지고 어렵게 느껴질 것이다. 따라서 수학을 공부한다는 것이 아니라 수학을 일종의 언어를 습득하는 것과 마찬가지로 접근할 필요가 있다. 즉, 학생들끼리 수학적인 원리에 대해서 대화를 통해 소통한다거나 일상생활이나 수학 또는 과학의 원리에 대해서 대화를 나눌 때 수학의 원리를 마치 스포츠에 대한 일상대화와 유사하게 서로 의견을 교환할 수 있다면 기존의 학습방식에 비해서 훨씬 학습효과가 뛰어나고, 해당 지식을 습득한 후에 활용도도 높고 오랫동안 지속될 것이다.
이에 본 발명에서는 수학을 자연어로 해석하여 우리가 일상생활에서 서로 대화하는 것과 같은 일종의 언어로서 받아들일 수 있도록 하는 기술을 제시하고자 한다. 다시 말해서 수학을 복잡한 계산과 고도의 지적 수준을 요하는 것이 아닌 일상생활의 대화를 위한 자연어의 수준에서 해설하고 설명할 수 있도록 특정 수학연산자를 포함한 수학적 표현이 자연어로 설명될 수 있도록 하는 수학번역기를 제공하고자 한다.
우선 수학연산자를 포함한 수학식에 대한 번역도구와 관련하여 국내외에서 본 발명의 출원전에 공지된 선행기술에 대해서 검토해 보고자 한다.
미국특허 제7,373,291호(2008.03.13.)는 수학적인 표현의 인식기를 위한 언어학적 지원에 관한 것으로, 수학적인 인식의 정확도를 향상시키기 위한 새로운 정보의 근원, 언어학적 모델을 제시한다. 특히 본 선행기술은 언어학적 모델을 수학적인 도메인으로 확장하는 것으로, 자연어 인식과 연관된 방법으로 수학의 인공언어를 인지하는 방법을 제시한다. 따라서 본 선행기술은 패턴인식, 특히 수학적인 표현의 인식에 관한 것이다.
반면에 본 발명은 수학적인 표현을 단순히 인식하는 것이 아니라 수학적인 표현의 의미를 자연어로 번역해서 사용자가 듣기만 하여도 해당 수학적인 표현의 의미를 이해할 수 있도록 하는 것이다. 즉, 본 발명은 수학식을 인식하는 것을 기본 기능으로 하고, 수학적인 표현에 사용된 연산자의 의미를 자연어로 표현하여 해당 수학적인 표현이 의미하는 바를 해석하여 제공하는 것이다.
또한 미국공개특허 제2015-0363390호(2015.12.17.)는 자연어처리를 통한 산술 및 대수적인 문제를 해결하고 응답하는 방법에 관한 것으로, 산술 또는 대수적 문제와 연관된 입력문을 수신하여 입력문과 연관된 복수의 문장 안에 있는 각각의 문장이 수학적 관점에서 적격인 문장인지 결정하며, 각각의 적격인 문장을 방정식을 형성하기 위한 수학적 방정식으로 변환하며, 수학적 결과를 자연어로 나레이션하는 것을 포함한다.
상기 선행기술은 산술 및 대수적인 문제를 풀이하고 그 결과를 나레이션하여 출력하는 것을 포함하고 있으나, 본원 발명은 수학의 연산자가 의미하는 바를 자연어로 번역하여 사용자가 제공한 수식이 의미하는 바를 자연어로 번역하여 제공하는 것을 특징으로 한다. 즉 본 발명은 수학적인 방정식을 풀이하여 그 결과를 제공하는 것이 아니라, 수학적인 연산자를 포함한 수학적 표현을 입력받아 이것의 수학적 의미를 자연어로 출력하는 것이므로 양자는 목적, 구성, 효과에 있어서 차이가 있다.
이상에서 살펴본 바와 같이, 본 발명의 출원전에 공지된 대부분의 선행기술은 수학적인 문제를 풀이하여 그 결과를 제공하는 것을 목적으로 하고, 본 발명은 수학적인 해답을 출력하는 것이 아니라 입력되는 수학적인 표현의 의미를 자연어로 풀이하여 설명함으로써, 사용자가 해당 수식이 의미하는 바를 언어적인 수단으로 직관적으로 설명할 수 있는 능력을 배양하는 것을 목적으로 한다.
이러한 목적을 달성하기 위해서 본 발명은 입력되는 수학적인 표현을 인식하는 과정과 인식된 수학적인 표현을 자연어로 번역하며, 번역한 결과를 음성이나 텍스트로 출력함으로써, 사용자가 보다 직관적으로 해당 수학적인 표현의 의미를 깨닫고 이를 언어적으로 설명할 수 있는 능력을 기를 수 있도록 하고자 한다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 수학적 표현에 대한 의미를 자연어로 해석하여 출력함으로써 사용자가 수학 연산자나 기호를 자연어로 표현할 수 있도록 하는 것을 목적으로 한다.
또한 본 발명은 수학 연산자나 기호로 구성되는 수학적 표현에 대한 의미를 자연어로 해석하여 텍스트나 음성 또는 이미지로 출력함으로써 사용자가 수학 연산자나 기호를 직관적으로 이해할 수 있도록 하는 것을 목적으로 한다.
또한 본 발명은 수학 연산자나 기호에 대한 의미를 데이터베이스 테이블로 구비하여 어떠한 수학적 표현이 입력되더라도 대응하는 자연어로 된 번역문을 출력할 수 있는 수학번역기를 제공하는 것을 그 목적으로 한다.
또한 본 발명은 다양한 수학 연산자와 기호에 대한 의미와 상기 수학 연산자와 기호가 사용되는 쓰임에 따라 변화되는 의미를 자연어로 표현하고 이에 대한 정보를 데이터베이스로 구축하여 제공하는 것을 목적으로 한다.
또한 본 발명은 사용자가 수학적 표현을 입력하면 해당하는 수학적 표현의 의미를 번역한 번역문을 출력하는 어플리케이션 프로그램, 상기 어플리케이션 프로그램을 실행하는 디바이스, 학습도구, 게임도구 또는 콘텐츠를 제공하는 것을 목적으로 한다.
본 발명의 일 실시예에 따른 수학번역기는 수학식을 포함하는 문장이나 이미지로부터 연산자와 인자를 인식하며, 상기 인식한 연산자와 인자를 포함한 수학식에 대한 의미를 번역하여 출력하는 것을 포함하며, 상기 인자와 연산자의 관계를 자연어로 번역하여 출력함으로써, 상기 수학식의 번역문을 제공하는 것을 특징으로 한다.
또한 상기 수학번역기는 입력된 수학식을 이미지로부터 인식하거나 편집기로부터 인식하며, 상기 인식한 수학식으로부터 인자와 연산자를 추출하여, 상기 인자와 연산자의 배열을 토대로 수학식의 의미를 해석하는 것을 특징으로 한다.
또한 상기 수학번역기는 수학식의 구성을 인식하여 데이터구조를 생성하거나 미리 지정된 데이터구조를 인식하며, 상기 생성하거나 인식한 데이터구조는 적어도 하나 이상의 인자 필드, 적어도 하나 이상의 연산자 필드 및 상기 연산자 필드에 해당하는 의미 필드를 구비하는 것을 특징으로 한다.
상기 수학번역기는 상기 생성하거나 인식한 데이터구조에서 연산자의 의미를 수학연산자 라이브러리 데이터베이스로부터 추출하여, 상기 추출한 의미를 상기 생성하거나 인식한 데이터구조의 의미 필드에 할당하여 번역한 데이터구조를 생성하는 것을 특징으로 한다.
또한 상기 수학번역기는 상기 번역한 데이터구조를 토대로 번역문을 구성하며, 상기 구성한 번역문을 토대로 음향, 이미지, 텍스트 또는 이들의 조합을 포함한 형식으로 번역문을 표현하여 출력하는 것을 특징으로 한다.
아울러 본 발명의 또 다른 일 실시예에 따른 수학번역 플랫폼은 수학식을 포함하는 문장이나 이미지로부터 연산자와 인자를 인식하며, 상기 인식한 연산자와 인자를 포함한 수학식에 대한 의미를 자연어로 번역하여 출력하는 것을 포함하며, 어플리케이션 프로그램 인터페이스를 통해 수학번역 서비스 프로그램을 개발하도록 개발환경을 제공하는 것을 특징으로 한다.
아울러 본 발명의 또 다른 일 실시예에 따른 수학번역 방법은 수학식을 포함하는 문장이나 이미지로부터 연산자와 인자를 인식하는 단계, 상기 인식한 수학연산자와 인자를 포함한 수학식에 대한 의미를 자연어로 번역하는 단계 및 상기 자연어로 번역한 결과를 사용자인터페이스를 통해서 출력하는 단계를 포함하며, 상기 인자와 연산자의 관계를 자연어로 번역하여 출력함으로써, 상기 수학식의 번역문을 제공하는 것을 특징으로 한다.
아울러 본 발명의 또 다른 일 실시예에 따른 수학번역 플랫폼 제공 방법은 수학식을 포함하는 문장이나 이미지로부터 연산자와 인자를 인식하는 단계, 상기 인식한 연산자와 인자를 포함한 수학식에 대한 의미를 자연어로 번역하는 단계 및 상기 자연어로 번역한 결과를 사용자인터페이스를 통해서 출력하는 단계를 포함하며, 어플리케이션 프로그램 인터페이스를 통해 수학번역 서비스 프로그램을 개발하도록 개발환경을 제공하는 것을 특징으로 한다.
본 발명은 수학번역기, 수학번역 디바이스 및 플랫폼에 관한 것으로, 특정 수학적 표현이 입력되면 해당 수학식의 의미를 자연어로 해석해 주어, 수학적인 의미를 자연어로 풀어 설명해 줌으로써, 수학 연산자나 기호로 구성되는 수학적 표현에 대한 의미를 자연어로 해석하여 텍스트나 음성 또는 이미지로 출력함으로써 사용자가 수학 연산자나 기호를 직관적으로 이해할 수 있도록 하는 효과가 있다.
또한 본 발명은 다양한 수학 연산자와 기호에 대한 의미와 상기 수학 연산자와 기호가 사용되는 쓰임에 따라 변화되는 의미를 자연어로 나타낸 데이터베이스를 구축하고, 수학번역기와 상기 데이터베이스를 액세스하는 플랫폼을 제공하여, 수학번역기를 포함하는 어플리케이션 프로그램을 개발하여 다양한 교육콘텐츠나 게임콘텐츠를 개발할 수 있도록 하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 수학번역기를 구비한 수학번역 플랫폼과 수학번역 디바이스가 통신망에 연결되어 서비스를 제공하는 예를 도시한 예시도이다.
도 2는 본 발명의 일 실시예에 따른 수학번역기를 구비한 수학번역 플랫폼과 수학번역 디바이스의 내부구조를 나타내는 구성도이다.
도 3은 본 발명의 일 실시예에 따른 수학번역기를 구비한 수학번역 플랫폼에서 수학번역 서비스를 제공하는 소프트웨어 단계를 계층적으로 도시한 예시도이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 수학번역기의 내부 구조를 나타낸 블록도이다.
도 6은 본 발명의 일 실시예에 따른 수학번역기에서 데이터구조를 통해 수학식을 인식하고 수학식을 번역하는 과정을 나타낸 개략도이다.
도 7은 본 발명의 일 실시예에 따른 수학번역기에서 사용하는 수학연산자와 이에 해당하는 자연어 및 이들을 이용한 번역문의 예를 도시한 것이다.
도 8은 본 발명의 일 실시예에 따른 수학번역기의 동작 흐름도이다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 또한 본 발명의 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
도 1은 본 발명의 일 실시예에 따른 수학번역기를 구비한 수학번역 플랫폼과 수학번역 디바이스가 통신망에 연결되어 서비스를 제공하는 예를 도시한 예시도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 수학번역기를 이용한 수학번역 플랫폼(10)과 수학번역 디바이스(100)는 통신망을 통해서 서로 접속가능하다. 또한 수학사전(라이브러리)에는 다양한 수학연산자와 각 연산자가 의미하는 의미, 번역규칙(룰), 그리고 이들 간의 매핑 테이블이 저장되어 있다.
본 발명에서 수학연산자라는 용어는 수학용어나 연산자 등과 같은 의미로 사용될 수 있다.
수학번역 플랫폼(10)은 본 발명에 따른 수학번역기를 구비하고, 수학번역기를 이용하여 다양한 서비스를 제공할 수 있도록 어플리케이션 프로그램 인터페이스(API, Application Program Interface)를 제공하면, 각 서비스 개발자들이 상기 API를 이용하여 원하는 서비스를 개발할 수 있다. 말하자면 각 개발자는 예를 들어 수학교습용 앱을 개발할 수 있는데, 본 발명의 수학번역 플랫폼에서 제공하는 수학번역을 위한 API를 통해서 학습자의 레벨에 따라 수학교습용 자료나 프로그램을 편성할 수 있으며, 각 자료나 프로그램은 개발자의 아이디어에 따라 본 발명의 수학번역 플랫폼(10)에서 제공하는 API를 이용하여 구성하는 것이 가능하다.
수학번역 플랫폼(10)에서는 개발자의 정보와 학습자의 정보를 포함한 사용자정보를 포함하고 있으면서, 각 사용자의 통계적인 정보를 수집하여 제공하는 역할을 수행한다. 예를 들어 수학번역 플랫폼에서 제공되는 각 서비스에 대해서 사용자별 통계정보를 수집, 분석 및 제공하도록 한다. 특정 서비스 개발자가 자신이 개발한 프로그램을 사용하여 얼마의 기간 동안에 얼마나 많은 학습자에게 제공하였는지 통계정보를 제공함으로써, 다른 개발자와 학습자가 이를 이용하여 더 나은 서비스를 개발하거나 학습에 참고할 수 있도록 한다.
사용자정보는 학습프로그램 제공자와 학습자에 대한 시간적 변화추세를 파악할 수 있도록 학습자수, 특정 학습프로그램 제공자가 제공한 프로그램의 종류 및 스타일을 포함한 시간적(계절별, 월별, 시간대별 등), 공간적(어느 곳에서, 어떤 기관에서 이용하였는지 등), 사용자의 성향별(남녀, 직장인, 주부, 초중고대학생 등)로 사용자정보를 저장하고, 분석하여 그 결과를 네크워크상의 스토리지를 포함할 수 있다. 물론, 사용자정보를 저장하는 저장매체는 로컬 메모리, 착탈식, 네트워크, 클라우드상의 데이터베이스를 포함한다.
수학사전(라이브러리)은 먼저 수학연산자와 의미(자연어)를 저장하며, 수학연산자와 수학연산자 사이에 서로 관계가 있으면, 해당 관련성을 저장하고, 인자와 수학연산자 사이의 관계에 따라 정해지는 의미의 변화를 저장하며, 또한 수학연산자와 해당 수학연산자에 대한 자연어 의미의 매핑테이블을 포함하고 있다.
수학번역기는 수학번역 플랫폼(10)이나 수학번역 디바이스(100)에 독립적으로 구비될 수 있으며, 유무선 디바이스와 태블릿 등의 단말에 구비된 수학번역기는 수학번역 플랫폼으로 수학적 표현을 전달하고 그 결과를 제공받아 디스플레이만 할 수도 있다. 따라서 수학번역 디바이스는 자체적으로 수학번역기를 구비하고 있을 수도 있으나, 네트워크를 통해서 수학번역 플랫폼에 접속하여 수학번역기의 기능을 의뢰하고 그 결과를 제공 받을 수도 있다. 아울러 수학번역 플랫폼(10)이나 수학번역 디바이스(100)는 자체적으로 수학사전을 구비하고 있을 수도 있지만, 네트워크의 클라우드상에 수학사전을 두고 이에 접속하여 필요한 정보를 가져오거나 전달하여 저장할 수도 있다.
도 2는 본 발명의 일 실시예에 따른 수학번역기를 구비한 수학번역 플랫폼과 수학번역 디바이스의 내부구조를 나타내는 구성도이다.
도 2에 도시된 바와 같이, 수학번역 플랫폼(10)이나 수학번역 디바이스(100)는 수학번역기를 엔진으로 구비하고 있으면서, 네트워크, 입출력, 저장인터페이스를 구비하도록 구성된다.
네트워크인터페이스(140)는 수학번역 플랫폼(10)이나 수학번역 디바이스(100)가 네트워크에 접속하기 위해서 필요한 다양한 종류의 유무선 네트워크인터페이스를 말한다. 따라서 상기 유무선 네트워크인터페이스를 통해서 수학번역기의 특정 기능을 네트워크상의 다른 디바이스나 플랫폼 서버에 구현하여도 무방하다.
입력인터페이스(110)는 수학적 표현을 읽어들이는 인터페이스를 말하는 것으로, 이미지, 텍스트 입력을 비롯하여 음성이나 제스처를 통한 입력도 가능하며, 입력하는 방법에 대한 제한이 없다. 사용자는 기기를 통해서 자신이 원하는 수학적인 표현을 입력할 수 있으면 족하다. 일례로 텍스트로 특정 수학적 표현을 표현하여 입력하더라도 무방하다.
또한 출력인터페이스(130)는 입력한 수학적 표현을 번역하여 자연어로 출력하되, 텍스트, 이미지, 가시정보, 가청정보, 점자정보, 감각정보 등 그 한계가 없으며, 번역된 수학식을 출력할 수 있으면 족하다. 특히 시력에 핸디캡이 있는 사람은 청각으로 들을 수 있고, 청각에 핸디캡이 있으면 시각적인 정보를 출력할 수도 있다.
한편 저장인터페이스(120)는 수학연산자, 해당 수학연산자의 의미 등을 저장하고 있는 데이터베이스에 정보를 저장하거나 읽어와 사용하는 인터페이스이다. 데이터베이스는 HDD, SSD, USB 등이 될 수 있으며, 특히 네트워크 클라우드상에 존재하는 데이터베이스를 이용할 경우, 결국 네트워크인터페이스를 통해서 해당 데이터베이스에 액세스하게 된다.
수학번역 플랫폼(10)은 수학번역기(200)를 이용하여 서비스 개발자가 원하는 서비스를 개발하도록 하고, 다시 개발한 서비스를 사용자에게 제공하여 수익을 창출할 수 있도록 하는 플랫폼이다. 반면에 수학번역 디바이스(100)는 PC, 태블릿, 모바일 단말기 등에 수학번역기(200) 앱을 설치하고, 해당 앱을 실행하여 수학번역기를 작동함으로써, 사용자가 수학학습을 하거나 교습을 할 수 있는 디바이스를 말한다. 또한 수학번역 디바이스(100)는 수학번역 플랫폼(10)으로부터 앱을 수학번역기를 이용한 다양한 앱을 다운로드받아 실행함으로써, 수학번역기를 활용하는 사용자단말기를 이용한 디바이스를 말한다. 아울러 특정 사용자단말기에 수학번역 플랫폼(10)의 역할을 수행하는 소프트웨어를 설치하여 운영하면 수학번역 플랫폼(10)이 될 수 있다.
도 3은 본 발명의 일 실시예에 따른 수학번역기를 구비한 수학번역 플랫폼에서 수학번역 서비스를 제공하는 소프트웨어 단계를 계층적으로 도시한 예시도이다.
도 3에 도시한 바와 같이, 수학번역 플랫폼(10)은 입력되는 수학적 표현에 서 추출한 (수학)연산자, 인자 또는 이들의 조합의 의미에 대한 매핑 테이블을 액세스하여 각 수학번역 쿼리에 대해서 수학번역 라이브러리를 구동하여 인자와 수학연산자를 포함한 수학적 표현에 대한 번역을 수행하고, 복수의 라이브러리를 API를 통해서 실행한 결과를 이용하여 수학번역 서비스 프로그램을 작동하도록 하는 것이다.
다양한 수학번역 서비스 프로그램에 따라 복수의 디바이스로부터 요청된 수학번역은 병렬로 처리되며, 처리결과를 실시간으로 제공한다. 이를 위해서 원격 디바이스에서는 본 발명에 따른 수학번역 플랫폼과 REST(Representational state transfer) 아키텍처를 통해서 인터페이스 한다. 즉, 웹상의 자료를 세션트래킹 같은 별도의 전송계층 없이 전송하는 인터페이스를 제공한다. 수학번역 플랫폼과 개별 수학번역 디바이스는 클라이언트-서버 구조에서 클라이언트가 서버로부터 유니폼 인터페이스로 분리되어 있다. 따라서 유니폼 인터페이스는 서버와 클라이언트가 독립적으로 진화할 수 있도록 하여, 서버-클라이언트 구조를 간략화하고 서로 분리하는 역할을 한다.
이하에서는 도 4와 도 5를 참고하여 수학번역기(200)에 대해서 2가지 유형으로 구분하여 기술하기로 한다.
도 4와 도 5는 본 발명의 일 실시예에 따른 수학번역기의 내부 구조를 나타낸 블록도이다.
도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 수학번역기(200)는 입력된 수학적 표현으로부터 수식을 인식하는 수학식인식부(210), 상기 인식한 수식으로부터 인자와 연산자를 구분하여 추출하는 인자추출부/연산자추출부(220), 상기 추출한 인자와 연산자의 배열로부터 의미를 해석하는 의미해석부(230), 상기 추출한 연산자에 대한 의미를 추출하는 의미추출부(240), 상기 해석한 의미에 따라 상기 추출한 연산자에 대한 의미를 대입하여 번역문을 구성하는 번역문구성부(250) 및 상기 구성한 번역문을 사용자의 요구에 따라 출력하는 번역문출력부(260)를 포함한다.
상기 수학식인식부(210)는 입력된 수학적 표현으로부터 수학식을 인식하는 것으로, 입력된 수학적 표현이 이미지나 텍스트로 된 문장에 포함되어 있을 수 있으므로, 상기 이미지나 문장에서 수학적 표현을 인식하여 추출하여야 한다. 이를 위해서 문자인식 프로그램을 포함하거나 문장에서 수학적인 표현만을 추출하는 프로그램을 포함하여야 한다. 이러한 프로그램은 수식의 연산자와 인자에 대한 패턴을 매칭하여 인식함으로써, 사용자가 입력한 수학적 표현을 자동으로 구분하여 입력으로 받아들일 수 있다.
상기 인자/연산자추출부(220)는 상기 인식하여 추출한 수식에 대해서 인자와 연산자를 구분하여 추출하는 역할을 한다. 인자와 연산자를 구분하는 것 이외에 인자와 연산자 간의 배열에 대한 정보를 인식하고 추출하는 것을 포함한다.
상기 의미해석부(230)는 상기 추출한 인자와 연산자의 배열을 토대로 해당 수식이 어떠한 의미를 가지는지 그 의미를 해석하는 역할을 한다. 즉, 인자와 연산자의 배열을 도출하여 해당 수식이 의미하는 바를 하나의 구문으로 이해할 수 있도록 해당하는 데이터구조에 대입하여 저장한다. 이때 특정 데이터구조는 연산자가 정해고, 앞뒤의 인자만 바뀌게 되어, 해당 연산자를 중심으로 인자를 부가하면 해당 수학식의 번역문이 도출되게 된다.
상기 의미추출부(240)는 상기 추출한 연산자를 이용하여 해당 연산자가 의미하는 바를 데이터베이스로부터 읽어오는 역할을 수행한다. 이때 특정 연산자는 앞뒤에 나오는 인자의 성격(첨자 또는 괄호)에 따라 다른 의미를 가질 수도 있으므로, 이를 감안하여 해당 연산가의 의미를 읽어 와야 한다.
상기 번역문구성부(250)는 상기 해석한 수학식의 의미에 따라 추출한 연산자의 의미를 대입하여 번역문을 구성하는 역할을 한다. 상기 데이터구조에서 연산자 대신에 연산자가 의미하는 자연어를 대입하여 하나의 문장으로 만드는 과정을 말한다.
상기 번역문표현부(260)는 상기 만들어진 번역문의 문장을 음성, 이미지, 점자, 텍스트, 등가의 다른 수식으로 치환하여 표현하는 역할을 한다. 번역문의 표현은 사용자의 요구에 따라 번역결과로 각 디바이스에서 출력된다.
본 발명의 일실시예에서 수학번역기(200)는 하나의 프로세서에서 적어도 하나 이상의 프로세스로 구현할 수 있으며, 이상에서 설명한 각 구성요소의 기능을 수행하면 된다. 그런데, 이미지나 문장에서 수학적 표현을 인식하기 위해서는 매우 복잡한 처리과정을 거쳐야 한다. 즉, 특정 수식에 대한 필기문자로부터 연산자를 추출하는 것은 이미지로부터 패턴을 인식하여 인식한 패턴이 어떠한 연산자의 모양을 가지는지 비교하여 추출해야 하므로, 복잡한 처리과정이 필요하다.
따라서 도 5에 도시된 바와 같이, 수학식편집부(210A)를 구비한 경우, 사용자가 수학식을 입력할 때 수학식편집기를 이용하여 수학식을 입력할 때, 해당 수학식에 사용한 연산자를 이미 알 고 있으므로, 별도의 수학식인식부가 필요하지 않고, 바로 수학식을 인식할 수 있다.
상기 수학식편집부(210A)는 별도의 편집기를 두고 수학식의 연산자를 입력할 수 있도록, 일반적인 문자편집기에 수학연산자를 선택하여 수학식을 구성하면, 해당 문자열에서 수학적 표현에 사용된 연산자의 ID를 저장하고 있다가, 별도의 인식과정을 두지 않고도 해당 ID와 연산자를 매칭하면 바로 연산자를 인식할 수 있다. 따라서 수학식편집부(210A)를 구비하고 있으면, 사용자가 용이하게 수학적 표현을 입력할 수 있고, 이로부터 더욱 더 용이하게 수학적 표현을 인식할 수 있으므로 유용하다. 다음으로 인자추출부/연산자추출부(220)의 기능은 상기 수학식편집부(210A)에서 입력된 수학식을 인자와 연산자를 직접적으로 추출할 수 있고, 이들의 배열을 통해서 수식의 의미를 해석할 수 있다. 이어서 수학적 표현의 의미를 해석하고, 연산자의 의미를 추출하여 수학식이 의미하는 바에 따라 자연어로 번역문을 구성하는 방법에 대해서 예를 들어 설명하고자 한다.
먼저, 연산자 log는 인자와의 관계에서 몇 승인지를 나타내는 것으로 번역할 수 있다. 예를 들어 log350의 경우, 먼저 수학식인식부(210)이나 수학식편집부(210A)는 입력되는 정보에서 log350을 판독하여 번역이 필요한 수식으로 인식한다. 여기서 다시 인자/연산자추출부(220)를 통해서 3과 50의 인자를 추출하고, 동시에 연산자추출부(220)에서는 연산자 log를 추출한다. 그 결과는 다시 의미해석부(230)에서 인자와 연산자의 배열을 토대로 log350라는 수식이 어떠한 의미를 가지는지 그 의미를 해석한다. 즉, 인자와 연산자의 배열을 도출하여 log350라는 수식이 의미하는 바를 하나의 구문으로 이해할 수 있도록 미리 정해진 특정 데이터구조에 대입하여 저장한다. 이때 특정 데이터구조는 연산자가 추출되어 인식되고, 뒤에 나오는 인자 3과 50을 인식하고 추출하여, 3은 밑이고, 50은 대수로 인식한다. 그리고 연산자에는 log가 인식되어, log연산자에 밑과 대수가 인자로 인식되는 경우에 해당하는 데이터구조에 대수(50), 밑(3) 및 연산자(log)를 할당한다.
도 6은 본 발명의 일 실시예에 따른 수학번역기에서 데이터구조를 통해 수학식을 인식하고 수학식을 번역하는 과정을 나타낸 개략도이다.
도 6에서 알 수 있듯이, 먼저 수학식이 인식되면 해당 수학식에 따라 데이터구조를 생성하거나 미리 지정된 데이터구조를 인식하고, 인자와 연산자를 할당한다. 상기 인식한 연산자를 토대로 연산자, 인자 또는 이들의 조합에 대한 의미를 추출한다. 추출한 연산자의 의미를 상기 생성하거나 인식한 데이터구조에 입력하여 번역된 데이터구조를 추출한다. 이러한 데이터구조를 이용하여 번역된 결과를 표현하여 출력할 수 있다.
본 발명에서는 데이터구조를 이용하여 기술적 특징을 설명하였으나, 실제 본 발명에서 주장하는 바와 동일한 입출력 조건을 갖추었다면, 데이터구조이외에도 다른 방법을 사용하여 수학식을 인식하고 번역할 수 있다. 그러나 상기 입출력 조건만 동일하다면 본 발명의 기술적 보호범위에 속하게 되는 것은 당연한 이치이다.
여기서 상기 데이터구조는 각 연산자마다 하나의 데이터구조에 대한 프레임을 가지는 것으로 정의할 수 있고, 각 프레임은 적어도 하나 이상의 필드를 구비하고 있으며, 상기 연산자에 따라 하나의 데이터구조를 가지고 있으며, 연산자나 인자에 대한 정보는 수학식 번역을 위해서 필요하게 된다. 해당 연산자의 의미를 추출하여 상기 데이터구조에 할당하면 수학식번역을 위한 데이터구조가 생성된다.
상기 의미추출부(240)에서는 상기 할당된 연산자(log)에 대해서 수학 라이브러리에 저장된 연산자(log)에 해당하는 자연어 의미를 추출한다. log의 자연어 의미는 '몇 승'이므로, 몇 승이라는 자연어를 추출한다. 이어서 상기 추출된 의미를 상기 데이터구조에 할당한다.
사용자가 수학적 표현으로 번역문을 쿼리한 결과를 의미해석부(230)에서 해석하여 데이터구조를 구성한 다음, 해당 연산자를 상기 의미추출부(240)를 통해서 자연어 의미를 추출하고, 이어서 번역문구성부(250)는 상기 추출한 자연어 의미를 상기 데이터구조에 할당하여, 번역문을 구성한다.
예를 들어, log 5*x = 3의 경우를 보면, 이 경우를 해석하면 x는 5의 몇승인가? 그 답은 3승이다. 다시 해석하면 x는 5^3이 되고, 따라서 자연어의 의미만으로도 x를 풀어낼 수 있다. 이와 같이 본 발명은 어떤 방정식이 주어졌을 때, 그 방정식의 해를 구하는데 매우 유용한 시스템이다.
결국 번역문구성부(250)는 log350이라는 수식을 "50은 3의 몇 승"라는 번역문으로 구성한다. 다음으로 의미표현부(260)에서는 "50은 3의 몇 승인가"라는 번역문으로 표현하고, log350 = x로 치환하여, "50은 3의 x승이다"라는 의미로 표현하며, 다시 x를 log350으로 치환하여 "50은 3의 log350승이다"라는 문장으로 표현하며, 등가적인 의미로 50 = 3^x 이나 50 = 3^(log350)으로 표현할 수 있다. 이러한 표현은 그래픽을 포함한 이미지로 변환하여 사용자가 알기 쉽게 표현할 수도 있으며, 텍스트나 음성으로도 표현이 가능하다.
또한
Figure 112016094865654-pat00001
의 경우 "무엇의 제곱이 16인가"라는 번역문으로 표현할 수 있고, 또한, "
Figure 112016094865654-pat00002
의 제곱이 16이다" 로 번역할 수 있으며, 이는 (
Figure 112016094865654-pat00003
)^2 = 16을 의미하게 된다. 한편,
Figure 112016094865654-pat00004
= x로 두면 표현이 간결해진다. 즉, "무엇의 제곱이 16인가"라는 번역문이나 "x의 제곱이 16이다"라는 번역문을 출력할 수 있으며, 이는 x^2 = 16으로 표현될 수 있다. 제곱근이나 세제곱근은 n제곱근으로 일반화하는 것이 가능하다.
또한
Figure 112016094865654-pat00005
에 대해서 번역해 보면, 이는 "무엇의 제곱이 -1인가"라는 번역문으로 치환할 수 있고, 이는 "
Figure 112016094865654-pat00006
의 제곱이 -1이다"로 번역할 수 있으며, 이는 (
Figure 112016094865654-pat00007
)^2 = -1을 의미하게 된다. 한편,
Figure 112016094865654-pat00008
= x로 두면 표현이 간결해진다. 즉, "무엇의 제곱이 -1인가"의 번역문에 대해서는 "x의 제곱이 -1이다"라는 표현도 가능하며, 이는 x^2 = -1로 표현할 수도 있다. 여기서 x는 바로 복소수인 i를 의미하게 된다.
또한 arcsin(1/2)의 경우, "무엇의 sin이 1/2인가"라는 번역문으로 표현할 수 있고, 이는 "(arcsin(1/2))의 sin이 1/2이다"와 같이 되며, 이는 sin(arcsin(1/2)) = 1/2을 의미하게 된다. 한편, arcsin(1/2) = x로 두면 표현이 간결해 진다. 즉, "무엇의 sin이 1/2인가"라는 번역문에 대해서, "x의 sin은 1/2이다"와 같이 될 수 있으며, 이는 다시 sin(x) = 1/2로 표현할 수 있다. arcsin과 마찬가지로 arccos, arctan 등도 같은 방법이 적용될 수 있다.
cosin(30o)의 경우에 적용해 보면, 이는 30o의 cosin으로 번역되고, 이는 다시 30o의 co각의 sin으로 번역된다. 한편, 이는 다시 60o의 sin으로 번역될 수 있다. cosine, cotangent, cosecant 등을 읽는 방법은 co의 sine, co의 tangent, co의 secant로 읽는다. 여기서 co는 complementary의 약자로 뜻을 합하면 90도가 되는 각을 의미한다. 예를 들어 30도의 co각은 60도이다.
또한
Figure 112016094865654-pat00009
의 경우, "무엇을 미분하면 x^2인가"라는 번역문으로 그 의미를 해석할 수 있고, 이는 "
Figure 112016094865654-pat00010
을 미분하면 x^2이다"로도 번역될 수 있으며, 이는
Figure 112016094865654-pat00011
를 의미하게 된다. 이는 정확히 적분은 미분의 반대를 의미하는 식을 유도한 것이다. 한편,
Figure 112016094865654-pat00012
로 두면, 표현이 간결해 진다. 즉, "무엇을 미분하면 x^2인가"라는 번역문과 "f(x)를 미분하면 x^2이다"라는 번역문을 구할 수 있으며, 이는
Figure 112016094865654-pat00013
를 의미한다. 이는 f(x)를 미분하면 x^2이 되므로 결국 (1/3)*x^3+c가 됨을 알 수 있다.
다음으로, (12/3)에 대해서 예를 들면, "12는 3의 몇 배인가"라는 번역문을 생성할 수 있고, 이는 다시 "12는 3의 (12/3)배이다"라는 번역문으로 도출될 수 있다. 결국은 이로부터 원하는 답은 12 = 3 * (12/3)라는 결론에 도달하게 된다. 한편, (12/3) = x로 치환하고, 12는 3의 몇 배인가라는 번역문에 대해서 답을 하면 "12는 3의 x배이다"라는 답을 도출하게 되며, 이는 결국 12 = 3*x가 된다. 따라서 본 발명에서는 문제를 읽어나가면 바로 답이 유도되며 이러한 풀이 과정은 읽는 과정에서 모두 해설이 된다. 위의 예에서 12 = 3*x를 읽어보면, 12는 3의 몇 배인가라는 문장이 도출되고, 그래서 x는 곧바로 12/3의 답을 도출할 수 있다. 비슷하게 x/3 = 2라고 하면, 본 발명에 따른 수학해석기로 읽어보면, x는 3의 2배, 그래서 곧바로 x = 3 * 2가 된다. 이러한 수학해석기는 수학에서 매우 강력한 툴이 된다.
또한 곱셈에 대해서 십십은 백, 십백은 천, 십천은 만, 만억은 조, 만만은 억으로 해석되며, 따라서 2만 * 3만 = 2*만*3*만 = 2*3*만*만 = 6억으로 해석된다. 또한 2십만 x 3백억 = 2*십*만*3*백*억 = 2*3*십*백*만*억 = 6천억이다. 십진수의 곱을 계산할 때 즉각적인 답을 말할 수 있게 해준다. 위의 예에서처럼, 2만*3만은 그대로 "2*만*3*만"으로 나타낼 수 있고, 인자 배열을 큰 것들을 뒤로 보내면 "2*3*만*만"으로 되고, 여기서 번역기를 작동하면 6억이 된다.
한편, 5^3을 번역해 보면, 5를 3번 곱하라는 것으로 번역되고, 1에서부터 5를 3번 곱해 나가면 결과가 계산된다. 즉, 1*5*5*5가 된다. 5^1 = 1*5가 되고, 5^0은 5를 0번 곱하라, 즉 5를 한 번도 곱하지 마라는 의미이므로 5^0 = 1이 된다. 여기서 3번이라는 의미가 정확하게 살려지고 그래서 곱하기 개수가 세 개가 존재하며, 처음에 어디에 곱하는가에 대해서는 1이라고 명시되어 있다. 그래서 결국 5^0을 정확하게 설명할 수 있게 되며, 지수에 관한 많은 어려움을 이러한 수학 해석기가 깔끔하게 해결해 준다. 현대에 이르러 0^0이 1로서 일반적으로 받아들이는데, 본 발명은 이를 설명할 수 있는 정확한 수학해석기로서의 역할도 수행한다.
이러한 원리를 8^(1/3)에 적용해 보면, 8^(1/3) = 1 * 8(세 번 곱해서 8이 되는 수, A라 하자)이 된다. 이는 A^3 = 8인 A를 말하며, A =
Figure 112016094865654-pat00014
이 된다.
다음으로 -3에서 '-'의 의미는 무엇인지 설명하도록 한다. '-'는 '거꾸로'의 의미를 가진다. 따라서 -3은 거꾸로 3번이라는 의미를 가진다. 예를 들어 5^(-3)은 5를 -3번 곱하라는 의미이므로, 5를 거꾸로 3번 곱하라는 것과 동일한 의미이며, 이는 3번 나누라는 의미와 동일하다. 결국, 5^(-3) = 1÷5÷5÷5 = 1÷(5*5*5) = 1÷(5^3) = 1/(5^3)이 된다. -3의 의미는 거꾸로 세 번으로 해석되어 실제로 -3번의 의미가 세 번이라는 양수로 살아나면서 의미를 가지게 된다, '거꾸로'의 역할은 곱하기를 나누기로 바꾸는 것이다.
한편, '거꾸로'의 의미를 좀 더 활용해 보면 다음과 같다. 즉, -3 x 5의 의미를 해석해 보면, 5를 -3번 더하라는 것과 동일한 의미이고, 이는 5를 거꾸로 3번 더하라는 의미이며, 이는 5에서 3번 빼라는 의미와 동일하다. 따라서 -3 * 5 = 0-5-5-5 = 0-(5+5+5) = 0-3*5 = -(3*5)가 된다.
본 발명에서 제시하는 수학번역기에서 수학연산자(수학용어)를 포함한 수학식을 해석하여 번역하는 데이터베이스 엔트리의 한 예를 설명하면 다음과 같다.
<LOG>
뜻: 몇 승
인자(parameter)의 갯수: 2
형식: LOG <인자2> <인자1>
인자1(명칭: 대수, 역할: 결과, 해석조사: ~은, ~는, ~이, ~가)
인자2(명칭: 밑, 역할: 입력(input), 해석조사: ~의)
전체번역: <인자1>은 <인자2>의 몇 승?
또한 본 발명의 수학번역기에 대한 효과는 제공된 수학식을 번역한 결과에 대한 출력을 통해 자연어로서 문제 풀이를 도와준다는 점이다.
log 5 (x) = 3에서,
이경우를 해석하면 x는 5의 몇 승인가?로 해석되고, 그 결과는 바로 3승이다. 다시 해석하면 x는 5^3이 된다. 이와 같이 자연어의 의미만으로도 x를 풀어낼 수 있게 해준다. 이와 같이 본 발명은 특정 방정식이 주어졌을 때, 방정식의 해를 구하는데 매우 유용한 시스템이 된다.
다른 경우도 모두 마찬가지 방식으로 해석되고 번역된다.
arcsin(x) = 30o의 경우, 무엇의 sin이 x인가로 해석되고, 그 결과는 30o이다. 다시 이 의미를 해석하면, 30o의 sin이 x 이다와 같이 되며, 곧 sin(30o) = x 가 되어 x = 1/2임을 쉽게 풀어낼 수 있다.
이어서 본 발명에 따른 연산자와 자연어의 매핑이 일반적으로 생각하는 바와 상이한 점을 정리하고자 한다. 즉 본 발명에서는 연산자의 의미를 자연어로 번역할 때 연산자의 그대로의 의미가 아니라 해당 연산자가 가지고 있는 수학적 의미를 설명하기에 더 좋은 언어로 매핑한다.
도 7은 본 발명의 일 실시예에 따른 수학번역기에서 사용하는 수학연산자와 이에 해당하는 자연어 및 이들을 이용한 번역문의 예를 도시한 것이다.
도 7에 도시된 바와 같이, log는 승으로, 루트(root)는 제곱으로 arcsin과 cosin은 sin으로, 적분은 미분으로 분수는 배수로 나타낼 수 있다. 결국 어려운 개념을 좀 더 쉬운 개념의 수식적 표현으로 설명함으로써, 사용자가 수학에 대한 접근을 보다 쉽게 할 수 있도록 하는 효과를 얻을 수 있다. 도 7에서 수학 연산자와 자연어의 의미 및 이들을 적용한 번역문의 예를 보면, 어려운 연산자를 한 단계 혹은 그 이상의 더 쉬운 개념의 연산자로 번역한 것으로 이해할 수도 있는데, 나누기에 비해서는 배수가 직관적으로 이해하기 쉬우며, 적분에 비해서는 미분이 더 이해하기 쉽고, arcsin이나 cosin에 비해서 sin이 이해하기 쉽다. 또한 로그나 루트의 경우에도 승이나 제곱으로 이해하는 것이 편하다.
도 8은 본 발명의 일 실시예에 따른 수학번역기의 동작 흐름도이다.
도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 수학번역기(200)는 먼저 입력인터페이스나 네트워크인터페이스를 통해서 수학식 표현을 입력받는다. 입력되는 형태는 이미지, 문장, 음향 등이 될 수 있으며, 문서편집기나 수기로 표현한 수학식은 연산자에 대한 인식프로그램이 별도로 구비되어야 할 수 있다. 만약 수학식편집기를 사용한다면, 수학식의 편집내용을 편집도구나 인터페이스를 통해서 수신하게 된다(S110).
이어서 수학번역기(200)는 이미지나 문장에서 수학식을 추출하여 인식하고, 인자추출부를 통해서 인자를 추출하고, 연산자추출부에서 연산자를 추출한다. 별도의 수학편집부(210A)를 이용하는 경우 수학편집기에서 편집내용을 입력받자마자 인자와 연산자가 추출된다(S120).
다음으로 추출된 인자와 연산자를 토대로 인자는 데이터구조에서 해당하는 필드에 정보를 할당하고, 연산자의 경우에는 연산자별로 구분되는 해당 데이터구조에서 연산자의 필드에 연산자의 이름을 할당한다. 이렇게 인자와 연산자가 할당된 데이터구조를 만들어내면 수학식의 의미가 인식되거나 해석된 것이다(S130). 의미추출부(240)는 수학식에서 추출한 연산자에 대한 의미를 데이터베이스로부터 추출한다. 이 경우 연산자의 앞뒤에 배치된 인자의 배열을 고려하여 해당 연산자의 자연어 의미를 추출하여야 한다.
상기 추출한 자연어의 의미를 상기 의미해석부(230)에서 구축한 데이터구조의 의미 필드에 할당하고, 해당 연산자의 자연어 의미와 인자를 결합한 수학식의 전체 의미를 구성한다(S140).
이상에서 설명한 바와 같이 본 발명은 수학번역기, 수학번역 디바이스 및 플랫폼에 관한 것으로, 특정 수학적 표현이 입력되면 해당 수학식의 의미를 자연어로 해석해 주어, 수학적인 의미를 자연어로 풀어 설명해 줌으로써, 수학 연산자나 기호로 구성되는 수학적 표현에 대한 의미를 자연어로 해석하여 텍스트나 음성 또는 이미지로 출력함으로써 사용자가 수학 연산자나 기호를 직관적으로 이해할 수 있도록 하는 효과가 있다. 또한 본 발명은 다양한 수학 연산자와 기호에 대한 의미와 상기 수학 연산자와 기호가 사용되는 쓰임에 따라 변화되는 의미를 자연어로 나타낸 데이터베이스를 구축하고, 수학번역기와 상기 데이터베이스를 액세스하는 플랫폼을 제공하여, 수학번역기를 포함하는 어플리케이션 프로그램을 개발하여 다양한 교육콘텐츠나 게임콘텐츠를 개발할 수 있도록 하는 효과가 있다.
상기에서는 본 발명에 따른 바람직한 실시예를 위주로 상술하였으나, 본 발명의 기술적 사상은 이에 한정되는 것은 아니며 본 발명의 각 구성요소는 동일한 목적 및 효과의 달성을 위하여 본 발명의 기술적 범위 내에서 변경 또는 수정될 수 있을 것이다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
10: 수학번역 플랫폼 100: 수학번역 디바이스
110: 입력인터페이스 120: 저장인터페이스
130: 출력인터페이스 140: 네트워크인터페이스
200: 수학번역기 210: 수학식인식부
220: 인자추출부/연산자추출부 230: 의미해석부
240: 의미추출부 250: 번역문구성부
260: 번역문표현부 210A: 수학식편집부

Claims (12)

  1. 수학식을 포함하는 문장이나 이미지로부터 연산자와 인자를 인식하며,
    인식한 연산자와 인자를 포함한 수학식에 대한 의미를 번역하여 출력하는 것을 포함하며,
    상기 인자와 연산자의 관계를 자연어로 번역하여 출력함으로써, 상기 수학식의 번역문을 제공하되,
    상기 번역은, 상기 연산자와 상기 인자의 관계를 해석하고, 상기 연산자의 자연어 의미를 추출한 다음, 상기 추출한 연산자의 자연어 의미와 상기 인자로 번역문을 구성함으로써, 수행되는 것을 특징으로 하는 수학번역기.
  2. 청구항 1에 있어서,
    상기 수학번역기는,
    입력된 수학식을 이미지로부터 인식하거나 편집기로부터 인식하며,
    상기 인식한 수학식으로부터 인자와 연산자를 추출하여,
    상기 인자와 연산자의 배열을 토대로 수학식의 의미를 해석하는 것을 특징으로 하는 수학번역기.
  3. 청구항 2에 있어서,
    상기 수학번역기는,
    수학식의 구성을 인식하여 데이터구조를 생성하거나 미리 지정된 데이터구조를 인식하며,
    상기 생성하거나 인식한 데이터구조는,
    적어도 하나 이상의 인자 필드, 적어도 하나 이상의 연산자 필드 및 상기 연산자 필드에 해당하는 의미 필드를 구비하는 것을 특징으로 하는 수학번역기.
  4. 청구항 3에 있어서,
    상기 수학번역기는,
    상기 생성하거나 인식한 데이터구조에서 연산자의 의미를 수학연산자 라이브러리 데이터베이스로부터 추출하여,
    상기 추출한 의미를 상기 생성하거나 인식한 데이터구조의 의미 필드에 할당하여 번역한 데이터구조를 생성하는 것을 특징으로 하는 수학번역기.
  5. 청구항 4에 있어서,
    상기 수학번역기는,
    상기 번역한 데이터구조를 토대로 번역문을 구성하며,
    상기 구성한 번역문을 토대로 음향, 이미지, 텍스트 또는 이들의 조합을 포함한 형식으로 번역문을 표현하여 출력하는 것을 특징으로 하는 수학번역기.
  6. 수학식을 포함하는 문장이나 이미지로부터 연산자와 인자를 인식하며,
    인식한 연산자와 인자를 포함한 수학식에 대한 의미를 자연어로 번역하여 출력하는 것을 포함하며,
    상기 번역은, 상기 연산자와 상기 인자의 관계를 해석하고, 상기 연산자의 자연어 의미를 추출한 다음, 상기 추출한 연산자의 자연어 의미와 상기 인자로 번역문을 구성함으로써 수행되는, 어플리케이션 프로그램 인터페이스를 통해 수학번역 서비스 프로그램을 개발하도록 개발환경을 제공하는 것을 특징으로 하는 수학번역 플랫폼.
  7. 수학식을 포함하는 문장이나 이미지로부터 연산자와 인자를 인식하는 단계;
    인식한 수학연산자와 인자를 포함한 수학식에 대한 의미를 자연어로 번역하는 단계; 및
    상기 자연어로 번역한 결과를 사용자인터페이스를 통해서 출력하는 단계;를 포함하며,
    상기 인자와 연산자의 관계를 자연어로 번역하여 출력함으로써, 상기 수학식의 번역문을 제공하되,
    상기 번역은, 상기 연산자와 상기 인자의 관계를 해석하고, 상기 연산자의 자연어 의미를 추출한 다음, 상기 추출한 연산자의 자연어 의미와 상기 인자로 번역문을 구성함으로써, 수행되는 것을 특징으로 하는 수학번역 방법.
  8. 청구항 7에 있어서,
    상기 수학번역 방법은,
    입력된 수학식을 이미지로부터 인식하거나 편집기로부터 인식하는 단계;
    상기 인식한 수학식으로부터 인자와 연산자를 추출하는 단계; 및
    상기 인자와 연산자의 배열을 토대로 수학식의 의미를 해석하는 단계;를 더 포함하는 것을 특징으로 하는 수학번역 방법.
  9. 청구항 8에 있어서,
    상기 수학번역 방법은,
    수학식의 구성을 인식하여 데이터구조를 생성하거나 미리 지정된 데이터구조를 인식하는 단계;를 더 포함하며,
    상기 생성하거나 인식한 데이터구조는,
    적어도 하나 이상의 인자 필드, 적어도 하나 이상의 연산자 필드 및 상기 연산자 필드에 해당하는 의미 필드를 구비하는 것을 특징으로 하는 수학번역 방법.
  10. 청구항 9에 있어서,
    상기 수학번역 방법은,
    상기 생성하거나 인식한 데이터구조에서 연산자의 의미를 수학연산자 라이브러리 데이터베이스로부터 추출하는 단계; 및
    상기 추출한 의미를 상기 생성하거나 인식한 데이터구조의 의미 필드에 할당하여 번역한 데이터구조를 생성하는 단계;를 더 포함하는 것을 특징으로 하는 수학번역 방법.
  11. 청구항 10에 있어서,
    상기 수학번역 방법은,
    상기 번역한 데이터구조를 토대로 번역문을 구성하는 단계; 및
    상기 구성한 번역문을 토대로 음향, 이미지, 텍스트 또는 이들의 조합을 포함한 형식으로 번역문을 표현하여 출력하는 단계;를 더 포함하는 것을 특징으로 하는 수학번역 방법.
  12. 수학식을 포함하는 문장이나 이미지로부터 연산자와 인자를 인식하는 단계;
    상기 인식한 연산자와 인자를 포함한 수학식에 대한 의미를 자연어로 번역하는 단계; 및
    상기 자연어로 번역한 결과를 사용자인터페이스를 통해서 출력하는 단계;를 포함하며,
    상기 번역은, 상기 연산자와 상기 인자의 관계를 해석하고, 상기 연산자의 자연어 의미를 추출한 다음, 상기 추출한 연산자의 자연어 의미와 상기 인자로 번역문을 구성함으로써 수행되는, 어플리케이션 프로그램 인터페이스를 통해 수학번역 서비스 프로그램을 개발하도록 개발환경을 제공하는 것을 특징으로 하는 수학번역 플랫폼 제공 방법.
KR1020160125885A 2016-09-29 2016-09-29 수학번역기, 수학번역 디바이스 및 플랫폼 KR101842873B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160125885A KR101842873B1 (ko) 2016-09-29 2016-09-29 수학번역기, 수학번역 디바이스 및 플랫폼
US15/717,905 US10552545B2 (en) 2016-09-29 2017-09-27 Mathematical translator, a mathematical translation device and a mathematical translation platform
CN201710891171.1A CN107885703A (zh) 2016-09-29 2017-09-27 数学翻译器、数学翻译设备及平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160125885A KR101842873B1 (ko) 2016-09-29 2016-09-29 수학번역기, 수학번역 디바이스 및 플랫폼

Publications (1)

Publication Number Publication Date
KR101842873B1 true KR101842873B1 (ko) 2018-03-28

Family

ID=61685422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160125885A KR101842873B1 (ko) 2016-09-29 2016-09-29 수학번역기, 수학번역 디바이스 및 플랫폼

Country Status (3)

Country Link
US (1) US10552545B2 (ko)
KR (1) KR101842873B1 (ko)
CN (1) CN107885703A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11954445B2 (en) 2017-02-17 2024-04-09 Narrative Science Llc Applied artificial intelligence technology for narrative generation based on explanation communication goals
US10943069B1 (en) 2017-02-17 2021-03-09 Narrative Science Inc. Applied artificial intelligence technology for narrative generation based on a conditional outcome framework
US11568148B1 (en) 2017-02-17 2023-01-31 Narrative Science Inc. Applied artificial intelligence technology for narrative generation based on explanation communication goals
US10963649B1 (en) 2018-01-17 2021-03-30 Narrative Science Inc. Applied artificial intelligence technology for narrative generation using an invocable analysis service and configuration-driven analytics
US11334726B1 (en) * 2018-06-28 2022-05-17 Narrative Science Inc. Applied artificial intelligence technology for using natural language processing to train a natural language generation system with respect to date and number textual features
CN111530084A (zh) * 2020-07-13 2020-08-14 成都卓杭网络科技股份有限公司 一种策划配置系统及其方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101469715B1 (ko) * 2013-05-07 2014-12-05 숙명여자대학교산학협력단 수식 콘텐츠의 한글 독음 변환 시스템 및 방법
KR101567904B1 (ko) * 2014-05-16 2015-11-10 동아대학교 산학협력단 자연어 질의 기반의 수학식 검색 시스템 및 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003071393A2 (en) * 2002-02-15 2003-08-28 Mathsoft Engineering And Education, Inc. Linguistic support for a regognizer of mathematical expressions
JP4956757B2 (ja) * 2006-03-15 2012-06-20 国立大学法人大阪大学 数式記述構造化言語オブジェクト検索システムおよび検索方法
CN101329731A (zh) * 2008-06-06 2008-12-24 南开大学 图像中数学公式的自动识别方法
US9047267B2 (en) * 2009-04-29 2015-06-02 Nokia Technologies Oy Method, apparatus, and computer program product for written mathematical expression analysis
US8510650B2 (en) * 2010-08-11 2013-08-13 Stephen J. Garland Multiple synchronized views for creating, analyzing, editing, and using mathematical formulas
CN103299292B (zh) * 2010-12-02 2016-01-20 Sk电信有限公司 用于处理自然语言和数学公式的方法及其设备
US8943113B2 (en) * 2011-07-21 2015-01-27 Xiaohua Yi Methods and systems for parsing and interpretation of mathematical statements
US9141606B2 (en) * 2012-03-29 2015-09-22 Lionbridge Technologies, Inc. Methods and systems for multi-engine machine translation
JP6035843B2 (ja) * 2012-04-25 2016-11-30 カシオ計算機株式会社 数式入力装置、数式入力方法およびプログラム
US20140039878A1 (en) * 2012-08-01 2014-02-06 Apollo Group, Inc. Symbolic-To-Natural Language Conversion
US9460075B2 (en) * 2014-06-17 2016-10-04 International Business Machines Corporation Solving and answering arithmetic and algebraic problems using natural language processing
US20170046139A1 (en) * 2015-08-14 2017-02-16 Xiaohua Yi Parsing and Interpretation of Logical Statements
US10515145B2 (en) * 2015-11-02 2019-12-24 Microsoft Technology Licensing, Llc Parameterizing and working with math equations in a spreadsheet application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101469715B1 (ko) * 2013-05-07 2014-12-05 숙명여자대학교산학협력단 수식 콘텐츠의 한글 독음 변환 시스템 및 방법
KR101567904B1 (ko) * 2014-05-16 2015-11-10 동아대학교 산학협력단 자연어 질의 기반의 수학식 검색 시스템 및 방법

Also Published As

Publication number Publication date
US20180089177A1 (en) 2018-03-29
US10552545B2 (en) 2020-02-04
CN107885703A (zh) 2018-04-06

Similar Documents

Publication Publication Date Title
KR101842873B1 (ko) 수학번역기, 수학번역 디바이스 및 플랫폼
Mathew et al. NLP-based personal learning assistant for school education
Palladino et al. Translation alignment for historical language learning: a case study
Mejía et al. A survey on mathematical software tools for visually impaired persons: A practical perspective
Blumczyński Turning the tide: A critique of Natural Semantic Metalanguage from a translation studies perspective
US11328127B2 (en) Apparatus and method for providing shared contents based on emoticon grammar for NLP on open user participation platform for AI answer dictionary and data set preprocessing
Ogundokun et al. An android based language translator application
Mejía et al. Casvi: Computer algebra system aimed at visually impaired people. experiments
EP3901875A1 (en) Topic modelling of short medical inquiries
Jariwala et al. A multimodal platform to teach mathematics to students with vision-impairment
CN116956934A (zh) 任务处理方法、装置、设备及存储介质
Praba et al. Ai healthcare interactive talking agent using Nlp
Ng et al. Real-time spoken language understanding for orthopedic clinical training in virtual reality
Castro Applications of simultaneous-interpreting corpora in terminology research
CN115878762A (zh) 课件生成方法、课件显示方法、装置、设备及存储介质
Miyata et al. Constructing and evaluating controlled bilingual terminologies
Vyas et al. Automated question and test-paper generation system
Dai Photogrammetry-based VR interactive pedagogical agent for K12 education
Liu et al. AI-based language chatbot 2.0–the design and implementation of English language concept learning agent app
Wang et al. Machine Learning in Translation
KR102666247B1 (ko) 프롬프트 자동 생성을 통한 생성형 딥러닝 모델 학습 데이터 생성 방법
Akyön et al. Automated question generation and question answering from Turkish texts
Ardini et al. Development of mobile application through the concept of artificial intelligence to enhance pronunciation skill in EFL
Alaçam et al. Verbally assisted haptic graph comprehension: the role of taking initiative in a joint activity
JP2013011985A (ja) 解析モデル学習装置、方法、及びプログラム

Legal Events

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