KR101431530B1 - 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 - Google Patents
수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 Download PDFInfo
- Publication number
- KR101431530B1 KR101431530B1 KR1020110130024A KR20110130024A KR101431530B1 KR 101431530 B1 KR101431530 B1 KR 101431530B1 KR 1020110130024 A KR1020110130024 A KR 1020110130024A KR 20110130024 A KR20110130024 A KR 20110130024A KR 101431530 B1 KR101431530 B1 KR 101431530B1
- Authority
- KR
- South Korea
- Prior art keywords
- semantic
- mathematical
- information
- sentence
- natural language
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
본 발명의 실시예는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
본 발명의 실시예는, 사용자로부터 퀴리를 수신하는 사용자쿼리 입력단계; 입력된 사용자 쿼리(Query)에 포함된 키워드(Key Word)를 추출하는 쿼리 파싱단계; 시맨틱 정보가 포함된 자연어토큰 및 수학식토큰가 색인화된 정보를 참조하여 상기 추출된 키워드와 상기 시맨틱 정보와의 시맨틱 거리를 측정하여 유사도를 획득하는 시맨틱거리 추출단계를 포함하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명의 실시예는, 사용자로부터 퀴리를 수신하는 사용자쿼리 입력단계; 입력된 사용자 쿼리(Query)에 포함된 키워드(Key Word)를 추출하는 쿼리 파싱단계; 시맨틱 정보가 포함된 자연어토큰 및 수학식토큰가 색인화된 정보를 참조하여 상기 추출된 키워드와 상기 시맨틱 정보와의 시맨틱 거리를 측정하여 유사도를 획득하는 시맨틱거리 추출단계를 포함하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
Description
본 발명의 실시예는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다. 더욱 상세하게는, 자연어와 표준화된 수학식으로 구성된 수학문장에 포함된 시맨틱 거리를 추출하여 입력된 수학문장의 검색시 저장된 수학콘텐츠와의 유사성을 부여하고자 하는 자연어와 수학식이 포함된 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
사람의 언어는 풍부하고 복잡하며, 복잡한 문법 및 문맥 의미를 갖는 엄청난 어휘를 포함하고 있으나 기계 또는 소프트웨어 애플리케이션은 일반적으로 특정 형식 또는 규칙에 따라 데이터를 입력할 것을 요구한다. 여기서, 자연어 입력은 사람과 상호작용하기 위한 거의 모든 소프트웨어 애플리케이션에서 이용될 수 있다. 일반적인 자연어 처리 과정은 자연어를 토큰(Token)으로 분리하고 소프트웨어 애플리케이션에 의해 제공되는 하나 이상의 동작정보에 매핑하며 각각의 소프트웨어 애플리케이션이 일련의 고유한 동작정보들을 가지도록 설정된다. 즉, 소프트웨어 개발자가 자연어 입력을 해석하는 코드를 작성하여 입력을 각각의 애플리케이션에 대한 적절한 동작정보에 매핑하는 방식이다.
하지만, 이러한 자연어 처리 방식은 수식을 인식하지 못할 뿐 아니라, 수학문장을 검색하고자 하는 질의와 저장된 수학문장이 어느 정도 유사성이 있는지를 파악하여 검색결과를 제공하지 못하는 문제가 있다.
이러한 문제점을 해결하기 위해 본 발명의 실시예는, 자연어와 표준화된 수학식으로 구성된 수학문장에 포함된 의미론적인 시맨틱 정보를 자동으로 추출하고자 하는 데 주된 목적이 있다.
전술한 목적을 달성하기 위해 본 발명의 일 실시예는, 사용자로부터 퀴리를 수신하는 사용자쿼리 입력부; 입력된 사용자 쿼리(Query)에 포함된 키워드(Key Word)를 추출하는 쿼리파싱부(Query Parser); 시맨틱 정보가 포함된 자연어토큰 및 수학식토큰을 색인화하여 저장하는 색인정보부; 및 상기 추출된 키워드와 색인화된 시맨틱 정보와의 시맨틱 거리를 측정하여 유사도를 획득하는 시맨틱거리 추출부를 포함하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치를 제공한다.
상기 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치는, 자연어와 수식이 포함된 복합문장을 수신하는 정보입력부; 및 상기 복합문장에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 시맨틱 정보를 생성하여 자연어토큰 및 수학식토큰을 생성하는 시맨틱파싱부를 추가로 포함할 수 있다.
상기 시맨틱 파싱부는, 상기 복합문장을 단순문장의 논리적 조합으로 변환한 후 시맨틱 정보를 생성할 수 있다.
상기 시맨틱 파싱부는, 상기 자연어를 토큰화한 자연어 토큰을 생성하고, 상기 자연어 토큰을 근거로 중지 단어를 필터링한 중지 단어 필터링 데이터를 생성하며, 상기 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성하고, 상기 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭하여 상기 시맨틱 정보로 추출할 수 있다.
상기 시맨틱 파싱부는, 상기 수식을 트리 형태로 변환하고, 상기 트리 형태로 변환된 수식에 횡단 과정을 수행하며, 상기 횡단 과정이 수행된 수식에 토큰화를 수행한 수식 토큰을 생성하여 상기 시맨틱 정보로 추출할 수 있다.
상기 시맨틱정보는, 자연어와 수식의 조합과 상기 조합에 대응되는 동작정보를 결합한 룰을 참조하고 상기 자연어토큰 및 상기 수학식토큰을 상기 룰과 비교하여 추출된 상기 복합문장의 동작정보를 포함할 수 있다.
상기 동작정보는, 상기 자연어토큰의 구조상의 의미, 상기 자연어토큰의 방향성 및 상기 자연어토큰의 영향이 미치는 지점을 포함할 수 있다.
상기 방향성은, 상기 동작정보가 상기 자연어토큰의 앞의 수학식과 연관되는지, 상기 자연어토큰의 뒤의 수학식과 연관되는지 또는 독립적인지를 나타낼 수 있다.
상기 시맨틱정보는, 상기 자연어토큰의 대상이 되는 수식을 상기 수학식토큰 중에서 매칭시켜 생성된 수학 오브젝트를 포함할 수 있다.
상기 쿼리파싱부는, 상기 사용자 쿼리에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 시맨틱 정보를 생성하여 자연어토큰 및 수학식토큰을 포함하는 키워드를 추출할 수 있다.
상기 시맨틱 거리는, 상기 추출된 키워드의 시맨틱요소와 상기 색인화된 시맨틱 정보의 시맨틱요소에 대하여 공통적인 시맨틱요소의 갯수에 비례한 값으로 생성할 수 있다.
상기 시맨틱요소는, 각 시맨틱요소별로 가중치가 설정될 수 있다.
상기 시맨틱 거리는, 추출된 키워드의 시맨틱요소와 상기 색인화된 시맨틱 정보의 전체 시맨틱요소에 대비 공통적인 시맨틱요소가 많을수록 시맨틱거리는 짧아지고, 상기 전체 시맨틱요소 대비 공통적인 시맨틱요소가 적을수록 시맨틱거리는 길어질 수 있다.
상기 시맨틱 거리는, 상기 추출된 키워드와 상기 색인화된 시맨틱 정보에 동일하게 존재하는 시맨틱요소의 가중치의 합에 반비례하고 상기 추출된 키워드와 상기 색인화된 시맨틱 정보에 포함된 전체 시맨틱 요소의 가중치의 합에 비례할 수 있다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 사용자로부터 퀴리를 수신하는 사용자쿼리 입력단계; 입력된 사용자 쿼리(Query)에 포함된 키워드(Key Word)를 추출하는 쿼리파싱단계; 및 시맨틱 정보가 포함된 자연어토큰 및 수학식토큰이 색인화된 정보를 참조하여 상기 추출된 키워드와 색인화된 시맨틱 정보와의 시맨틱 거리를 측정하여 유사도를 획득하는 시맨틱거리 추출단계를 포함하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법을 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 상기의 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법의 각 단계를 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이상에서 설명한 바와 같이 본 발명의 실시예에 의하면, 자연어와 표준화된 수학식으로 구성된 수학문장(단일 또는 복합문장)에 포함된 시맨틱 거리를 추출하여 입력된 수학문장의 검색시 저장된 수학콘텐츠와의 유사성을 획득하는 효과가 있다.
또한, 입력된 복합문장을 단순문장의 논리적 조합으로 변환한 후 시맨틱 정보를 생성함으로써 효율적으로 시맨틱정보를 추출할 수 있는 효과가 있다. 또한 수학문장에서 표현하고 동작정보를 기술하는 대표 키워드를 정함으로써 다양한 문장의 동작표현이 입력될 경우 대표키워드로 매칭되도록 함으로써 수학문장의 동작정보를 추출할 수 있다.
그리고, 자연어 처리 방식으로 인식하지 못하는 수식을 인식함으로써, 수학문장을 검색하고자 하는 질의와 저장된 수학문장이 어느 정도 유사성이 있는지를 파악하여 검색결과를 제공함으로써 종래의 검색방법으로는 검색하지 못하는 수학콘텐츠의 검색환경을 제공하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 수학문장의 분류 장치를 개략적으로 나타낸 블럭 구성도이다.
도 2는 본 발명의 일 실시예에 따른 복합문장의 트리 형태 표현을 나타낸 예시도이다.
도 3은 "(S1∩S2)=>(~S3∪S4)" 에 대한 XML 표현을 예시한 도면이다.
도 4는 수학적 문장 표현 방식의 원시적인 형태의 문장 구조를 예시한 도면이다.
도 5는 수학문장을 동작정보(Action)와 시맨틱 서술(Semantic Description)로 표현한 예를 예시한 도면이다.
도 6은 두 식에 대하여 동작정보(Action)와 시맨틱 서술(Semantic Description)로 표현한 예를 비교하여 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 수학문장의 분류 방법을 설명하기 위한 순서도이다.
도 8은 색인화된 수학문장에 대하여 각 시맨틱요소별로 설정된 불 값을 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 복합문장의 트리 형태 표현을 나타낸 예시도이다.
도 3은 "(S1∩S2)=>(~S3∪S4)" 에 대한 XML 표현을 예시한 도면이다.
도 4는 수학적 문장 표현 방식의 원시적인 형태의 문장 구조를 예시한 도면이다.
도 5는 수학문장을 동작정보(Action)와 시맨틱 서술(Semantic Description)로 표현한 예를 예시한 도면이다.
도 6은 두 식에 대하여 동작정보(Action)와 시맨틱 서술(Semantic Description)로 표현한 예를 비교하여 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 수학문장의 분류 방법을 설명하기 위한 순서도이다.
도 8은 색인화된 수학문장에 대하여 각 시맨틱요소별로 설정된 불 값을 예시한 도면이다.
도 1은 본 발명의 일 실시예에 따른 수학문장의 분류 장치를 개략적으로 나타낸 블럭 구성도이다.
본 발명의 일 실시예에 따른 수학문장의 분류 장치(100)는 정보입력부(110), 시맨틱파싱부(120), 색인정보부(130), 사용자쿼리입력부(140), 쿼리파싱부(150), 시맨틱거리 추출부(160) 및 결과 제공부(170)를 포함하여 구성될 수 있다.
정보 입력부(110)는 자연어(Natural Language) 및 수식(Mathematical Formula)의 조합으로 이루어진 조합 데이터(복합문장)를 입력받는다. 여기서, 자연어 및 수식의 조합으로 이루어진 조합 데이터는 사용자의 조작 또는 명령에 의해 직접 입력될 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버로부터 자연어 및 수식의 조합으로 이루어진 문서 데이터를 입력받을 수도 있을 것이다.
도 2는 본 발명의 일 실시예에 따른 복합문장의 트리 형태 표현을 나타낸 예시도이다.
도 2에 도시된 바와 같이, 하나의 수학 컨텐츠가 가질 수 있는 구조를 트리로 표현하면, 해당 수학컨텐츠(루트(Root) 노드)를 구성하는 자식 노드들은 중요 의미 중 하나인 어순 정보를 그대로 유지한 채 자연어와 수식으로 분리된 형태를 갖게 된다. 또한, 각 자연어는 문장의 연결 순서에 따라 특별한 의미를 가진다. 즉, 많은 수학 컨텐츠는 자연어를 기준으로 수식을 엮는 구조일 수 있다. 예를 들어서, 하나의 자연어의 뒤에 따라오는 수식이 특정 조건으로서 연결되거나, 뒤에 오는 수식이 정의되었는지 등의 구조를 가질 수 있는 것이다. 각 노드의 자연어가 가지는 의미와 연결 관계뿐만 아니라, 자연어를 통합하여 시맨틱 의미를 추출할 수 있다. 즉, 수학 컨텐츠에서 요구하는 것이 해당 수식을 푸는 것인지, 설명하는 것인지 등의 동작정보를 구분하기 위해서는 전체 자연어를 한데 묶어서 의미를 파악함으로써 각 자연어토큰의 방향성을 파악할 수 있다. 여기서, 방향성이란 수학컨텐츠 내의 자연어토큰이 해당 자연어토큰의 앞의 수학식과 연관되는지, 아니면 뒤의 수학식과 연관되는지 또는 독립적인지를 나타내는 것 등을 의미한다.
시맨틱파싱부(120)는 조합 데이터에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 시맨틱 정보를 생성하여 자연어토큰 및 수학식토큰을 생성한다. 즉, 시맨틱파싱부(120)는 조합 데이터에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 시맨틱 정보를 생성한다. 여기서, 시맨틱 정보는 동작정보, 수학 오브젝트를 포함할 수 있다. 시맨틱파싱부(120)의 동작에 대해 구체적으로 설명하면, 시맨틱파싱부(120)는 조합 데이터에서 자연어 및 수식을 각각 분리한다. 즉, 시맨틱파싱부(120)는 정보 입력부(110)를 통해 자연어 및 수식의 조합으로 이루어진 조합 데이터가 입력되면, 조합 데이터에 포함된 자연어와 수식을 각각 분리하여 인식한다. 시맨틱파싱부(120)는 분리된 자연어를 구성하고 있는 각각의 구성 정보를 분석하여 자연어를 토큰화(Tokenization)한 자연어 토큰을 생성하고, 자연어 토큰을 근거로 중지 단어(Stop Word)를 필터링한 중지 단어 필터링 데이터를 생성하며, 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성하고, 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭한다. 여기서, 토큰(Token)이란 연속된 문장에서 구별할 수 있는 단위를 말하며, 토큰화는 자연어를 수학문장의 분류 장치(100)가 이해할 수 있는 단위인 워드(Word) 단위로 쪼개는 과정을 말한다.
토큰화에 대해 좀더 구체적으로 설명하면, 본 발명의 일 실시예에서 토큰화는 크게 자연어 토큰화와 수식 토큰화로 구분된다. 자연어 토큰화란 조합 데이터(수학 문제 또는 복합문장)에 포함된 자연어를 공백(Space)을 기준으로 분리한 결과물에 해당하는 각각의 단어를 자연어 토큰으로 인식하는 과정을 말한다. 한편, 수식 토큰화란 조합 데이터에 포함되는 수식을 파싱(Parsing)한 후 얻게 되는 개별 단위 정보를 수식 토큰으로 인식하는 과정을 말한다.
[예 1] Find the function value 9y3 + 8y2 - 4y - 9 with y=-1
예를 들어서, [예 1]에서 자연어 토큰에 해당하는 정보는 'Find', 'the', 'function', 'value', 'with' 가 되며, 수식 토큰은 파싱을 통해서 정보를 추출한 후에 반환되는 값인 다항식(Polynomial), 최고 차수(Maxdegree=3), 항의 수(Numofterm=4), 컨디션(Condition, y=-1) 등이 될 수 있다.
또한, 중지단어 필터링에 대하여 상세히 설명하면, 중지 단어란 문장이나 수식의 분석에 있어서 필요 없는 토큰에 해당하는 부분을 제거하기 위해서 미리 정의해 놓은 단어들의 집합을 의미한다. 즉, [예 1]의 단어들 중에서 'the'와 같은 단어(이외에도 a나 to 등)는 중지단어로서 시스템에서 사전(Dictionary) 형태로 미리 정의되어 있다. 여기서, 사전은 단어의 집합을 포함하는 리스트를 의미한다. 즉, 시맨틱파싱부(120)는 자연어 토큰을 생성한 후 분석에 필요 없는 부분인 중지단어를 제거하는 과정을 수행하게 되는데, 중지 단어 필터링은 수학 문제가 길어질 경우(예컨대, 서술형 문제의 경우 등)에 분석 과정에 너무 많은 토큰이 들어가는 것을 방지해 주며, 더불어 시스템의 처리 속도를 향상시키기 위해 동작한다. 그리고, 중복제거 필터링을 설명하면, 예를 들어, "이 방정식에서 하나의 해는 3인데, 방정식이 가지고 있는 다른 해를 구하시오." 라는 수학문제가 있는 경우 자연어를 토큰화하고 나면 "방정식"과 "해"라는 토큰이 각각 두 개씩 추출될 수 있는데, 이 경우 중복되는 2개의 "방정식"이라는 토큰과 2개의 "해"라는 토큰 중에서 각각 하나씩 제거하여 중복제거 필터링을 수행할 수 있다.
시맨틱파싱부(120)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 자연어 토큰들 중에서 중복된 요소를 제거하고 생성된 중복제거 데이터 내의 술어에 해당하는 데이터를 기 정의된 의미가 부여된 동작 정보와 매칭할 수 있는데, 여기서, 동작 정보는 자연어 토큰 또는 수식 토큰을 바탕으로 추출할 수 있는 요약 정보를 의미한다. 예를 들어서, [예 1]에서 자연어 토큰 또는 수식 토큰을 바탕으로 '풀다(Solve)'라는 동작 정보를 추출할 수 있다. 여기서, 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 동작 정보와 매칭 저장하는 이유는 조합 데이터(수학 문제)를 스키마(Schema)로 정의하는 과정에서 전체 문장이 의미하는 대표 동작에 대한 정보를 획득하여 이후에 검색 또는 문제간의 연관성(Similarity)을 분석할 때 도움이 되는 도구로 활용하기 위함이다.
또한, 시맨틱파싱부(120)는 수식을 트리 형태로 변환하고, 트리 형태로 변환된 수식에 횡단(Traverse) 과정을 수행하고, 횡단 과정이 수행된 수식에 토큰화를 수행할 수 있다. 시맨틱파싱부(120)는 Math ML(Mathematical Markup Language)로 작성된 수식을 XML 트리 형태로 변환한 후 DOM(Document Object Model) 형태로 변환할 수 있다. 시맨틱파싱부(120)는 수식을 구성하는 구성 정보를 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색(Depth-First Search) 방식으로 횡단을 실행할 수 있다. 한편, 횡단 과정과 깊이 우선 검색에 대해 구체적으로 설명하면, 일반적으로 수식은 Math ML의 형태를 띄고 있으며, 이는 트리의 형태로 구성이 되며, 이러한 트리로부터 정보를 추출하기 위하여 이러한 트리의 노드를 검색해 나가는 과정을 횡단 과정이라 칭하며, 횡단 과정을 수행할 때, 깊이 우선 검색(Depth-First Search)을 사용할 수 있다. 깊이 우선 검색 횡단 과정은 트리의 루트(Root)에서 시작하여 자식 노드까지 들어간 후 모든 자식 노드의 검색이 끝나면 부모 노드로 이동하기 때문에, 자식 노드에서 가지고 있는 정보 모두를 부모 노드로 전달하며, 시간 복잡도 측면에서 노드 사이를 연결하는 연결선인 엣지(Edge)의 수만큼만 검색을 수행하면 되므로 효율적이다. 여기서 깊이 우선 검색을 예시하였으나 본 발명이 이에 한정되지는 않는다.
또한, 시맨틱파싱부(120)는 수학콘텐츠를 단순문장의 논리적 조합으로 변환한 후 시맨틱 정보를 생성할 수 있다.
시맨틱파싱부(120)는 수식과 자연어로 혼합되어 있는 수학콘텐츠를 단순문장(simple sentence)의 조합으로 표현하고, C-MathML로 표시된 부분의 시맨틱 파싱을 통해서 의미 부여를 할 수 있다.
예를 들어, "방정식 x2+2x-3=0 에 대하여 x2>1을 만족하는 근을 구하라"와 같은 형태의 수학문장이 있다고 가정하자.
위의 수식을 복잡문장을 단순 문장으로 표현하면 다음과 같다.
(예2)
"Solve ((x2+2x-3=0) ∩ (x2>1))
Solve(이차방정식 ∩ x의 제곱근이 1보다 큼)"
위의 예2에서 본 것처럼 모든 복잡 문장을 단순 문장의 논리적 연결사(∩(and), ∪(or), ∼(not), ⇒(if)) 등으로 연결된 것으로 분리할 수 있다. 상기의 예처럼 복잡 문장을 단순 문장의 논리적 연결사로 분리하는 것을 예로 들었으나 본 발명이 이에 한정되지 않으며, 다양한 방법으로 복잡 문장을 복수의 단순 문장으로 분리할 수 있다.
예를 들어, 복합문장의 XML에 있어서, 단순문장간의 논리적 연결을 기술하기 위한 XML 태그로 문장간의 관계를 의미하는 <SentenceRel> 을 사용할 수 있다. 사용방법은 MathML의 <apply> 와 같은 방식으로 사용할 수 있다.
도 3은 "(S1∩S2)=>(~S3∪S4)" 에 대한 XML 표현을 예시한 도면이다.
한편, 시맨틱정보로서 추출되는 동작정보에 해당하는 키워드가 지정될 수 있다. 예를 들어, 위의 예 1의 수학콘텐츠에서 자연어 토큰과 수학 토큰을 바탕으로 solve라는 동작 정보를 추출함으로써 수학문제를 스키마로 정의하는 과정에서 전체 문제가 의미하는 대표 동작에 대한 정보를 가질 수 있다. 예를 들어, 작성하는 사람에 따라서 "Solve (x2+2x-3=0)" 대신 "Find the root of (x2+2x-3=0)" 또는 "Answer (x2+2x-3=0)" 등과 같이 키워드로 Find, Answer 등과 같이 다양한 용어를 사용할 수도 있다. 이러한 키워드는 의미가 중복되지 않도록 유니크(Unique)하게 선택한다. 예를 들면, "Find the root of", "Find the solution", "Answer", "Calculate", "What is the value of" 등의 용어는 뒤의 수식과의 연관성으로부터 동작 정보를 Solve 로 통일해 사용한다. Solve 외에 Evaluate, Integrate, Differentiate, Factorize, Expand 등의 여러 동작정보가 있을 수 있다.
그러므로 동작정보에 해당하는 키워드를 추출함에 있어서 사용될 수 있는 다양한 입력용어를 지정하면 하나의 의미를 나타내는 다양한 입력에 따른 동작정보를 추출할 수 있다.
또한, 추출되는 동작정보는 자연어토큰의 구조상의 의미, 자연어토큰의 방향성 및 자연어토큰의 영향이 미치는 지점을 포함할 수 있다. 여기서, 방향성은 동작정보가 자연어토큰의 앞의 수학식과 연관되는지, 자연어토큰의 뒤의 수학식과 연관되는지 또는 독립적인지를 나타낼 수 있다.
한편, 시맨틱파싱부(120)는 수학식으로부터 시맨틱정보를 표현하는 방법으로는, 예를 들어, (x2+2x-3=0)의 경우, "Action(2차 방정식)" 또는 "Action(다항식(degree=2))" 등과 같이 표현할 수 있으나, 본 발명이 이에 한정되지는 않는다.
도 4는 수학적 문장 표현 방식의 원시적인 형태의 문장 구조를 예시한 도면이다. 도 4에 나열한 문장 표현 형식은 대표성을 띠고 있으며, 수학 문제 분석을 통해서 더욱 복잡한 형태가 추가될 수 있다.
수학 문제가 가지는 시맨틱 정보는 동작정보와 수학 오브젝트를 포함할 수 있다.
동작정보(Action)는 수학문장이 기본적으로 풀어야 하는 목적을 표현한다. 예를 들어, 해당 수학식 문장이 문제를 푸는 것인지, 개념을 설명하는 것인지 등에 관해서 실제 푸는 사람이 동작을 취할 수 있도록 하는 정보에 기반해서 문제에서 추출한 정보다. 이 정보는 자연어와 수학식의 토큰을 통해 선처리(pre-processing) 된 정의된 룰에 의해서 반환된다.
시맨틱파싱부(120)는 시맨틱정보로 자연어토큰의 대상이 되는 수식을 수학식토큰 중에서 매칭시켜 생성된 수학 오브젝트를 포함할 수 있다.
시맨틱파싱부(120)는 자연어와 더불어 수식이 포함된 복합문장으로 구성된 수학식의 실제 의미를 추출하여 자동으로 표현하기 위하여
1. 수학식과 자연어의 토큰 관계를 룰로 구성하는 단계
2. 자연어와 수학식을 표현한 문장을 읽어 들여 수학문장이 의미하는 동작정보를 찾는 단계
3. 수학 오브젝트를 구성하는 단계
를 수행할 수 있다.
수학 오브젝트(Math Object)는 수학 문제에 포함된 세분화된 각 엔티티(entity)를 표현하는 데 사용된다. 즉, 이 수학 문제를 풀기 위해서는 어떤 기법(technique)이나 사실(fact)이 필요한지를 나타낼 수 있고, 수학 문제 내부에 어떤 형태의 함수가 들어가는지 등을 나타낼 수도 있다. 이 오브젝트의 개념은 수학 문제의 다양성을 지원하기 위한 확장성에 도움이 될 수 있다. 이 정보는 자연어에서 얻은 정보와 수학식에서 얻은 정보가 각각 수학 오브젝트화 될 수 있다.
수학 오브젝트로는 기법(technique), 정의(definition), 정리(theorem) 등의 지식(knowledge)에 해당하는 정보가 추출될 수 있으며, 이러한 정보는 확장성을 가지고 있으며, 문제 분석을 통해서 필요한 정보가 더 있는 경우, 원하는 형태의 범주(category)를 만들고 추가할 수 있다.
이런 수학 문제 시맨틱 정보를 바탕으로 활용할 수 있는 범위는 아주 광범위하다. 예를 들면, 어떤 사람이 이차 방정식을 푸는 문제를 연습하고 싶다고 하면, 현재의 수학 문제처럼 자연어를 비교하고 MathML 형태의 XML을 모두 파싱하고 원하는 정보가 있는지 확인하는 절차를 거치는 대신에, 미리 추출한 정보를 바탕으로 원하는 정보를 빠른 시간에 제공할 수 있는 것이다. 또한, 검색된 문제 간의 연관성(ranking)을 파악하는 과정에서도 사용될 수 있고, 이런 동작정보는 사용자로 하여금 최적의 검색 결과를 얻을 수 있도록 도와줄 수 있다.
획득한 수학 문제의 동작정보와 수학 오브젝트는 저장하는 장치에 따라서 다양한 형태로 저장이 가능하며, 이는 병렬, 직렬, 내포(nested) 형태 등으로 표현될 수 있다.
단순 문장(Simple sentence)의 구성요소로 c-MathML로 표시된 수학 오브젝트(Mathematical object) 부분에 대한 시맨틱 서술(Semantic Description)은 표 1 및 표 2와 같이 구성될 수 있으며, c-MathML로 표시된 Mathemtical Object는 <MathObj> tag 로 구분하고, 여러 수학식 오브젝트와의 관계는 <MathRel> 태그로 [표 1], [표 2]와 같이 표현할 수 있다.
색인정보부(130)는 시맨틱파싱부(120)에서 추출한 시맨틱 정보를 색인화(Indexing)한 정보를 저장한다. 예를 들어서, 색인정보부(130)는 시맨틱파싱부(120)를 통해 수신된 시맨틱 정보에 번호를 부여하는 색인화를 수행하고, 수행된 정보를 저장하는 것이다. 색인정보부(130)는 시맨틱 정보를 색인화한 시맨틱 색인 정보를 생성하고, 시맨틱 색인 정보에 키워드 정보를 매칭한 쿼리 색인 정보를 생성할 수 있다.
사용자 쿼리 입력부(140)는 사용자로부터 퀴리를 수신하고 입력된 사용자 쿼리(Query)를 쿼리파싱부(Query Parser: 150)로 전달한다. 여기서, 사용자 쿼리는 일종의 검색 쿼리로서, 사용자가 검색하고자 입력한 키워드를 포함한다.
사용자 쿼리 입력부(140)는 정보 입력부(110)와 유사한 동작을 할 수 잇으며, 자연어 및 수식의 조합으로 이루어진 조합 데이터(복합문장)를 입력받을 수 있다. 자연어 및 수식의 조합으로 이루어진 조합 데이터는 사용자의 조작 또는 명령에 의해 직접 입력될 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버로부터 자연어 및 수식의 조합으로 이루어진 문서 데이터를 입력받을 수도 있다.
쿼리파싱부(150)는 입력된 사용자 쿼리에 포함된 키워드를 추출한다. 여기서 추출되는 키워드는 시맨틱정보를 포함할 수 있으며, 쿼리파싱부(150)는 입력된 사용자 쿼리를 시맨틱파싱하여 시맨틱정보가 포함된 키워드를 추출할 수 있다. 쿼리파싱부(150)는 시맨틱파싱부(120)의 동작과 유사할 수 있다. 즉, 쿼리파싱부(150)는 사용자 쿼리 입력부(140)를 통하여 입력된 복합문장에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 시맨틱 정보를 생성하여 자연어토큰 및 수학식토큰을 생성한 키워드를 생성할 수 있다. 여기서 사용자 쿼리 입력부(140)를 통하여 입력된 문장은 자연어만 포함되거나 수학식만 포함될 수도 있다. 즉, 입력된 문장에 자연어만 포함되면 생성된 키워드에는 자연어토큰만, 입력된 문장에 수학식만 포함되면 생성된 키워드에는 수학식토큰만 존재할 수도 있다.
시맨틱거리 추출부(150)는 쿼리파싱부(150)에서 추출된 키워드에 포함된 시맨틱정보와 시맨틱파싱부(120)에서 생성되어 색인정보부(140)에 저장된 색인화된 정보의 시맨틱 정보와의 유사도를 나타내는 시맨틱 거리를 측정하여 유사도를 획득한다.
예3과 같이 일반적인 형태의 수식이 있다고 가정하자.
(예3) "x2+2x-3=0 에 대하여 두 근을 구하라"
위의 수학문장을 동작정보(Action)와 시맨틱 서술(Semantic Description)로 표현하면 도 5와 같이 표현할 수 있다.
위의 예3에서 일반 문장의 수식 (x2+2x-3=0)만으로는 질의(query) 대상이 될 수 없으며, 시맨틱 서술 정보인 2차 방정식이 질의 대상이 된다. 따라서 만약 설정된 스키마가 없다면 시맨틱 질의를 처리할 수 없기 때문에, 시맨틱 서술 정보가 시맨틱거리 추출부(160)에 의한 시맨틱질의 처리를 위한 수단으로서 사용될 수 있다.
예3과 같은 2차 방정식이라는 단순한 시맨틱 서술뿐만 아니라 이와 같이 문제 구조화(주제, 문제, 해답 등)를 통하여 얻은 각종 시맨틱 서술과 결합하여 스키마를 정의하면 모든 문제를 좀 더 다양한 시맨틱 서술을 가지는 문장으로 표현할 수 있다.
[표 3], [표 4], [표 5], [표 6]은 하나의 수학식에 대한 XML description의 예를 나타낸 것이다.
표 3, 표 4, 표 5, 표 6에 의하면, 자연어와 표준화된 수식으로 표현된 수학 컨텐츠를 수학문장의 분류 장치(100)가 이해할 수 있는 형태로 변환하고, 자연어와 수식이 갖는 의미에 근거하여 시맨틱 정보를 추출하여 XML 트리 형태로 구조화하는 것이다.
시맨틱거리 추출부(160)는 추출된 키워드와 시맨틱 정보와의 시맨틱 거리(Semantic Distance)를 측정하여 유사도를 획득한다.
여기서 시맨틱 거리란 수식과 자연어로 구성되어 있는 복합문장을 변환하는 과정에서 부여되는 시맨틱 서술(Semantic Description)의 거리를 의미한다.
예를 들어, 예4 및 예5와 같은 두가지 형태의 문장이 있다고 가정하자.
(예4) "방정식 x2+2x-3=0에 대하여 두 근을 구하여라."
(예5) "이차식 x2+3x+5에 대하여 적분을 구하여라."
위의 두 식에 대하여 동작정보(Action)와 시맨틱 서술로 표현하면 각각 도 6의 6A, 6B와 같이 표현할 수 있다.
도 6에 도시한 바와 같이 일반 문장의 수식 (x2+2x-3=0), (x2+3x+5) 만으로는 이차식의 근과 부정적분을 구하는 완전히 다른 문제이지만, 시맨틱 서술은 2차식이라서 동일하다고 판단할 수 있다. 따라서 시맨틱 거리(Semantic Distance)를 정의해 놓으면 다양한 문장의 시맨틱 거리를 쉽게 측정할 수 있다. 예를 들어, 이차식의 근과 부정적분을 구하는 문제의 시맨틱 거리는 2, 부정적분과 미분의 시맨틱 거리는 1과 같이 시맨틱 거리를 정의함으로써 해당 수학문장와 기저장된 수학문장의 시맨틱 간의 시맨틱 거리를 측정하여 유사도를 획득할 수 있으며, 이를 점수화할 수 있다.
시맨틱거리 추출부(160)는 시맨틱 거리를 구함에 있어서, 추출된 키워드의 시맨틱요소와 색인정보부(140)에 색인화되어 저장된 시맨틱 정보의 시맨틱요소에 대하여 공통적인 시맨틱요소의 갯수에 비례한 값으로 결정될 수 있다. 여기서 시맨틱 거리가 시맨틱요소의 갯수에 비례한 값으로 결정된다고 하였으나, 이를 구현하기 위한 수학식에 있어서, 공통적인 시맨틱요소의 갯수를 구하기 위하여 시맨틱요소의 값을 서로 곱한 값에 비례한 값으로 시맨틱 거리를 생성하는 등 다양한 형태의 수학식이 적용될 수 있을 것이다.
또한, 시맨틱 거리는 두 수학식 문제의 전체 시맨틱요소 대비 공통적인 시맨틱요소가 많을수록 시맨틱거리는 짧아지고 반대로 두 수학식 문제의 전체 시맨틱요소 대비 공통적인 시맨틱요소가 적을수록 시맨틱거리는 길어지도록 구현할 수 있다. 또한 두 수학식 문제의 전체 시맨틱요소의 갯수는 고려하지 않고 두 수학식 문제의 공통적인 시맨틱요소가 많을수록 시맨틱거리는 짧아지고 공통적인 시맨틱요소가 적을수록 시맨틱거리는 길어지도록 구현할 수도 있다.
시맨틱거리 추출부(160)는 사용자의 쿼리로 입력한 키워드의 시맨틱정보와 색인화되어 저장된 시맨틱 정보의 연관성에 근거하여 시맨틱 거리를 정의하기 위한 일례로 수학식 1과 같이 코사인 유사성(Cosine Similarity)을 이용할 수 있다.
(p: 문제 벡터, q: 쿼리 벡터, v: 벡터가 가지는 원소의 개수)
시맨틱 거리를 측정하고자 하는 첫번째 수학 문장과 두번째 수학 문장이 가지는 각각의 시맨틱 정보를 불 벡터(Boolean vector)로 표현될 수 있다. 따라서, 예를 들어, 도 8과 같이 pi 가 불(Boolean)이면서 첫번째 수학 문장 p에서 시맨틱 i 의 존재 여부를 나타내고, qi 가 불(Boolean)이면서 두번째 수학 문장 q에서 시맨틱 i 의 존재 여부를 나타낼 수 있다. 즉, 수학 문장에 대하여 다항식(Polynomial), 함수(Function), 인수문제(Factor), 문제를 푸는 문장(Solve), 값을 구하는 문제(Evaluate), 변수의 갯수(Number of Variables), 차수(Degree) 등에 대하여 각 수학 문장의 각 시맨틱요소에 대하여 불(Boolean) 값이 설정된다면, 모든 수학 문장은 도 8과 같은 시맨틱요소를 표현하는 불 벡터로 표현될 수 있다.
만일, 색인화되어 저장된 시맨틱 정보가 도 8과 같이 6개의 문장이 존재한다면, 각 수학문제의 불 벡터는 문제1=(1,1,1,0,1,1,1), 문제2=(1,1,1,1,0,0,0), 문제3=(0,0,0,0,0,1,1),...등이 될 것이다.
이 경우, 예를 들어, 사용자 쿼리로부터 추출된 키워드에 포함되는 시맨틱요소에 대한 불 벡터가 (1,1,1,1,1,1,1)이라면, 도 8과 같이 저장된 모든 시맨틱정보에 대하여 수학식1을 적용하여 시맨틱거리를 구할 수 있다.
따라서, 사용자 쿼리의 불벡터와 문제1의 불벡터에 대하여 수학식 1을 적용하면, 6/(root(7)*root(6))이 되며, 사용자 쿼리의 불벡터와 문제2의 불벡터에 대하여 수학식 1을 적용하면, 4/(root(7)*root(4))이 된다. 이와 유사하게 모든 색인화된 문제에 대하여 수학식1을 적용하여 사용자 쿼리의 불벡터와의 시맨틱 거리를 구할 수 있다.
수학식 1에서, cos(q, p)가 “0”의 값을 가지면 해당 시맨틱 정보가 없거나, 해당 문제와 관련이 없다는 것을 의미한다. 반면에, cos(q, p)가 “1”의 값을 가지면 수학문제에 일치하는 시맨틱 정보가 있다는 것을 나타내며, 시맨틱 거리를 나타내는 cos(q, p)는 0에서 1까지의 값을 가지는데, 1에 가까울수록 두 문장간의 시맨틱 유사성이 더 높다고 할 수 있다. cos(q, p)가 1 이 되면, 두 문장 p, q 의 시맨틱 정보가 정확하게 일치하는 경우이고, cos(q, p)가 0 이 되는 경우에는 두 문장 p, q 간의 시맨틱 유사성이 전혀 없는 경우라고 할 수 있다.
시맨틱거리 추출부(160)는 시맨틱 거리를 구함에 있어서, 추출된 키워드의 시맨틱요소와 색인정보부(140)에 색인화되어 저장된 시맨틱 정보의 시맨틱요소에 대하여 공통적인 시맨틱요소의 갯수에 비례한 값으로 생성함에 있어서, 각 시맨틱요소에 대하여 가중치를 설정할 수 있다.
시맨틱거리 추출부(160)는 사용자의 쿼리로 입력한 키워드의 시맨틱정보와 색인화되어 저장된 시맨틱 정보의 연관성에 근거하여 시맨틱 거리를 정의하기 위한 다른 예로 수학식 2와 같이 가중 코사인 유사성(Weighted Cosine Similarity)을 이용할 수도 있다.
(p: 문제 벡터, q: 쿼리 벡터, wi, 가중치, v: 벡터가 가지는 원소의 개수)
즉, 각 시맨틱요소에 대하여 가중치(wi)를 부여하여 시맨틱 거리를 계산할 수 있다. 이 경우 가중치에 의하여 중요도가 높게 설정된 시맨틱요소가 일치할수록 두 수학문장간의 시맨틱거리는 더 가까운 것으로 계산될 수 있다.
수학식 2에서도 수학식 1과 유사하게, cosw(q, p)가 “0”의 값을 가지면 해당 시맨틱 정보가 없거나, 그 열에 있는 문제와 관련이 없다는 것을 의미한다. 반면에, cosw(q, p)가 “1”의 값을 가지면 그 행에 일치하는 시맨틱 정보가 있다는 것을 나타내고, 시맨틱 정보간의 상하 관계 또는 중요도에 따라 가중치를 wi라고 하면, 수학식 1의 행렬을 사용하면 수학 문장 벡터 p와 쿼리 벡터 q 사이의 코사인 각을 구할 수 있다.
수학식 1에서, 시맨틱 거리를 나타내는 cosw(q, p)는 0에서 1까지의 값을 가지는데, 1에 가까울수록 두 문장간의 시맨틱 유사성이 더 높다고 할 수 있다. cosw(q, p)가 1 이 되면, 두 문장 p, q 의 시맨틱 정보가 정확하게 일치하는 경우이고, cosw(q, p)가 0 이 되는 경우에는 두 문장 p, q 간의 시맨틱 유사성이 전혀 없는 경우라고 할 수 있다.
한편, 두 수학식 사이의 시맨틱 거리는 두 수학식 사이에 동일한 시맨틱요소의 가중치의 합에 반비례하고 두 수학식에 포함된 전체 시맨틱 요소의 가중치의 합에 비례한다.
예를 들어, 두 수학식 A의 시맨틱요소와 수학식 B의 시맨틱요소의 합집합을 S={s1, s2, ..., sN}이라 하고, 합집합의 N 개의 각 요소에 대응하는 가중치(Weight)의 집합을 W={w1, w2, ..., wN}이라 가정하자.
이때, S의 각 원소 sm(m = 1,..., N)에 대하여 수학식 A와 수학식B에 동일하게 존재하는 해당 시맨틱요소(sm)의 가중치를 모두 합산하여 동일시맨틱 가중치합(E)을 계산한다.
따라서, 수학식A와 수학식B의 시맨틱 거리(D)는 다음의 식에 의해 계산될 수 있다(D = (Sum(wm)/E)).
따라서, 수학식3에 나타낸 바와 같이 두 수학식 간의 시맨틱거리는 두 수학식 사이의 시맨틱 거리는 동일한 시맨틱요소의 가중치의 합(E)에 반비례하고 두 수학식에 포함된 전체 시맨틱 요소의 가중치의 합(Sum(wm))에 비례함을 알 수 있다.
이때, 가중치값(wm)은 시맨틱 요소마다 모두 같을 수도 있고(예컨대 1), 시맨틱 요소간의 중요도에 따라서 시맨틱 요소마다 서로 다른 값을 가질 수도 있다.
예를 들어 아래와 같이 세개의 문제(A, B, C)가 있다고 가정하자.
1.문제A: 방정식 x2+2x+1=0을 풀어라.
2.문제B: 방정식 x2-4=0을 풀어라.
3.문제C: 방정식 x3-1=0을 풀어라 (단, x > 0)
또한, 위의 문제들에서 각각 추출된 시맨틱 정보가 아래와 같은 경우
- 문제A의 시맨틱요소: 동작(풀어라), 차수(2차 방정식), 항의 수(3항)
- 문제B의 시맨틱 요소: 동작(풀어라), 차수(2차 방정식), 항의 수(2항)
- 문제C의 시맨틱 요소: 동작(풀어라), 차수(3차 방정식), 항의 수(2항), 조건 부등식.
모든 시맨틱 요소의 가중치(weight)를 1로 가정할 경우, 수학식3의 계산식에 의해서 문제A와 문제B의 시맨틱 거리는, 전체 시맨틱 요소의 가중치의 합(Sum(wm))은 3이고 문제A와 문제B 사이의 동일한 시맨틱요소가 동작('풀어라') 및 차수(2차 방정식)가 있으므로 동일한 시맨틱요소의 가중치의 합(E)은 2가 되어, (D = 3/2 = 1.5)가 된다. 또한, 문제A와 문제C의 시맨틱 거리는, 전체 시맨틱 요소의 가중치의 합(Sum(wm))은 4이고 문제A와 문제C 사이의 동일한 시맨틱요소가 동작('풀어라') 하나밖에 없어서 동일한 시맨틱요소의 가중치의 합(E)은 1이 되므로, (D = 4/1 = 4)가 된다. 또한, 문제B와 문제C의 시맨틱 거리는, 전체 시맨틱 요소의 가중치의 합(Sum(wm))은 4이고 A와 B 사이의 동일한 시맨틱요소가 동작('풀어라') 및 항의 수(2항)이 있으므로 동일한 시맨틱요소의 가중치의 합(E)은 2가 되므로, (D = 4/2 = 2)가 된다.
만약에 방정식 차수 정보를 가장 중요하게 생각해서 차수에 대한 가중치를 2로 두고 나머지 정보는 1로 둔 경우에는, 문제A와 문제B의 시맨틱 거리는, 전체 시맨틱 요소의 가중치의 합(Sum(wm))은 4이고 문제A와 문제B 사이의 동일한 시맨틱요소가 동작('풀어라') 및 차수(2차 방정식)가 있으므로 동일한 시맨틱요소의 가중치의 합(E)은 3이 되어, (D = 4/3 = 1.33)이 된다. 또한, 문제A와 문제C의 시맨틱 거리는, 전체 시맨틱 요소의 가중치의 합(Sum(wm))은 5이고 문제A와 문제C 사이의 동일한 시맨틱요소의 가중치의 합(E)은 1이 되어, (D = 5/1 = 5)가 된다. 또한, 문제B와 문제C의 시맨틱 거리는, 전체 시맨틱 요소의 가중치의 합(Sum(wm))은 5이고 문제B와 문제C 사이의 동일한 시맨틱요소의 가중치의 합(E)은 2가 되어, (D = 5/2 = 2.5)가 된다.
위와 같이 수학식 문제간의 시맨틱거리 값을 통하여 값이 그 값이 작을 경우 두 수학식문제 사이에 유사성이 높다고 판단하고, 그 값이 클 경우 두 수학식문제 사이에 유사성이 낮다고 판단하여 이러한 정보를 활용할 수 있다.
결과 제공부(170)는 시맨틱 거리의 측정에 의해 산출된 유사도에 의해 점수화된 쿼리 색인 정보의 순위(Ranking) 결과 페이지를 제공할 수 있다. 여기서, 순위 결과 페이지를 요청하는 서버 또는 단말기로 순위 결과 페이지를 제공할 수 있으나 반드시 이에 한정되는 것은 아니며, 수학문장의 분류 장치(100)가 자립형(Stand Alone) 장치로 구현되는 경우, 구비된 표시부를 통해 해당 순위 결과 페이지를 나타낼 수 있을 것이다.
즉, 사용자 쿼리 입력부(140)를 통해 입력된 사용자 쿼리는 쿼리 파서부(150)에서 파싱되고, 시맨틱거리 추출부(160)로 전달되고, 결과 제공부(170)는 기 저장된 수학 컨텐츠에 대한 인덱스와 사용자 쿼리의 인덱스를 토대로 시맨틱 거리를 바탕으로 한 연관성을 비교하여 점수화를 수행하며 사용자 결과 페이지에 순위를 출력하는 것이다.
도 7은 본 발명의 일 실시예에 따른 수학문장의 분류 방법을 설명하기 위한 순서도이다.
본 발명의 일 실시예에 따른 수학문장의 분류 방법은 자연어(Natural Language)와 수식(Mathematical Formula)이 포함된 복합문장을 수신하는 정보입력단계(S710), 복합 문장에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 시맨틱 정보를 생성하여 자연어토큰 및 수학식토큰을 생성하는 시맨틱 파싱단계(S720), 추출한 시맨틱 정보를 색인화(Indexing)한 정보를 저장하는 색인정보단계(S730), 사용자로부터 퀴리를 수신하는 사용자쿼리 입력단계(S740), 입력된 사용자 쿼리(Query)에 포함된 키워드(Key Word)를 추출하는 쿼리파싱단계(S750), 추출된 키워드와 시맨틱 정보와의 시맨틱 거리를 측정하여 유사도를 획득하는 시맨틱거리 추출단계(S760) 및 시맨틱 거리의 측정에 의해 산출된 유사도에 의해 점수화된 쿼리 색인 정보의 순위(Ranking) 결과 페이지를 제공하는 결과 제공단계(S770)을 포함한다.
여기서, 정보입력단계(S710)는 정보입력부(110)의 동작에, 시맨틱 파싱단계(S720)는 시맨틱 파싱부(120)의 동작에, 색인정보단계(S730)는 색인정보부(130)의 동작에, 사용자쿼리 입력단계(S740)는 사용자쿼리 입력부(140)의 동작에, 쿼리파싱단계(S750)는 쿼리파싱부(150)의 동작에, 시맨틱거리 추출단계(S760)는 시맨틱거리 추출부(160)의 동작에, 결과 제공단계(S770)는 결과 제공단계부(170)의 동작에 각각 대응되므로 상세한 설명은 생략한다.
전술한 바와 같이 도 7에 기재된 본 발명의 일 실시예에 따른 수학문장의 분류 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 발명의 일 실시예에 따른 수학문장의 분류 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 발명의 일 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명의 일 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있으며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명의 실시예에 의하면, 자연어와 표준화된 수학식으로 구성된 수학문장에 포함된 시맨틱 거리를 추출하여 입력된 수학문장의 검색시 저장된 수학콘텐츠와의 유사성을 부여하여 사용자 검색환경을 제공할 있도록 하는 효과가 있어 산업상 이용가능성이 크다.
Claims (26)
- 사용자로부터 퀴리를 수신하는 사용자쿼리 입력부;
입력된 사용자 쿼리(Query)에 포함된 키워드를 추출하는 쿼리파싱부;
시맨틱 정보가 포함된 자연어토큰 및 수학식토큰을 색인화하는 색인정보부; 및
상기 추출된 키워드가 나타내는 시맨틱 정보와 상기 자연어토큰 및 상기 수학식토큰이 색인화되어 저장된 시맨틱 정보와의 유사도를 나타내는 시맨틱 거리를 획득하는 시맨틱거리 추출부
를 포함하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 제 1항에 있어서,
상기 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치는,
자연어와 수식이 포함된 복합문장을 수신하는 정보입력부; 및
상기 복합문장에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 시맨틱 정보를 생성하여 자연어토큰 및 수학식토큰을 생성하는 시맨틱파싱부
를 추가로 포함하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 제 2항에 있어서,
상기 시맨틱 파싱부는,
상기 복합문장을 단순문장의 논리적 조합으로 변환한 후 시맨틱 정보를 생성하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 제 2 항에 있어서,
상기 시맨틱 파싱부는,
상기 자연어를 토큰화한 자연어 토큰을 생성하고, 상기 자연어 토큰을 근거로 중지 단어를 필터링한 중지 단어 필터링 데이터를 생성하며, 상기 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성하고, 상기 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭하여 상기 시맨틱 정보로 추출하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 제 2항에 있어서,
상기 시맨틱 파싱부는,
상기 수식을 트리 형태로 변환하고, 상기 트리 형태로 변환된 수식에 횡단 과정을 수행하며, 상기 횡단 과정이 수행된 수식에 토큰화를 수행한 수식 토큰을 생성하여 상기 시맨틱 정보로 추출하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 제 1항에 있어서,
상기 시맨틱정보는,
자연어와 수식의 조합과 상기 조합에 대응되는 동작정보를 결합한 룰을 참조하고 상기 자연어토큰 및 상기 수학식토큰을 상기 룰과 비교하여 추출되는 상기 동작정보를 포함하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 제 6항에 있어서,
상기 동작정보는,
상기 자연어토큰의 구조상의 의미, 상기 자연어토큰의 방향성 및 상기 자연어토큰의 영향이 미치는 지점을 포함하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 제 7항에 있어서,
상기 방향성은,
상기 동작정보가 상기 자연어토큰의 앞의 수학식과 연관되는지, 상기 자연어토큰의 뒤의 수학식과 연관되는지 또는 독립적인지를 나타내는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 제 1항에 있어서,
상기 시맨틱정보는,
상기 자연어토큰의 대상이 되는 수식을 상기 수학식토큰 중에서 매칭시켜 생성된 수학 오브젝트를 포함하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 제 1항에 있어서,
상기 쿼리파싱부는,
상기 사용자 쿼리에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 시맨틱 정보를 생성하여 자연어토큰 및 수학식토큰을 포함하는 키워드를 추출하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 제 1항에 있어서,
상기 시맨틱 거리는,
상기 추출된 키워드의 시맨틱요소와 상기 색인화된 시맨틱 정보의 시맨틱요소에 대하여 공통적인 시맨틱요소의 갯수에 비례한 값으로 생성되는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 제 11항에 있어서,
상기 시맨틱요소는,
각 시맨틱요소별로 가중치가 설정되는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 제 1항에 있어서,
상기 시맨틱 거리는,
추출된 키워드의 시맨틱요소와 상기 색인화된 시맨틱 정보의 전체 시맨틱요소에 대비 공통적인 시맨틱요소가 많을수록 시맨틱거리는 짧아지고, 상기 전체 시맨틱요소 대비 공통적인 시맨틱요소가 적을수록 시맨틱거리는 길어지는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 제 1항에 있어서,
상기 시맨틱 거리는,
상기 추출된 키워드와 상기 색인화된 시맨틱 정보에 동일하게 존재하는 시맨틱요소의 가중치의 합에 반비례하고 상기 추출된 키워드와 상기 색인화된 시맨틱 정보에 포함된 전체 시맨틱 요소의 가중치의 합에 비례하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 장치. - 수학문장의 시맨틱거리 추출 및 수학문장의 분류 장치에 의한 수학문장의 분류 방법에 있어서,
사용자로부터 퀴리를 수신하는 사용자쿼리 입력단계;
입력된 사용자 쿼리에 포함된 키워드를 추출하는 쿼리파싱단계; 및
시맨틱 정보가 포함된 자연어토큰 및 수학식토큰이 색인화된 정보를 참조하여, 상기 추출된 키워드가 나타내는 시맨틱 정보와 상기 자연어토큰 및 상기 수학식토큰이 색인화되어 저장된 시맨틱 정보와의 유사도를 나타내는 시맨틱 거리를 획득하는 시맨틱거리 추출단계
를 포함하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법. - 제 15항에 있어서,
상기 시맨틱정보는,
자연어와 수식이 포함된 복합문장을 수신하는 정보입력단계; 및
상기 복합문장에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 시맨틱 정보를 생성하여 자연어토큰 및 수학식토큰을 생성하는 시맨틱 파싱단계
로 생성된 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법. - 제 16항에 있어서,
상기 시맨틱 파싱단계는,
상기 복합문장을 단순문장의 논리적 조합으로 변환한 후 시맨틱 정보를 생성하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법. - 제 16항에 있어서,
상기 시맨틱 파싱단계는,
상기 자연어를 토큰화한 자연어 토큰을 생성하고, 상기 자연어 토큰을 근거로 중지 단어를 필터링한 중지 단어 필터링 데이터를 생성하며, 상기 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성하고, 상기 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭하여 상기 시맨틱 정보로 추출하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법. - 제 16항에 있어서,
상기 시맨틱 파싱단계는,
상기 수식을 트리 형태로 변환하고, 상기 트리 형태로 변환된 수식에 횡단 과정을 수행하며, 상기 횡단 과정이 수행된 수식에 토큰화를 수행한 수식 토큰을 생성하여 상기 시맨틱 정보로 추출하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법. - 제 16항에 있어서,
상기 시맨틱정보는,
자연어와 수식의 조합과 상기 조합에 대응되는 동작정보를 결합한 룰을 참조하고 상기 자연어토큰 및 상기 수학식토큰을 상기 룰과 비교하여 추출되는 상기 동작정보를 포함하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법. - 제 20항에 있어서,
상기 동작정보는,
상기 자연어토큰의 구조상의 의미, 상기 자연어토큰의 방향성 및 상기 자연어토큰의 영향이 미치는 지점을 포함하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법. - 제 16항에 있어서,
상기 시맨틱정보는,
상기 자연어토큰의 대상이 되는 수식을 상기 수학식토큰 중에서 매칭시켜 생성된 수학 오브젝트를 포함하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법. - 제 15항에 있어서,
상기 쿼리파싱단계는,
상기 사용자 쿼리에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 시맨틱 정보를 생성하여 자연어토큰 및 수학식토큰을 포함하는 키워드를 추출하는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법. - 제 15항에 있어서,
상기 시맨틱 거리는,
상기 추출된 키워드의 시맨틱요소와 상기 색인화된 시맨틱 정보의 시맨틱요소에 대하여 공통적인 시맨틱요소의 갯수에 비례한 값으로 생성되는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법. - 제 15항에 있어서,
상기 시맨틱 거리는,
추출된 키워드의 시맨틱요소와 상기 색인화된 시맨틱 정보의 전체 시맨틱요소에 대비 공통적인 시맨틱요소가 많을수록 시맨틱거리는 짧아지고, 상기 전체 시맨틱요소 대비 공통적인 시맨틱요소가 적을수록 시맨틱거리는 길어지는 것을 특징으로 하는 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법. - 제 15항 내지 제 25항 중 어느 한 항에 의한 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류 방법의 각 단계를 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201180059052.0A CN103250149B (zh) | 2010-12-07 | 2011-12-07 | 用于从数学语句提取语义距离并且按照语义距离对数学语句分类的方法和用于该方法的装置 |
PCT/KR2011/009439 WO2012077979A2 (ko) | 2010-12-07 | 2011-12-07 | 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 |
US13/911,950 US9424251B2 (en) | 2010-12-07 | 2013-06-06 | Method for extracting semantic distance from mathematical sentences and classifying mathematical sentences by semantic distance, device therefor, and computer readable recording medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20100124384 | 2010-12-07 | ||
KR1020100124384 | 2010-12-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120063442A KR20120063442A (ko) | 2012-06-15 |
KR101431530B1 true KR101431530B1 (ko) | 2014-08-22 |
Family
ID=46683931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110130024A KR101431530B1 (ko) | 2010-12-07 | 2011-12-07 | 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9424251B2 (ko) |
KR (1) | KR101431530B1 (ko) |
CN (1) | CN103250149B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170132660A (ko) * | 2016-05-24 | 2017-12-04 | 삼성전자주식회사 | 스토리지 거리를 예측하기 위한 방법 및 장치 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9460075B2 (en) | 2014-06-17 | 2016-10-04 | International Business Machines Corporation | Solving and answering arithmetic and algebraic problems using natural language processing |
US9514185B2 (en) * | 2014-08-07 | 2016-12-06 | International Business Machines Corporation | Answering time-sensitive questions |
US20170278038A1 (en) * | 2014-08-25 | 2017-09-28 | Hewlett-Packard Development Company, L.P. | Discussion resource recommendation |
US9430557B2 (en) | 2014-09-17 | 2016-08-30 | International Business Machines Corporation | Automatic data interpretation and answering analytical questions with tables and charts |
JPWO2017061253A1 (ja) * | 2015-10-09 | 2018-08-16 | アイビーリサーチ株式会社 | 表示制御装置、表示制御方法及び表示制御プログラム |
US9740705B2 (en) | 2015-12-04 | 2017-08-22 | International Business Machines Corporation | Storlet workflow optimization leveraging clustered file system roles |
US9501493B1 (en) * | 2015-12-04 | 2016-11-22 | International Business Machines Corporation | Instantiating virtualization unit on storage or proxy node for performing operation based on node having hardware characteristics for serving required file system role for operation |
CN106919565B (zh) * | 2015-12-24 | 2020-12-22 | 航天信息股份有限公司 | 一种基于MapReduce的文档检索方法及系统 |
US10810374B2 (en) * | 2016-08-03 | 2020-10-20 | Baidu Usa Llc | Matching a query to a set of sentences using a multidimensional relevancy determination |
CN106814964A (zh) * | 2016-12-19 | 2017-06-09 | 广东小天才科技有限公司 | 一种在移动终端进行内容搜索的方法及内容搜索装置 |
US10853716B2 (en) * | 2016-12-27 | 2020-12-01 | Microsoft Technology Licensing, Llc | Systems and methods for a mathematical chat bot |
CN107544960B (zh) * | 2017-08-29 | 2020-01-14 | 中国科学院自动化研究所 | 一种基于变量绑定和关系激活的自动问答方法 |
CN108304166A (zh) * | 2018-01-18 | 2018-07-20 | 北京航空航天大学 | 一种人工智能程序员根据公式描述书写源程序的方法 |
CN110096692B (zh) * | 2018-01-29 | 2021-04-09 | 亿度慧达教育科技(北京)有限公司 | 一种语义信息处理方法和装置 |
KR102055747B1 (ko) | 2018-04-02 | 2019-12-13 | 주식회사 클래스큐브 | 수식을 포함하는 문서를 검색하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 |
US10878193B2 (en) * | 2018-05-01 | 2020-12-29 | Kyocera Document Solutions Inc. | Mobile device capable of providing maintenance information to solve an issue occurred in an image forming apparatus, non-transitory computer readable recording medium that records an information processing program executable by the mobile device, and information processing system including the mobile device |
CN109522420B (zh) * | 2018-11-16 | 2022-04-22 | 广东小天才科技有限公司 | 一种获取学习需求的方法及系统 |
CN109740143B (zh) * | 2018-11-28 | 2022-08-23 | 平安科技(深圳)有限公司 | 基于机器学习的句子距离映射方法、装置和计算机设备 |
KR102047669B1 (ko) * | 2019-02-19 | 2019-11-22 | 송연호 | 출제 예상 정보의 전자상거래 방법 |
KR101986721B1 (ko) * | 2019-03-27 | 2019-06-10 | 월드버텍 주식회사 | 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법 |
CN110414319B (zh) * | 2019-06-13 | 2021-08-31 | 中国软件与技术服务股份有限公司 | 一种公式相似度计算方法和科技文档检索方法及装置 |
US11651274B2 (en) * | 2019-07-10 | 2023-05-16 | Here Global B.V. | Method, apparatus, and system for providing semantic filtering |
CN110516029B (zh) * | 2019-08-14 | 2022-06-10 | 出门问问创新科技有限公司 | 一种数据处理方法、设备及计算机存储介质 |
CN111611344B (zh) * | 2020-05-06 | 2023-06-13 | 北京智通云联科技有限公司 | 基于字典和知识图谱的复杂属性查询方法、系统及设备 |
CN111639194B (zh) * | 2020-05-29 | 2023-08-08 | 天健厚德网络科技(大连)有限公司 | 基于句向量的知识图谱查询方法及系统 |
CN114091430A (zh) * | 2020-06-29 | 2022-02-25 | 微软技术许可有限责任公司 | 基于子句的语义解析 |
KR102499775B1 (ko) * | 2022-07-15 | 2023-02-16 | 대한민국 | 재난뉴스 건수의 정량적 측정 시스템 및 방법 |
KR102645590B1 (ko) * | 2022-08-03 | 2024-03-11 | 주식회사 프로키언 | 인공지능 기반의 수학 문제 코드 제공 모델 생성 방법과 해당 모델을 이용한 수학 문제 생성 방법 및 장치 |
WO2024029708A1 (ko) * | 2022-08-03 | 2024-02-08 | 주식회사 프로키언 | 인공지능 기반의 수학 문제 코드 제공 모델 생성 방법과 해당 모델을 이용한 수학 문제 생성 방법 및 장치 |
US20240104292A1 (en) * | 2022-09-23 | 2024-03-28 | Texas Instruments Incorporated | Mathematical calculations with numerical indicators |
CN116050412B (zh) * | 2023-03-07 | 2024-01-26 | 江西风向标智能科技有限公司 | 基于数学语义逻辑关系的高中数学题目的分割方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000046701A1 (en) * | 1999-02-08 | 2000-08-10 | Huntsman Ici Chemicals Llc | Method for retrieving semantically distant analogies |
JP4181310B2 (ja) * | 2001-03-07 | 2008-11-12 | 昌和 鈴木 | 数式認識装置および数式認識方法 |
US20040114258A1 (en) * | 2002-12-17 | 2004-06-17 | Harris Richard Alexander | Device and method for combining dynamic mathematical expressions and other multimedia objects within a document |
CN101329731A (zh) * | 2008-06-06 | 2008-12-24 | 南开大学 | 图像中数学公式的自动识别方法 |
-
2011
- 2011-12-07 CN CN201180059052.0A patent/CN103250149B/zh not_active Expired - Fee Related
- 2011-12-07 KR KR1020110130024A patent/KR101431530B1/ko active IP Right Grant
-
2013
- 2013-06-06 US US13/911,950 patent/US9424251B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
Misutka, Extending Full Text Search Engine for Mathematical Content, Proceedings of Towards Digital Mathematics Library,pp.55-67, 2008, 2008.12.16 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170132660A (ko) * | 2016-05-24 | 2017-12-04 | 삼성전자주식회사 | 스토리지 거리를 예측하기 위한 방법 및 장치 |
KR102168958B1 (ko) | 2016-05-24 | 2020-10-22 | 삼성전자주식회사 | 스토리지 거리를 예측하기 위한 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
CN103250149B (zh) | 2015-11-25 |
CN103250149A (zh) | 2013-08-14 |
KR20120063442A (ko) | 2012-06-15 |
US9424251B2 (en) | 2016-08-23 |
US20130275122A1 (en) | 2013-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101431530B1 (ko) | 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 | |
US11573996B2 (en) | System and method for hierarchically organizing documents based on document portions | |
CN107257970B (zh) | 从结构化和非结构化数据源进行的问题回答 | |
US20130268263A1 (en) | Method for processing natural language and mathematical formula and apparatus therefor | |
US9183274B1 (en) | System, methods, and data structure for representing object and properties associations | |
US9280535B2 (en) | Natural language querying with cascaded conditional random fields | |
US9880998B1 (en) | Producing datasets for representing terms and objects based on automated learning from text contents | |
CN109446313B (zh) | 一种基于自然语言分析的排序系统及方法 | |
Rizvi et al. | Ontology-based Information Extraction from Technical Documents. | |
KR101476225B1 (ko) | 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 | |
Hu et al. | BIM oriented intelligent data mining and representation | |
JP2010250439A (ja) | 検索システム、データ生成方法、プログラムおよびプログラムを記録した記録媒体 | |
KR101267038B1 (ko) | 벡터 공간 모델을 이용한 rdf 트리플 선택 방법, 장치, 및 그 방법을 실행하기 위한 프로그램 기록매체 | |
WO2022176236A1 (ja) | 研究観点提示システム、および研究観点提示方法 | |
KR101752257B1 (ko) | 링크드 오픈 데이터 클라우드 정보 서비스 시스템 및 그 제공 방법과 이를 구현하기 위한 프로그램이 저장된 기록매체 | |
KR101406000B1 (ko) | 자연어 및 수식 입력 제공 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 | |
KR20110002262A (ko) | 시맨틱 데이터 추출 시스템 및 이를 이용한 검색 엔진 | |
Tran et al. | A model of vietnamese person named entity question answering system | |
KR101476232B1 (ko) | 자연어와 수학식이 포함된 복합문장의 논리적 표현 변환방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 | |
Vrochidis et al. | A multimodal analytics platform for journalists analyzing large-scale, heterogeneous multilingual, and multimedia content | |
KR101417928B1 (ko) | 자연어 및 수식 구조화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 | |
JP2009282903A (ja) | 知識抽出・検索装置およびその方法 | |
Azman et al. | Towards an enhanced aspect-based contradiction detection approach for online review content | |
KR101476230B1 (ko) | 자연어와 수학식이 포함된 복합문장의 시맨틱 정보 추출방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 | |
Uwano et al. | Automatic Extraction of User-Centric Aspects for Tourist Spot Recommender Systems Using Reviews in Japanese |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170808 Year of fee payment: 4 |