KR20120070713A - 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 - Google Patents

자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 Download PDF

Info

Publication number
KR20120070713A
KR20120070713A KR1020100132141A KR20100132141A KR20120070713A KR 20120070713 A KR20120070713 A KR 20120070713A KR 1020100132141 A KR1020100132141 A KR 1020100132141A KR 20100132141 A KR20100132141 A KR 20100132141A KR 20120070713 A KR20120070713 A KR 20120070713A
Authority
KR
South Korea
Prior art keywords
natural language
information
formula
semantic
data
Prior art date
Application number
KR1020100132141A
Other languages
English (en)
Other versions
KR101476225B1 (ko
Inventor
박용길
최승락
박근태
이동학
이종헌
이명성
최형인
위남숙
이두석
손정교
김행문
Original Assignee
에스케이 텔레콤주식회사
주식회사 아이싸이랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이 텔레콤주식회사, 주식회사 아이싸이랩 filed Critical 에스케이 텔레콤주식회사
Priority to KR1020100132141A priority Critical patent/KR101476225B1/ko
Priority to CN201180064528.XA priority patent/CN103299292B/zh
Priority to PCT/KR2011/009333 priority patent/WO2012074338A2/ko
Publication of KR20120070713A publication Critical patent/KR20120070713A/ko
Priority to US13/908,366 priority patent/US20130268263A1/en
Application granted granted Critical
Publication of KR101476225B1 publication Critical patent/KR101476225B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

본 발명의 일 실시예는 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
본 발명의 일 실시예는 자연어(Natural Language) 및 수식(Mathematical Formula)의 조합으로 이루어진 조합 데이터를 입력받는 정보 입력부; 상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 시멘틱 파서부(Semantic Parser); 상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 데이터 관리부; 입력된 사용자 쿼리(Query)에 포함된 키워드(Key Word)를 추출하여 구조화하는 쿼리 파서부(Query Parser); 및 상기 시멘틱 정보를 색인화(Indexing)한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 색인부를 포함하는 것을 특징으로 하는 자연어 및 수식 색인화 장치를 제공한다.

Description

자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체{Method for Indexing Natural Language And Mathematical Formula, Apparatus And Computer-Readable Recording Medium with Program Therefor}
본 발명의 일 실시예는 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다. 더욱 상세하게는, 자연어 처리(Natural Language Processing) 및 수식 처리(Mathematical Formula Processing)를 함께 수행한 시멘틱(Semantic) 정보에 기초하여 사용자 쿼리(Query)를 구조화한 정보가 같이 색인화되도록 하여 자연어 및 수식이 조합된 데이터의 인덱스를 통해 유사성을 분석하고, 점수화한 순위 결과를 제공할 수 있도록 하는 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
사람의 언어는 풍부하고 복잡하며, 복잡한 문법 및 문맥 의미를 갖는 엄청난 어휘를 포함하고 있으나 기계 또는 소프트웨어 애플리케이션은 일반적으로 특정 형식 또는 규칙에 따라 데이터를 입력할 것을 요구한다. 여기서, 자연어 입력은 사람과 상호작용하기 위한 거의 모든 소프트웨어 애플리케이션에서 이용될 수 있다. 일반적인 자연어 처리 과정은 자연어를 토큰(Token)으로 분리하고 소프트웨어 애플리케이션에 의해 제공되는 하나 이상의 동작에 매핑하며 각각의 소프트웨어 애플리케이션이 일련의 고유한 동작들을 가지도록 설정된다. 즉, 소프트웨어 개발자가 자연어 입력을 해석하는 코드를 작성하여 입력을 각각의 애플리케이션에 대한 적절한 동작에 매핑하는 방식이다.
하지만, 이러한 자연어 처리 방식은 수식을 인식하지 못할 뿐 아니라, 자연어 및 수식을 색인화하여 제공하지 못하는 문제가 있었다.
전술한 문제점을 해결하기 위해 본 발명의 일 실시예는, 자연어 처리 및 수식 처리를 함께 수행한 시멘틱 정보에 기초하여 사용자 쿼리를 구조화한 정보가 같이 색인화되도록 하는 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 주된 목적이 있다.
전술한 목적을 달성하기 위해 본 발명의 일 실시예는, 자연어(Natural Language) 및 수식(Mathematical Formula)의 조합으로 이루어진 조합 데이터를 입력받는 정보 입력부; 상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 시멘틱 파서부(Semantic Parser); 상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 데이터 관리부; 입력된 사용자 쿼리(Query)에 포함된 키워드(Key Word)를 추출하여 구조화하는 쿼리 파서부(Query Parser); 및 상기 시멘틱 정보를 색인화(Indexing)한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 색인부를 포함하는 것을 특징으로 하는 자연어 및 수식 색인화 장치를 제공한다.
또한, 본 발명의 다른 목적에 의하면, 자연어(Natural Language) 및 수식(Mathematical Formula)의 조합으로 이루어진 조합 데이터를 입력받는 정보 입력부; 상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 시멘틱 파서부; 상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 데이터 관리부; 입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하는 쿼리 파서부; 상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 색인부; 상기 키워드와 상기 시멘틱 색인 정보의 연관성에 근거하여 상기 쿼리 색인 정보를 점수화(Scoring)하는 점수화부; 및 상기 점수화된 순위(Ranking) 결과 페이지를 제공하는 결과 페이지 제공부를 포함하는 것을 특징으로 하는 자연어 및 수식 색인화 장치를 제공한다.
또한, 본 발명의 다른 목적에 의하면, 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 경우, 상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하고, 상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하며, 입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하며, 상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 저장 매체를 저장하는 저장부; 단말기로 하여금 상기 저장 매체에 대한 데이터의 읽기 및 쓰기가 수행되도록 하는 클라우드 컴퓨팅부를 포함하는 것을 특징으로 하는 자연어 및 수식 구조화 장치를 제공한다.
또한, 본 발명의 다른 목적에 의하면, 자연어(Natural Language) 및 수식(Mathematical Formula)의 조합으로 이루어진 조합 데이터를 입력받는 정보 입력 단계; 상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 시멘틱 파서 단계; 상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 데이터 관리 단계; 입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하는 쿼리 파서 단계; 및 상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 색인 단계를 포함하는 것을 특징으로 하는 자연어 및 수식 색인화 방법을 제공한다.
또한, 본 발명의 다른 목적에 의하면, 전술한 자연어 및 수식 색인화 방법의 각 단계를 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 본 발명의 다른 목적에 의하면, 저장 매체에 대한 데이터의 읽기 또는 쓰기 요청을 확인하는 단계; 상기 읽기 또는 쓰기 요청에 따라 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 경우, 상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 단계; 상기 읽기 또는 쓰기 요청에 따라 상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 단계; 상기 읽기 또는 쓰기 요청에 따라 입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하며, 상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅을 이용한 자연어 및 수식 색인화 방법을 제공한다.
이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 자연어 처리 및 수식 처리를 함께 수행한 시멘틱 정보에 기초하여 사용자 쿼리를 구조화한 정보가 같이 색인화되도록 하여 자연어 및 수식이 조합된 데이터의 인덱스를 통해 유사성을 분석하고, 점수화한 순위 결과를 제공할 수 있는 효과가 있다.
또한, 본 발명의 일 실시예에 의하면, 사용자 쿼리와 분석된 수학 컨텐츠들의 인덱스를 통하여 유사성을 분석하고 순위를 산정한 후 이를 사용자에게 제공할 수 있는 효과가 있다. 또한, 본 발명의 일 실시예에 의하면, 사용자가 검색하고자하는 사용자 쿼리에 포함된 수식과 가장 가까운 수식을 포함한 데이터를 함께 사용자에게 제공할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 자연어 및 수식 색인화 장치를 개략적으로 나타낸 블럭 구성도,
도 2는 본 발명의 일 실시예에 따른 자연어 및 수식 색인화 방법을 설명하기 위한 순서도,
도 3은 본 발명의 일 실시예에 따른 색인화된 쿼리 정보의 순위 결과를 제공하는 방법을 설명하기 위한 순서도,
도 4는 본 발명의 일 실시예에 따른 시멘틱 정보에 포함된 반전된 파일 구조의 예시도,
도 5는 본 발명의 일 실시예에 따른 시멘틱 정보에 포함된 인덱스를 불 벡터로 표현한 예시도,
도 6은 본 발명의 일 실시예에 따른 자연어 및 수식 색인화 장치가 클라우드 컴퓨팅으로 데이터를 제공하는 시스템에 대한 예시도,
도 7은 본 발명의 일 실시예에 따른 자연어 및 수식을 구성하고 있는 정보를 분석하여 특정 의미에 따라 구분하는 방법에 대한 예시도이다.
본 발명에 기재된 자연어 및 수식 색인화 장치(100)는 자연어(Natural Language) 및 수식(Mathematical Formula)의 조합으로 이루어진 조합 데이터에서 자연어 및 수식 별로 구조화(DB화)할 때, 시멘틱 정보에 기초하여 사용자 쿼리를 구조화한 정보를 함께 색인화하기 위한 장치를 말하며, 자연어 및 수식 색인화 장치(100)는 하드웨어 또는 소프트웨어로 구현되어, 서버 또는 단말에 탑재될 수 있다.
도 1은 본 발명의 일 실시예에 따른 자연어 및 수식 색인화 장치를 개략적으로 나타낸 블럭 구성도이다.
본 발명의 일 실시예에 따른 자연어 및 수식 색인화 장치(100)는 정보 입력부(110), 시멘틱 파서부(Semantic Parser)(120), 데이터 관리부(130), 색인부(140), 사용자 쿼리 입력부(150), 쿼리 파서부(Query Parser)(160), 점수화부(170), 결과 페이지 제공부(180), 저장부(190) 및 클라우드 컴퓨팅(Cloud Computing)부(192)를 포함한다. 한편, 본 발명의 일 실시예에서는 자연어 및 수식 색인화 장치(100)가 정보 입력부(110), 시멘틱 파서부(120), 데이터 관리부(130), 색인부(140), 사용자 쿼리 입력부(150), 쿼리 파서부(160), 점수화부(170), 결과 페이지 제공부(180), 저장부(190) 및 클라우드 컴퓨팅부(192)만을 포함하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 자연어 및 수식 색인화 장치(100)에 포함되는 구성 요소에 대하여 다양하게 수정 및 변형하여 적용 가능할 것이다.
정보 입력부(110)는 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는다. 여기서, 조합 데이터는 수학 문제, 수식 증명 등을 포함한 수학 컨텐츠인 것이 바람직하나 반드시 이에 한정되는 것은 아니다. 또한, 자연어 및 수식의 조합으로 이루어진 조합 데이터는 사용자의 조작 또는 명령에 의해 직접 입력될 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버로부터 자연어 및 수식의 조합으로 이루어진 문서 데이터를 입력받을 수도 있을 것이다.
시멘틱 파서부(120)는 조합 데이터에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성한다. 여기서, 시멘틱 정보는 동작 인덱스, 시멘틱 인덱스, 문제 목록 인덱스 중 적어도 하나 이상의 인덱스를 포함하며, 문제 목록은 문제 ID로 정렬될 수 있다. 한편, 시멘틱 파서부(120)가 특정 의미를 파악하기 위해 수행하는 동작에 대해 구체적으로 설명하자면, 시멘틱 파서부(120)는 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석한 후 문장의 구조, 포함된 키워드 및 수식의 종류 정보 중 적어도 하나 이상의 정보를 이용하여 특정 의미를 파악한다. 즉, 시멘틱 파서부(120)는 기 설정된 룰(Rule) 기반으로 동작하여 특정 의미를 파악할 수 있으며, 시멘틱 파서부(120)가 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 구체적인 방법에 대해서는 도 7을 통해 설명하도록 한다.
또한, 시멘틱 파서부(120)가 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하기 위해 수행하는 동작에 대해 구체적으로 설명하자면, 시멘틱 파서부(120)는 조합 데이터에서 자연어 및 수식을 각각 분리한다. 즉, 시멘틱 파서부(120)는 정보 입력부(110)를 통해 자연어 및 수식의 조합으로 이루어진 조합 데이터가 입력되면, 조합 데이터에 포함된 자연어와 수식을 각각 분리하여 인식하는 것이다. 시멘틱 파서부(120)는 분리된 자연어를 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분한다. 시멘틱 파서부(120)는 자연어를 토큰화(Tokenization)한 자연어 토큰을 생성한다. 여기서, 토큰(Token)이란 연속된 문장에서 구별할 수 있는 단위를 말하며, 토큰화는 자연어를 자연어 및 수식 색인화 장치(100)가 이해할 수 있는 단위인 워드(Word) 단위로 쪼개는 과정을 말한다. 토큰화에 대해 좀더 구체적으로 설명하자면, 본 발명의 일 실시예에서 토큰화는 크게 자연어 토큰화와 수식 토큰화로 구분된다. 자연어 토큰화란 조합 데이터(수학 문제)에 포함된 자연어를 공백(Space)을 기준으로 분리한 결과물에 해당하는 각각의 어절(Word)을 자연어 토큰으로 인식하는 과정을 말한다. 각 토큰의 의미를 좀 더 명확히 파악하기 위하여 토큰에 대한 형태소 분석을 추가적으로 수행할 수도 있다. 한편, 수식 토큰화란 조합 데이터(수학 문제)에 포함되는 수식을 파싱(Parsing)한 후 얻게되는 개별 단위 정보를 수식 토큰으로 인식하는 과정을 말한다.
[예제 1]
Figure pat00001
예를 들어서, [예제 1]에서 자연어 토큰에 해당하는 정보는 'Find', 'the', 'function', 'value', 'with' 가 되며, 수식 토큰은 파싱을 통해서 정보를 추출한 후에 반환되는 값인 다항식(Polynomial), 최고 차수(Max degree=3), 항의 수(Number of terms=4), 조건(Condition) 등이 될 수 있다.
시멘틱 파서부(120)는 자연어 토큰을 근거로 중지 단어(Stop Word)를 필터링한 단어 필터링 데이터를 생성하며, 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행한 중복 제거 필터링 데이터를 생성한다. 여기서, 중지 단어란 문장이나 수식의 분석에 있어서 필요없는 토큰에 해당하는 부분을 제거하기 위해서 미리 정의해 놓은 단어들의 집합을 의미한다. 즉, [예제 1]에서 'the'(이외에도 a나 to 등)는 시스템에서 사전(Dictionary) 형태로 미리 정의되어 있다. 여기서, 사전은 단어의 집합을 포함하는 리스트를 의미한다. 즉, 자연어 토큰을 생성한 후 자연어 처리부(130)에서는 분석에 필요없는 부분인 중지단어를 제거하는 과정을 수행하게 되는데, 중지 단어 필터링은 수학 문제가 길어질 경우(서술형 문제 등)에 분석 과정에 너무 많은 토큰이 들어가는 것을 방지해 주며, 더불어 시스템의 처리 속도를 향상 시키기 위해 동작한다.
시멘틱 파서부(120)는 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭한다. 여기서, 동작 정보는 자연어 토큰 또는 수식 토큰을 바탕으로 추출할 수 있는 요약 정보를 의미한다. 예를 들어서, [예제 1]에서 자연어 토큰 또는 수식 토큰을 바탕으로 '풀다(Solve)'라는 동작 정보를 추출할 수 있다. 여기서, 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 동작 정보와 매칭 저장하는 이유는 조합 데이터(수학 문제)를 스키마(Schema)로 정의하는 과정에서 전체 문장이 의미하는 대표 동작에 대한 정보를 획득하여 이후에 검색 또는 문제간의 연관성(Similarity)을 분석할 때 도움이 되는 도구로 활용하기 위함이다.
시멘틱 파서부(120)는 자연어를 구성하고 있는 구성 정보에 대해 토큰화를 수행하여 자연어 토큰을 생성한다. 시멘틱 파서부(120)는 자연어 토큰에서 기 설정된 중지 단어로 판별된 자연어 토큰을 선별하여 제거하는 중지 단어 필터링을 수행하여 중지 단어 필터링 데이터를 생성한다. 시멘틱 파서부(120)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성한다. 시멘틱 파서부(120)는 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 기 정의된 의미가 부여된 동작 정보와 매칭 저장한다.
시멘틱 파서부(120)는 분리된 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분한다. 시멘틱 파서부(120)는 수식을 트리 형태로 변환하고, 트리 형태로 변환된 수식에 횡단(Traverse) 과정을 수행하고, 횡단 과정이 수행된 수식에 토큰화를 수행한다. 시멘틱 파서부(120)는 Math ML(Mathematical Markup Language)로 작성된 수식을 XML 트리 형태로 변환한 후 DOM(Document Object Model) 형태로 변환한다. 시멘틱 파서부(120)는 수식을 구성하는 구성 정보를 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색(Depth-First Search) 방식으로 횡단을 실행한다. 한편, 횡단 과정과 깊이 우선 검색에 대해 구체적으로 설명하자면, 일반적으로 수식은 Math ML의 형태를 띄고 있으며, 이는 트리의 형태로 구성이 되며, 이러한, 트리를 횡단하는 과정을 횡단 과정이라 칭하며, 횡단 과정을 수행할 때, 깊이 우선 검색(Depth-First Search)을 사용한다. 이러한, 횡단 과정은 트리의 루트(Root)에서 시작하여 자식 노드까지 들어간 후 모든 자식 노드의 검색이 끝나면 부모 노드로 이동하기 때문에, 자식 노드에서 가지고 있는 정보 모두를 부모 노드로 전달한다. 시간 복잡도 측면에서 엣지(Edge)의 수만큼만 검색을 수행하면 됨으로 효율적이다.
데이터 관리부(130)는 구성 정보, 자연어, 수식 및 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장한다. 데이터 관리부(130)는 재조합된 데이터를 문서 데이터로 변환한다. 색인부(140)는 시멘틱 파서부(120) 및 데이터 관리부(130)를 통해 수신된 시멘틱 정보에 번호를 부여하는 색인화(Indexing)를 수행하며, 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 시멘틱 색인 정보에 키워드 정보를 매칭한 쿼리 색인 정보를 생성한다.
즉, 정보 입력부(110)롤 통해 입력된 조합 데이터에 포함된 XML 형태의 구조의 컨텐트(Content) 기반의 Math ML인 수식이 시멘틱 파서부(120)에 입력되며, XML 입력을 바탕으로 자연어와 수식의 시멘틱 정보를 추출하고, 데이터 관리부(130)에 의해 다시 XML 결과로서 도출하는 것이다. 즉, 시멘틱 정보를 포함한 XML 결과는 색인부(140)에 의해 색인화 과정을 거친 후 색인된다.
사용자 쿼리 입력부(150)는 입력된 사용자 쿼리(Query)를 쿼리 파서부(160)로 전달한다. 여기서, 사용자 쿼리는 일종의 검색 쿼리로서, 사용자가 검색하고자 입력한 키워드를 포함한다. 쿼리 파서부(160)는 입력된 사용자 쿼리에 포함된 키워드(Key Word)를 추출하여 구조화한다. 점수화부(170)는 키워드와 시멘틱 색인 정보의 연관성에 근거하여 쿼리 색인 정보를 점수화(Scoring)한다. 점수화부(170)는 점수화를 수행하기 위해 코사인 유사성(Cosine Similarity)을 이용한다. 또한, 점수화부(170)는 [수학식 1]을 이용하여 점수화를 수행할 수 있다.
Figure pat00002
(p: 문제 벡터, q: 쿼리 벡터, pi:불(Boolean)/쿼리 q에서 i의 가중치, pi: 불(Boolean)/쿼리 p에서 i의 가중치, v: 벡터가 가지는 원소의 개수)
결과 페이지 제공부(180)는 점수화부(170)에 의해 점수화된 쿼리 색인 정보의 순위(Ranking) 결과 페이지를 제공한다. 여기서, 결과 페이지 제공부(180)는 순위 결과 페이지를 요청하는 서버 또는 단말기로 순위 결과 페이지를 제공할 수 있으나 반드시 이에 한정되는 것은 아니며, 자연어 및 수식 색인화 장치(100)가 자립형(Stand Alone) 장치로 구현되는 경우, 구비된 표시부를 통해 해당 순위 결과 페이지를 나타낼 수 있을 것이다.
즉, 사용자 쿼리 입력부(150)를 통해 입력된 사용자 쿼리는 쿼리 파서부(160)에서 파싱되고, 색인부(140)로 전달되고, 점수화부(170)는 기 저장된 수학 컨텐츠에 대한 인덱스와 사용자 쿼리의 인덱스를 토대로 연관성을 비교하여 점수화를 수행하며, 결과 페이지 제공부(180)는 사용자 결과 페이지에 순위를 출력하는 것이다.
한편, 자연어 및 수식 색인화 장치(100)는 클라이언트에 해당하는 단말기에 애플리케이션의 설치없이 자연어와 수식이 조합된 데이터를 구조화할 때 사용자 쿼리를 구조화한 정보가 함께 색인화되도록 하는 클라우드 컴퓨팅을 제공하기 위해 별도의 저장부(190)와 클라우드 컴퓨팅부(192)를 포함할 수 있다. 여기서, 저장부(190)는 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 경우, 조합 데이터에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하고, 구성 정보, 자연어, 수식 및 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하며, 입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하며, 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 시멘틱 색인 정보에 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 저장 매체를 저장하며, 클라우드 컴퓨팅부(192)는 클라이언트에 해당하는 단말기로 하여금 저장부(190)에 저장된 저장 매체에 대한 데이터의 읽기 및 쓰기가 수행되도록 한다.
즉, 자연어 및 수식 색인화 장치(100)는 저장부(190)와 클라우드 컴퓨팅부(192)를 통해 자연어와 수식이 조합된 데이터를 구조화할 때 사용자 쿼리를 구조화한 정보가 함께 색인화되도록 하는 하드웨어 또는 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 클라우드 컴퓨팅(Cloud Computing)으로 해당 단말기로 제공할 수 있다. 이와 관련된 구체적인 설명은 도 6을 통해 하도록 한다.
도 2는 본 발명의 일 실시예에 따른 자연어 및 수식 색인화 방법을 설명하기 위한 순서도이다.
자연어 및 수식 색인화 장치(100)는 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는다(S210). 여기서, 자연어 및 수식의 조합으로 이루어진 조합 데이터는 사용자의 조작 또는 명령에 의해 직접 입력될 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 서버로부터 자연어 및 수식의 조합으로 이루어진 문서 데이터를 입력받을 수도 있을 것이다.
자연어 및 수식 색인화 장치(100)는 조합 데이터에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성한다(S220). 더 구체적으로 설명하자면, 자연어 및 수식 색인화 장치(100)는 조합 데이터에서 자연어 및 수식을 각각 분리한다. 즉, 자연어 및 수식 색인화 장치(100)는 자연어 및 수식의 조합으로 이루어진 조합 데이터가 입력되면, 조합 데이터에 포함된 자연어와 수식을 각각 분리하여 인식하는 것이다. 자연어 및 수식 색인화 장치(100)는 분리된 자연어를 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 프로세스를 처리한다. 즉, 자연어 및 수식 색인화 장치(100)는 자연어를 토큰화한 자연어 토큰을 생성하고, 자연어 토큰을 근거로 중지 단어를 필터링한 단어 필터링 데이터를 생성하며, 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행한 중복 제거 필터링 데이터를 생성하고, 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭한다. 자연어 및 수식 색인화 장치(100)는 자연어를 구성하고 있는 구성 정보에 대해 토큰화를 수행하여 자연어 토큰을 생성한다. 자연어 및 수식 색인화 장치(100)는 자연어 토큰에서 기 설정된 중지 단어로 판별된 자연어 토큰을 선별하여 제거하는 중지 단어 필터링을 수행하여 중지 단어 필터링 데이터를 생성한다. 자연어 및 수식 색인화 장치(100)는 중지 단어 필터링 데이터에서 중복되는 데이터를 선별하여 제거하는 중복 제거 필터링을 수행하여 중복 제거 필터링 데이터를 생성한다. 자연어 및 수식 색인화 장치(100)는 중복 제거 필터링 데이터에서 술어에 해당하는 데이터를 기 정의된 의미가 부여된 동작 정보와 매칭 저장한다. 자연어 및 수식 색인화 장치(100)는 분리된 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 프로세스를 처리한다.
자연어 및 수식 색인화 장치(100)는 수식을 트리 형태로 변환하고, 트리 형태로 변환된 수식에 횡단 과정을 수행하고, 횡단 과정이 수행된 수식에 토큰화를 수행한다. 자연어 및 수식 색인화 장치(100)는 Math ML로 작성된 수식을 XML 트리 형태로 변환한 후 DOM 형태로 변환한다. 자연어 및 수식 색인화 장치(100)는 수식을 구성하는 구성 정보를 최하단 노드에서 점차 상위 노드로 전달되도록 하는 깊이 우선 검색 방식으로 횡단을 실행한다.
자연어 및 수식 색인화 장치(100)는 구성 정보, 자연어, 수식 및 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장한다(S230). 자연어 및 수식 색인화 장치(100)는 재조합된 데이터를 문서 데이터로 변환한다. 자연어 및 수식 색인화 장치(100)는 시멘틱 정보를 색인화 한다(S240). 예를 들어서, 자연어 및 수식 색인화 장치(100)는 시멘틱 정보에 번호를 부여하는 색인화를 수행하는 것이다.
도 2에서는 단계 S210 내지 단계 S240을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 2에 기재된 순서를 변경하여 실행하거나 단계 S210 내지 단계 S240 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 2는 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 2에 기재된 본 발명의 일 실시예에 따른 자연어 및 수식 색인화 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 발명의 일 실시예에 따른 자연어 및 수식 색인화 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 발명의 일 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명의 일 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
도 3은 본 발명의 일 실시예에 따른 색인화된 쿼리 정보의 순위 결과를 제공하는 방법을 설명하기 위한 순서도이다.
자연어 및 수식 색인화 장치(100)는 사용자 쿼리를 입력받는다(S310). 여기서, 사용자 쿼리는 일종의 검색 쿼리로서, 사용자가 검색하고자 입력한 키워드를 포함한다. 자연어 및 수식 색인화 장치(100)는 입력된 사용자 쿼리에 포함된 키워드(Key Word)를 추출하여 구조화한다(S320). 자연어 및 수식 색인화 장치(100)는 시멘틱 정보를 색인화한 시멘틱 색인 정보에 키워드 정보를 매칭한 쿼리 색인 정보를 생성한다(S330).
자연어 및 수식 색인화 장치(100)는 키워드와 시멘틱 색인 정보의 연관성에 근거하여 쿼리 색인 정보를 점수화한다(S340). 점수화부(170)는 점수화를 수행하기 위해 코사인 유사성을 이용한다. 또한, 점수화부(170)는 [수학식 1]을 이용하여 점수화를 수행할 수 있다. 자연어 및 수식 색인화 장치(100)는 점수화부(170)에 의해 점수화된 쿼리 색인 정보의 순위 결과 페이지를 제공한다(S350). 여기서, 결과 페이지 제공부(180)는 순위 결과 페이지를 요청하는 서버 또는 단말기로 순위 결과 페이지를 제공할 수 있으나 반드시 이에 한정되는 것은 아니며, 자연어 및 수식 색인화 장치(100)가 자립형(Stand Alone) 장치로 구현되는 경우, 구비된 표시부를 통해 해당 순위 결과 페이지를 나타낼 수 있을 것이다.
도 3에서는 단계 S310 내지 단계 S350을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 3에 기재된 순서를 변경하여 실행하거나 단계 S310 내지 단계 S350 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 3에 기재된 본 발명의 일 실시예에 따른 색인화된 쿼리 정보의 순위 결과를 제공하는 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 발명의 일 실시예에 따른 색인화된 쿼리 정보의 순위 결과를 제공하는 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 발명의 일 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명의 일 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
도 4는 본 발명의 일 실시예에 따른 시멘틱 정보에 포함된 반전된 파일 구조의 예시도이다.
자연어 및 수식 색인화 장치(100)의 시멘틱 파서부(120)를 통해 생성된 시멘틱 정보에 포함된 반전된 파일 구조(Inverted File Structure)의 인덱스는 도 4에 도시된 바와 같다. 한편, 본 발명에서는 반전된 파일 구조에서 이용된 시멘틱 정보의 XML의 형태에서는 언급하지 않도록 한다. 다만, 함수 형태, 동작, 시멘틱 키워드는 모두 계층 구조의 형태로 저장되어 있는 것으로 가정한다. 즉, 시멘틱 정보는 동작 인덱스, 시멘틱 인덱스, 문제 목록 인덱스 중 적어도 하나 이상의 인덱스를 포함하며, 문제 목록은 문제 ID로 정렬된다. 이에 따라, 따라서 두 개의 목록은 선형 시간에 의해 결합(Merge)될 수 있다
도 5는 본 발명의 일 실시예에 따른 시멘틱 정보에 포함된 인덱스를 불 벡터로 표현한 예시도이다.
자연어 및 수식 색인화 장치(100)의 점수화부(170)는 점수화를 수행하기 위해 코사인 유사성(Cosine Similarity)을 이용할 수 있다. 즉, 시멘틱 정보에 포함된 인덱스를 불 벡터(Boolean Vector)로 표현하자면, 도 5에 도시된 바와 같다. 여기서, '0'의 값은 해당 행에서 일치하는 '용어'나 '키워드'가 존재하지 않거나, 그 열에 있는 문제와 관련이 없는 것을 의미한다. 반면, '1'의 값은 그 행에 일치하는 '용어'나 '키워드'가 존재하거나, 그 열에 있는 문제와 관련성이 없는 것을 나타낸다. 이러한 행렬을 이용하는 경우, 두 개의 문제 벡터 p와 쿼리 벡터 q 사이의 코사인 각을 산출할 수 있으며, 코사인 각을 산출하는 식은 [수학식 1]과 같다.
즉, [수학식 1]에서 cos(q,p)는 q와 p의 코사인 유사성, 또는 q와 p의 코사인 각도라 한다. 코사인은 '0°', '180°'에서 단조 감소하는 함수이기 때문에, 해당 값이 작거나 크면 두 문제는 유사성을 가진다고 할 수 있다. 또한, 불(Boolean) 형태 대신 가중치가 적용될 수도 있다. 예를 들어서, 시멘틱 정보 중 중요한 의미를 갖는 동작(Action)이나 수학 오브젝트(Math Object) 등에는 더 많은 가중치를 부여할 수 있다. 또한, 함수 중에서 상대적으로 빈번하지 않은 함수는 빈번한 함수에 비해 더 작은 가중치가 부여되도록 할 수 있다. 이러한 내용은 다음과 같이 공식화될 수 있다.
즉, 문제 빈도는(Problem Frequency)는 '용어'와 '키워드'가 주어진 문제의 개수이며, 해당 값은 용어 정보의 반대의 값이며, 해당 값을 나타내기 위해서, 반대 문제 빈도(ipf, Inverse Problem Frequency)가 사용된다. 여기서, ipf는 N/pf로 계산될 수 있고, 이때 N은 전체 문제의 수를 나타낸다. 사용자 쿼리와 분석된 자연어 및 수식의 조합으로 이루어진 조합 데이터(수학 컨텐츠)들의 인덱스를 통해서, 유사성을 분석하고, 순위를 산정하여 얻어진 순서대로 표시부를 통해 출력할 수 있다. 이에 따라, 사용자의 쿼리에 가장 가까운 수식 포함 문서부터 그와 유사한 문서를 포함하여 확인을 할 수 있는 것이다.
도 6은 본 발명의 일 실시예에 따른 자연어 및 수식 색인화 장치가 클라우드 컴퓨팅으로 데이터를 제공하는 시스템에 대한 예시도이다.
본 발명의 일 실시예에 따른 클라우드 컴퓨팅을 이용한 데이터를 제공하기 위해서는 단말기(610), 통신망(620) 및 자연어 및 수식 색인화 장치(100)를 포함한 시스템이 필요하다.
여기서, 단말기(610)는 사용자의 명령 또는 조작에 따라 통신망(620)을 경유하여 각종 데이터를 송수신할 수 있는 단말기를 말하는 것이며, 태블릿 PC(Tablet PC), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 스마트폰(Smart Phone), 개인휴대용 정보단말기(PDA: Personal Digital Assistant) 및 이동통신 단말기(Mobile Communication Terminal) 등 중 어느 하나일 수 있다. 또한, 단말기(610)는 통신망(120)을 통하여 데이터 읽고 쓰기 및 저장, 네트워크, 컨텐츠 사용 등의 서비스를 이용할 수 있는 클라우드 컴퓨팅을 지원하는 클라우드 컴퓨팅 단말기가 될 수 있다. 즉, 단말기(610)는 통신망(620)을 경유하여 자연어 및 수식 색인화 장치(100)에 접속하기 위한 프로그램을 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 장치를 의미한다. 즉, 단말기(610)는 통신망(620)에 연결되어 자연어 및 수식 색인화 장치(100)와 서버-클라이언트 통신이 가능하다면 그 어떠한 단말기도 가능하며, 노트북 컴퓨터, 이동통신 단말기, PDA 등 여하한 통신 컴퓨팅 장치를 모두 포함하는 넓은 개념이다. 한편, 단말기(610)는 터치 스크린을 구비한 형태로 제작되는 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
단말기(610)는 자연어 및 수식 색인화 장치(100)를 통해 클라우드 컴퓨팅(Cloud Computing) 방식으로 자연어와 수식이 조합된 데이터를 구조화할 때 사용자 쿼리를 구조화한 정보가 함께 색인화되도록 한다. 즉, 단말기(610)는 자연어 및 수식 색인화 장치(100)로부터 클라우드 컴퓨팅 방식으로 자연어 및 수식을 구조화하기 위해 자연어 및 수식 색인화 장치(100)에 저장된 저장 매체와의 입출력 인터페이스를 제공하는 별도의 입출력 인터페이스부를 포함할 수 있으며, 입출력 인터페이스부를 통해 자연어 및 수식 색인화 장치(100)에 저장된 저장 매체에 대한 데이터 읽기 및 쓰기가 수행되도록 하는 인터페이스 제어부를 포함할 수 있다. 이에 대해 좀 더 구체적으로 설명하자면, 단말기(610)는 입출력 인터페이스부를 통해 자연어 및 수식의 조합으로 이루어진 조합 데이터를 자연어 및 수식 색인화 장치(100)로 입력할 수 있고, 이를 통해 자연어 및 수식 색인화 장치(100)가 시멘틱 색인 정보에 키워드 정보를 매칭한 쿼리 색인 정보를 생성/저장되도록 하므로, 실질적으로 단말기(610)에서는 어떠한 애플리케이션의 설치없이도 자연어와 수식이 조합된 데이터를 구조화할 때 사용자 쿼리를 구조화한 정보가 함께 색인화되도록 한다.
통신망(620)은 인터넷망, 인트라넷망, 이동통신망, 위성 통신망 등 다양한 유무선 통신 기술을 이용하여 인터넷 프로토콜로 데이터를 송수신할 수 있는 망을 말하며, 단말기(610)와 자연어 및 수식 색인화 장치(100) 간에 데이터를 중계하는 기능을 수행한다. 또한, 통신망(620)은 자연어 및 수식 색인화 장치(100)와 결합되어 하드웨어, 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 해당 단말기(610)로 제공할 수 있는 클라우드 컴퓨팅망을 포함할 수 있다.
자연어 및 수식 색인화 장치(100)는 클라우드 컴퓨팅으로 단말기(610)를 통해 자연어와 수식이 조합된 데이터를 구조화할 때 사용자 쿼리를 구조화한 정보가 함께 색인화되도록 하기 위해, 단말기(610)로 하여금 자연어 및 수식 색인화 장치(100)에 저장된 저장 매체에 대한 데이터의 읽기 및 쓰기가 수행되도록 하되, 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력되면, 조합 데이터에서 자연어 및 수식을 각각 분리하고, 분리된 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하고, 구성 정보, 자연어, 수식 및 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하며, 입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하며, 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 시멘틱 색인 정보에 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 컴퓨터로 읽을 수 있는 기록매체를 저장하며, 해당 기록매체의 일부 데이터만을 단말기(610)로 전송하여, 단말기(610)에서 애플리케이션의 설치없이 자연어와 수식이 조합된 데이터를 구조화할 때 사용자 쿼리를 구조화한 정보가 함께 색인화되도록 하는 클라우드 컴퓨팅을 제공할 수 있다.
도 7은 본 발명의 일 실시예에 따른 자연어 및 수식을 구성하고 있는 정보를 분석하여 특정 의미에 따라 구분하는 방법에 대한 예시도이다.
시멘틱 파서부(120)가 특정 의미를 파악하기 위해 수행하는 동작에 대해 구체적으로 설명하자면, 시멘틱 파서부(120)는 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석한 후 문장의 구조, 포함된 키워드 및 수식의 종류 정보 중 적어도 하나 이상의 정보를 이용하여 특정 의미를 파악할 수 있으며, 파악된 특정 의미로 구분된 시멘틱 정보를 생성할 수 있다.
시멘틱 파서부(120)는 기 설정된 룰 기반으로 동작하여 특정 의미를 파악할 수 있는 데, 이를 구체적으로 설명하자면, 도 7의 (A)에 도시된 바와 같이, 자연어 및 수식의 조합으로 이루어진 네 개의 수학 문장(P1, P2, P3, P4)이 정보 입력부(110)를 통해 입력되는 경우, 도 7의 (B)에 도시된 바와 같이, 시멘틱 파서부(120)에 의해 자연어와 수식을 구성하고 있는 각각의 구성 정보를 분석한(파싱된) 결과가 생성될 수 있다.
예를 들어서, P1의 경우, 시멘틱 파서부(120)에 의해 자연어를 구성하고 있는 구성 정보를 분석한 결과 수식명(Name)이 "Find"이고 그 타입은 동사(VB)임을 나타내고, 시멘틱 파서부(120)에 의해 수식을 구성하고 있는 구성 정보를 분석한 결과 방정식(Equation)이 맞고(True), 다항식(Polynomial)이 맞음(True)을 나타내며 이를 도 7의 (C)에 도시된 바와 같이, 저장된 룰의 논리적 조건과 비교하면 룰 R1, R2, R3 중에서 R1과 매칭됨을 알 수 있다. 따라서 도 7의 (D)에 도시된 바와 같이, 매칭된 룰로부터 해당 논리적 조건을 만족하는 동작정보인 "Solve"를 동작정보로서 추출할 수 있다. 즉, 이러한 경우, P1이 나타내는 특정 의미를 동작 정보로 인식하여, 생성되는 시멘틱 정보는 동작 인덱스로 포함할 수 있는 것이다.
시멘틱 파서부(120)는 기 저장된 룰의 논리적조건을 만족하는 모든 동작정보를 추출할 수 있다. 만일, 자연어 토큰과 수학식 토큰 조합이 이루는 논리적 조건이 저장된 룰의 여러 가지 논리적 조건을 만족할 수도 있으며, 이 경우는 하나의 수학 문제가 여러 개의 동작정보를 포함하고 있는 경우이며, 자연어 토큰과 수학식 토큰 조합이 어떠한 논리적 조건도 만족하지 않는 경우는 해당 복합문장은 룰 생성시 수학문장(조합 데이터)의 분석에서 누락됐거나 분석과정에 포함되지 않은 항목 또는 잘못된 수학문장인 경우로 판단할 수 있다. 또한, 시멘틱 파서부(120)는 자연어 파싱의 결과 생성된 자연어토큰의 대상이 되는 수식을 수학식토큰 중에서 매칭시킬 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명은 자연어 처리 및 수식 처리를 함께 수행한 시멘틱 정보에 기초하여 사용자 쿼리를 구조화한 정보가 같이 색인화되도록 하는 다양한 분야에 적용되어, 사용자 쿼리와 분석된 수학 컨텐츠들의 인덱스를 통하여 유사성을 분석하고 순위를 산정한 후 이를 사용자에게 제공할 수 있는 효과를 발생하는 유용한 발명이다.
110: 정보 입력부 120: 시멘틱 파서부
130: 데이터 관리부 140: 색인부
150: 사용자 쿼리 입력부 160: 쿼리 파서부
170: 점수화부 180: 결과 페이지 제공부
190: 저장부 192: 클라우드 컴퓨팅부

Claims (17)

  1. 자연어(Natural Language) 및 수식(Mathematical Formula)의 조합으로 이루어진 조합 데이터를 입력받는 정보 입력부;
    상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 시멘틱 파서부(Semantic Parser);
    상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 데이터 관리부;
    입력된 사용자 쿼리(Query)에 포함된 키워드(Key Word)를 추출하여 구조화하는 쿼리 파서부(Query Parser); 및
    상기 시멘틱 정보를 색인화(Indexing)한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 색인부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 색인화 장치.
  2. 제 1 항에 있어서,
    상기 키워드와 상기 시멘틱 색인 정보의 연관성에 근거하여 상기 쿼리 색인 정보를 점수화(Scoring)하는 점수화부; 및
    상기 점수화된 순위(Ranking) 결과 페이지를 제공하는 결과 페이지 제공부
    를 추가로 포함하는 것을 특징으로 하는 자연어 및 수식 색인화 장치.
  3. 제 1 항에 있어서,
    상기 점수화부는,
    상기 점수화를 수행하기 위해 코사인 유사성(Cosine Similarity)을 이용하는 것을 특징으로 하는 자연어 및 수식 색인화 장치.
  4. 제 3 항에 있어서,
    상기 점수화부는,
    Figure pat00003

    (p: 문제 벡터, q: 쿼리 벡터, pi:불(Boolean)/쿼리 q에서 i의 가중치, pi: 불(Boolean)/쿼리 p에서 i의 가중치, v: 벡터가 가지는 원소의 갯수)의 수학식을 이용하여 상기 점수화를 수행하는 것을 특징으로 하는 자연어 및 수식 색인화 장치.
  5. 제 1 항에 있어서,
    상기 시멘틱 정보는,
    동작 인덱스, 시멘틱 인덱스, 문제 목록 인덱스 중 적어도 하나 이상의 인덱스를 포함하는 것을 특징으로 하는 자연어 및 수식 색인화 장치.
  6. 제 5 항에 있어서,
    상기 문제 목록은 문제 ID로 정렬되는 것을 특징으로 하는 자연어 및 수식 색인화 장치.
  7. 제 1 항에 있어서,
    상기 시멘틱 파서부는,
    상기 자연어를 토큰화(Tokenization)한 자연어 토큰을 생성하고, 상기 자연어 토큰을 근거로 중지 단어(Stop Word)를 필터링한 중지 단어 필터링 데이터를 생성하며, 상기 중지 단어 필터링 데이터에서 중복 제거 필터링을 수행한 중복 제거 필터링 데이터를 생성하고, 상기 중복 제거 필터링 데이터에 기 정의된 의미가 부여된 동작 정보를 매칭하여 상기 시멘틱 정보에 저장하는 것을 특징으로 하는 자연어 및 수식 색인화 장치.
  8. 제 1 항에 있어서,
    상기 시멘틱 파서부는,
    상기 수식을 트리 형태로 변환하고, 상기 트리 형태로 변환된 수식에 횡단(Traverse) 과정을 수행하며, 상기 횡단 과정이 수행된 수식에 토큰화를 수행한 수식 토큰을 생성하여 상기 시멘틱 정보에 저장하는 것을 특징으로 하는 자연어 및 수식 색인화 장치.
  9. 제 8 항에 있어서,
    상기 시멘틱 파서부는,
    Math ML(Mathematical Markup Language)로 작성된 상기 수식을 XML 트리 형태로 변환한 후 DOM(Document Object Model) 형태로 변환하는 것을 특징으로 하는 자연어 및 수식 색인화 장치.
  10. 제 1 항에 있어서,
    상기 데이터 관리부는,
    상기 재조합된 데이터를 문서 데이터로 변환하는 것을 특징으로 하는 자연어 및 수식 색인화 장치.
  11. 자연어(Natural Language) 및 수식(Mathematical Formula)의 조합으로 이루어진 조합 데이터를 입력받는 정보 입력부;
    상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 시멘틱 파서부;
    상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 데이터 관리부;
    입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하는 쿼리 파서부;
    상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 색인부;
    상기 키워드와 상기 시멘틱 색인 정보의 연관성에 근거하여 상기 쿼리 색인 정보를 점수화(Scoring)하는 점수화부; 및
    상기 점수화된 순위(Ranking) 결과 페이지를 제공하는 결과 페이지 제공부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 색인화 장치.
  12. 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 경우, 상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하고, 상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하며, 입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하며, 상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 저장 매체를 저장하는 저장부;
    단말기로 하여금 상기 저장 매체에 대한 데이터의 읽기 및 쓰기가 수행되도록 하는 클라우드 컴퓨팅부
    를 포함하는 것을 특징으로 하는 자연어 및 수식 구조화 장치.
  13. 자연어(Natural Language) 및 수식(Mathematical Formula)의 조합으로 이루어진 조합 데이터를 입력받는 정보 입력 단계;
    상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 시멘틱 파서 단계;
    상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 데이터 관리 단계;
    입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하는 쿼리 파서 단계; 및
    상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 색인 단계
    를 포함하는 것을 특징으로 하는 자연어 및 수식 색인화 방법.
  14. 제 12 항에 있어서,
    상기 키워드와 상기 시멘틱 색인 정보의 연관성에 근거하여 상기 쿼리 색인 정보를 점수화(Scoring)하는 점수화 단계; 및
    상기 점수화된 순위(Ranking) 결과 페이지를 제공하는 결과 페이지 제공 단계
    를 추가로 포함하는 것을 특징으로 하는 자연어 및 수식 색인화 방법.
  15. 제 13 항에 있어서,
    상기 점수화 단계는,
    Figure pat00004

    (p: 문제 벡터, q: 쿼리 벡터, pi:불(Boolean)/쿼리 q에서 i의 가중치, pi: 불(Boolean)/쿼리 p에서 i의 가중치, v: 벡터가 가지는 원소의 갯수)의 수학식을 이용하여 상기 점수화를 수행하는 단계
    를 포함하는 것을 특징으로 하는 자연어 및 수식 색인화 방법.
  16. 제 12 항 내지 제 14 항 중 어느 한 항에 의한 자연어 및 수식 색인화 방법의 각 단계를 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  17. 저장 매체에 대한 데이터의 읽기 또는 쓰기 요청을 확인하는 단계;
    상기 읽기 또는 쓰기 요청에 따라 자연어 및 수식의 조합으로 이루어진 조합 데이터를 입력받는 경우, 상기 조합 데이터에서 상기 자연어 및 상기 수식을 각각 분리하고, 분리된 상기 자연어와 상기 수식을 구성하고 있는 각각의 구성 정보를 분석하여 특정 의미에 따라 구분하는 시멘틱 정보를 생성하는 단계;
    상기 읽기 또는 쓰기 요청에 따라 상기 구성 정보, 상기 자연어, 상기 수식 및 상기 시멘틱 정보 중 적어도 하나 이상의 정보를 재조합하여 재조합 데이터로 저장하는 단계;
    상기 읽기 또는 쓰기 요청에 따라 입력된 사용자 쿼리에 포함된 키워드를 추출하여 구조화하며, 상기 시멘틱 정보를 색인화한 시멘틱 색인 정보를 생성하고, 상기 시멘틱 색인 정보에 상기 키워드 정보를 매칭한 쿼리 색인 정보를 생성하는 단계
    를 포함하는 것을 특징으로 하는 클라우드 컴퓨팅을 이용한 자연어 및 수식 색인화 방법.
KR1020100132141A 2010-12-02 2010-12-22 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체 KR101476225B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020100132141A KR101476225B1 (ko) 2010-12-22 2010-12-22 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
CN201180064528.XA CN103299292B (zh) 2010-12-02 2011-12-02 用于处理自然语言和数学公式的方法及其设备
PCT/KR2011/009333 WO2012074338A2 (ko) 2010-12-02 2011-12-02 자연어 및 수학식 처리 방법과 그를 위한 장치
US13/908,366 US20130268263A1 (en) 2010-12-02 2013-06-03 Method for processing natural language and mathematical formula and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100132141A KR101476225B1 (ko) 2010-12-22 2010-12-22 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체

Publications (2)

Publication Number Publication Date
KR20120070713A true KR20120070713A (ko) 2012-07-02
KR101476225B1 KR101476225B1 (ko) 2014-12-26

Family

ID=46705914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100132141A KR101476225B1 (ko) 2010-12-02 2010-12-22 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체

Country Status (1)

Country Link
KR (1) KR101476225B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489876B1 (ko) * 2013-08-30 2015-02-06 고려대학교 산학협력단 암호화 문서 검색 시스템 및 방법
US9673422B2 (en) 2015-03-04 2017-06-06 Samsung Display Co., Ltd. Display device
WO2018080278A1 (ko) * 2016-10-31 2018-05-03 주식회사 뉴스젤리 데이터 집단을 파싱 가능한 형태로 변환하여 희망 데이터 영역을 추출하는 방법
WO2023080425A1 (ko) * 2021-11-04 2023-05-11 삼성전자 주식회사 쿼리문에 관련된 검색 결과를 제공하는 전자 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090061844A (ko) * 2007-12-12 2009-06-17 주식회사 케이티 온톨로지 기반 시맨틱 메타데이터 추출 시스템 및 그 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489876B1 (ko) * 2013-08-30 2015-02-06 고려대학교 산학협력단 암호화 문서 검색 시스템 및 방법
US9673422B2 (en) 2015-03-04 2017-06-06 Samsung Display Co., Ltd. Display device
WO2018080278A1 (ko) * 2016-10-31 2018-05-03 주식회사 뉴스젤리 데이터 집단을 파싱 가능한 형태로 변환하여 희망 데이터 영역을 추출하는 방법
WO2023080425A1 (ko) * 2021-11-04 2023-05-11 삼성전자 주식회사 쿼리문에 관련된 검색 결과를 제공하는 전자 장치 및 방법

Also Published As

Publication number Publication date
KR101476225B1 (ko) 2014-12-26

Similar Documents

Publication Publication Date Title
KR101431530B1 (ko) 수학문장의 시맨틱거리 추출 및 시맨틱거리에 의한 수학문장의 분류방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
US11573996B2 (en) System and method for hierarchically organizing documents based on document portions
US11080295B2 (en) Collecting, organizing, and searching knowledge about a dataset
US11520800B2 (en) Extensible data transformations
US20130268263A1 (en) Method for processing natural language and mathematical formula and apparatus therefor
US20050060306A1 (en) Apparatus, method, and program for retrieving structured documents
US20240028607A1 (en) Facilitating data transformations
KR102491172B1 (ko) 자연어 질의응답 시스템 및 그 학습 방법
US11809223B2 (en) Collecting and annotating transformation tools for use in generating transformation programs
EP3117345A1 (en) Natural language question answering method and apparatus
KR20110064833A (ko) 지식 그래프 정제 장치 및 방법
US20220405484A1 (en) Methods for Reinforcement Document Transformer for Multimodal Conversations and Devices Thereof
Chen et al. BibPro: A citation parser based on sequence alignment
KR101933953B1 (ko) 페이지랭크와 토픽 모델링을 이용한 소프트웨어 도메인 토픽 추출 시스템
Rodrigues et al. Advanced applications of natural language processing for performing information extraction
KR101476225B1 (ko) 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
US20110131214A1 (en) Information retrieval method, computer readable medium and information retrieval apparatus
CN114117242A (zh) 数据查询方法和装置、计算机设备、存储介质
Wei et al. DF-Miner: Domain-specific facet mining by leveraging the hyperlink structure of Wikipedia
KR101802051B1 (ko) 자연 언어 처리 스키마 및 그 지식 데이터베이스 구축 방법 및 시스템
CN108614821B (zh) 地质资料互联互查系统
WO2014049310A2 (en) Method and apparatuses for interactive searching of electronic documents
KR101406000B1 (ko) 자연어 및 수식 입력 제공 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
KR101088483B1 (ko) 이종 분류체계들을 매핑시키는 방법 및 장치
KR101417928B1 (ko) 자연어 및 수식 구조화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20171204

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee