KR101057072B1 - 시맨틱 데이터 추출 시스템 및 이를 이용한 검색 엔진 - Google Patents

시맨틱 데이터 추출 시스템 및 이를 이용한 검색 엔진 Download PDF

Info

Publication number
KR101057072B1
KR101057072B1 KR1020090059765A KR20090059765A KR101057072B1 KR 101057072 B1 KR101057072 B1 KR 101057072B1 KR 1020090059765 A KR1020090059765 A KR 1020090059765A KR 20090059765 A KR20090059765 A KR 20090059765A KR 101057072 B1 KR101057072 B1 KR 101057072B1
Authority
KR
South Korea
Prior art keywords
word
morpheme
semantic
module
type index
Prior art date
Application number
KR1020090059765A
Other languages
English (en)
Other versions
KR20110002262A (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 KR1020090059765A priority Critical patent/KR101057072B1/ko
Publication of KR20110002262A publication Critical patent/KR20110002262A/ko
Application granted granted Critical
Publication of KR101057072B1 publication Critical patent/KR101057072B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms

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)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

시맨틱 데이터 추출 시스템 및 이를 이용한 검색 엔진에 관해 개시한다. 이를 위해 본 발명은, 내용어 사전, 기능어 사전, 문서 코퍼스, 및 온톨로지 맵을 포함하는 지식 베이스 모듈, 입력 정보를 형태소로 분리하고, 상기 형태소 중 상기 내용어 사전과 일치하는 내용어 형태소인 제 1 타입 색인어를 생성하는 형태소 분석 모듈, 상기 내용어 형태소와 적어도 일정 연관도를 가지는 주제어인 제 2 타입 색인어를 생성하는 주제어 추출 모듈, 상기 내용어 형태소에 대한 추론 단어인 제 3 타입 색인어를 생성하는 온톨로지 확장 모듈, 상기 형태소 중 기능어 사전과 일치하는 기능어 형태소에 대한 제 4 타입 색인어를 생성하는 어휘-구문 패턴 생성 모듈, 및 제 1 타입 내지 제 4 타입의 색인어를 포함하는 시맨틱 데이터를 저장하는 시맨틱 데이터베이스 모듈을 포함하는 시맨틱 데이터 추출 시스템을 제공한다.
Figure R1020090059765
시맨틱 웹, 온톨로지, 검색 엔진

Description

시맨틱 데이터 추출 시스템 및 이를 이용한 검색 엔진{Semantic data extracting system and searching engine using the same}
 본 발명은 시맨틱 데이터 추출 시스템 및 이를 이용한 검색 엔진에 관한 것으로서, 더욱 상세하게는, 정보의 기계적 해석과 개념간의 관계 규정을 통해 구조화된 데이터를 추출할 수 있는 시맨틱 데이터 추출 시스템 및 이를 이용한 검색 엔진에 관한 것이다.
정보 검색을 위한 검색 엔진 중 대표적인 형태로 로봇 에이전트(robot agent)형 검색 엔진이 있다. 로봇 에이전트형 검색 엔진은, 로봇 에이전트가 방대한 정보를 미리 수집하여 나름대로의 어휘 체계에 따라서 분류하고, 이를 데이터베이스에 저장한다. 사용자가 상기 데이터베이스로부터 정보를 검색하기 위해, 다양한 정보검색연산자와 검색식을 질의로서 입력하면, 크롤러(crawler)는 상기 질의를 이용하여 정보를 수집하고 그 결과를 반환하는 형태이다.
그러나 위와 같은 텍스트 키워드(text keyword) 검색 방식은, 너무 많은 검색 정보 제공으로 인하여 일반 검색 고객들이 적절한 정보를 찾기가 매우 어려우며, 결국 많은 시간을 투자하여 검색된 정보를 재검색해야만 원하는 정보를 얻을 수 있는 문제가 있다.
따라서 본 발명이 이루고자 하는 기술적 과제는, 텍스트 키워드 형태의 검색 방식에서 벗어나, 정보의 기계적 해석과 개념간의 관계 규정을 통해 구조화된 시맨틱 데이터를 생성할 수 있는 시맨틱 데이터 추출 시스템을 제공하는 것이다.
또한 본 발명이 이루고자 하는 다른 기술적 과제는, 상기 시맨틱 데이터 시스템을 이용하여, 질의 입력과 의미적으로 유사하고 관련이 있는 정보를 검색할 수 있는 검색 엔진을 제공하는 것이다.
본 발명의 일 태양에 의한 시맨틱 데이터 추출 모듈이 제공된다. 상기 시맨틱 데이터 추출 모듈은, 가공 전 데이터를 형태소로 분리하고, 상기 형태소 중 내용어 사전과 일치하는 내용어 형태소인 제 1 타입 색인어를 생성하는 형태소 분석 모듈, 상기 내용어 형태소와 적어도 일정 연관도를 가지는 주제어인 제 2 타입 색인어를 생성하는 주제어 추출 모듈, 상기 내용어 형태소에 대한 추론 단어인 제 3 타입 색인어를 생성하는 온톨로지 확장 모듈, 및 상기 형태소 중 기능어 사전과 일치하는 기능어 형태소에 대한 제 4 타입 색인어를 생성하는 어휘-구문 패턴 생성 모듈을 포함할 수 있다.
상기 시맨틱 데이터 추출 모듈의 일 예에 의하면, 상기 일정 연관도는 상기 가공 전 데이터 내 상기 내용어 형태소의 출현 빈도(f) 및 문서 코퍼스의 작은 수의 문서에 상기 내용어 형태소가 출현하는 정도(g)에 비례할 수 있다.
상기 시맨틱 데이터 추출 모듈의 다른 예에 의하면,
상기 f는
Figure 112009040243815-pat00001
이고,
상기 g는
Figure 112009040243815-pat00002
및 이의 로그 값 중 하나이며, 상기 일정 연관도는 f*g로 표현될 수 있다.
상기 시맨틱 데이터 추출 모듈의 다른 예에 의하면, 상기 추론 단어는 상기 내용어 형태소의 동일 개념, 유사 개념, 상위 개념, 및 하위 개념을 포함하는 온톨로지 내 추론 단어인 것을 특징으로 하는 시맨틱 데이터 추출 모듈.
상기 시맨틱 데이터 추출 모듈의 다른 예에 의하면, 상기 기능어 형태소에 대한 제 4 타입 색인어는, 의미 표지 사전과 비교하여 추출된 상기 기능어 형태소의 동일 개념, 상기 의미 표지 사전과 비교하여 추출된 상기 기능어 형태소의 상위 개념, 및 의미 범주 패턴 사전과 비교하여 추출된 상기 기능어 형태소의 어휘-구문 패턴을 포함할 수 있다.
상기 시맨틱 데이터 추출 모듈의 다른 예에 의하면, 상기 입력 정보의 수식 기호인 제 5 타입 색인어를 생성하는 마크업 분석기를 더 포함하고, 상기 시맨틱 데이터베이스 모듈은 제 1 타입 내지 제 5 타입의 색인어를 포함할 수 있다.
상기 시맨틱 데이터 추출 모듈의 다른 예에 의하면, 상기 마크업 분석기는 확장 가능 마크업 언어 파서(extensible markup language parser, XML parser)로서, 수학 마크업 언어(math meta language, MathML)와 가변 벡터 도형 처 리(scalable vector graphics, SVG)의 태그를 추출하여 상기 제 5 타입 색인어를 생성할 수 있다.
본 발명의 다른 태양에 의한 시맨틱 데이터 추출 시스템이 제공된다. 상기 시맨틱 추출 시스템은, 내용어 사전, 기능어 사전, 문서 코퍼스, 및 온톨로지를 포함하는 지식 베이스 모듈, 가공 전 데이터를 형태소로 분리하고, 상기 형태소 중 상기 내용어 사전과 일치하는 내용어 형태소인 제 1 타입 색인어를 생성하는 형태소 분석 모듈, 상기 내용어 형태소와 적어도 일정 연관도를 가지는 주제어인 제 2 타입 색인어를 생성하는 주제어 추출 모듈, 상기 내용어 형태소에 대한 추론 단어인 제 3 타입 색인어를 생성하는 온톨로지 확장 모듈, 상기 형태소 중 기능어 사전과 일치하는 기능어 형태소에 대한 제 4 타입 색인어를 생성하는 어휘-구문 패턴 생성 모듈, 및 제 1 타입 내지 제 4 타입의 색인어를 포함하는 시맨틱 데이터를 저장하는 시맨틱 데이터베이스 모듈을 포함할 수 있다.
본 발명의 다른 태양에 의한 검색 엔진이 제공된다. 상기 검색 엔진은, 입력된 질의 문장을 제 1 타입 내지 제 4 타입의 질의 색인어로 분류하는 질의 분석 모듈, 상기 질의 색인어의 포함 여부를 나타내는 벡터들을 포함하는 검색 매트릭스를 생성하는 매트릭스 생성 모듈, 및 상기 벡터들의 방향과 크기를 고려하여 상기 벡터들 상호간의 유사 정도를 계산하는 랭킹 모듈을 포함할 수 있고, 상기 제 1 타입 색인어는 상기 질의 문장의 내용어 형태소, 상기 제 2 타입 색인어는 상기 내용어 형태소와 일정 연관도를 가지는 주제어, 상기 제 3 타입 색인어는 상기 내용어 형태소에 대한 추론 단어, 상기 제 4 타입 색인어는 상기 질의 문장의 기능어 형태소 일 수 있다.
상기 검색 엔진의 일 예에 의하면, 상기 질의 분석 모듈은, 상기 질의 문장을 형태소로 분리하고, 상기 형태소 중 내용어 사전과 일치하는 내용어 형태소인 제 1 타입 색인어를 생성하는 형태소 분석 모듈, 상기 내용어 형태소와 적어도 일정 연관도를 가지는 주제어인 제 2 타입 색인어를 생성하는 주제어 추출 모듈, 상기 내용어 형태소에 대한 추론 단어인 제 3 타입 색인어를 생성하는 온톨로지 확장 모듈, 및 상기 형태소 중 기능어 사전과 일치하는 기능어 형태소에 대한 제 4 타입 색인어를 생성하는 어휘-구문 패턴 생성 모듈을 포함할 수 있다.
상기 검색 엔진의 다른 예에 의하면, 상기 벡터들은 A행 벡터와 B행 벡터들을 포함하고, 상기 A행 벡터는 상기 질의 색인어와 비교하여, 상기 질의 색인어의 포함 여부를 나타내고, 상기 B행 벡터들은 시맨틱 색인어와 비교하여, 상기 질의 색인어의 포함 여부를 나타내며, 상기 시맨틱 색인어는, 시맨틱 데이터 추출 시스템의 시맨틱 데이터베이스 모듈로부터 로딩된 제 1 타입 내지 제 4 타입의 색인어일 수 있다.
상기 검색 엔진의 다른 예에 의하면, 상기 벡터들은 A행 벡터와 B행 벡터들을 포함하고, 상기 A행 벡터 및 상기 B행 벡터들은 상기 질의 색인어 및 상기 시맨틱 색인어의 포함 여부를 나타내고, 상기 A행 벡터는 상기 질의 색인어와 비교하여, 상기 질의 색인어 및 상기 시맨틱 색인어의 포함 여부를 나타내며, 상기 B행 벡터들은 시맨틱 색인어와 비교하여, 상기 질의 색인어 및 상기 시맨틱 색인어의 포함 여부를 나타내며, 상기 시맨틱 색인어는, 시맨틱 데이터 추출 시스템의 시맨 틱 데이터베이스 모듈로부터 로딩한 제 1 타입 내지 제 4 타입의 색인어일 수 있다.
상기 검색 엔진의 다른 예에 의하면, 상기 A행 벡터 및 상기 B행 벡터들은 각각 제 1 타입 내지 제 4 타입 색인어의 포함 여부인 A1 내지 A4 벡터 및 B1 내지 B4 벡터를 포함하고, 제 1 타입 내지 제 4 타입 색인어의 가중치가 각각 C1 내지 C4 라 하면, 상기 유사 정도는
Figure 112009040243815-pat00003
에 비례할 수 있다.
상기 검색엔진의 다른 예에 의하면, 상기 유사 정도를 나타내는 출력부를 더 포함할 수 있다.
본 발명의 실시예들에 따른 시맨틱 데이터 추출 시스템은 정보의 기계적 해석과 개념간의 관계 규정을 통해 구조화된 시맨틱 데이터를 생성할 수 있는 시맨틱 데이터를 추출할 수 있다. 따라서 본 발명의 실시예들에 따른 검색 엔진은, 상기 시맨틱 데이터를 이용하여, 질의 입력과 의미적으로 유사하고 관련이 있는 정보를 최단 시간 내에 검색할 수 있다.
또한 본 발명의 실시예들에 따른 검색 엔진은, 자연어 기반의 질의 입력에 대해서, 컴퓨터가 상기 질의 입력의 의미를 이해하고, 스스로 판단과 추론을 하여, 사용자가 원하는 정보를 제공할 수 있다.
본 발명의 실시예들을 설명하기에 앞서 이하에서 사용할 용어들과 개념을 간략히 설명한다.
시맨틱 데이터 기반의 검색은, 기존의 텍스트 키워드 형태의 검색 방식에서 벗어나, 단어의 유사성 및 상관관계 등을 파악한 후 보다 신뢰성 있는 결과를 제공하는 기술이다. 현재의 인터넷과 같은 분산환경에서 리소스(웹 문서, 각종 화일, 서비스 등)에 대한 정보와 자원 사이의 관계, 즉 의미 정보(Semanteme)를 기계(컴퓨터)가 처리할 수 있는 온톨로지 형태로 표현하고, 이를 자동화된 기계(컴퓨터)가 처리하도록 한다.
온톨로지의 범용적인 정의는 개념의 정형화된 설명을 의미하는 것으로서, 용어를 정의하고 용어 사이의 관계를 정의하고 있는 일종의 사전과도 같은 것이다. 즉, 데이터를 i) 형식적이고, ii) 명시적이고, iii) 공유 가능하도록 iv) 개념화하는 것을 말한다. 여기서 i) 형식적이라는 것은 기계가 이해할 수 있고 기계간 데이터 교환이 가능한 상태를 말하고, ii) 명시적이라는 것은 명시적인 방법으로 개념에 대한 정의 및 제약 조건 등을 제공하는 것이며, iii) 공유 가능하다는 것은 관심 영역에 대한 합의된 지식이 제공될 수 있는 상태를 의미한다.
이렇게 데이터를 i) 형식화, ii) 명시화, iii) 공유화하여 특정 영역의 정보를 위한 추상적 모델을 제공하는데, 이를 데이터를 iv) 개념화한다고 한다. 이렇게 개념화된 데이터, 즉 온톨로지는, 컴퓨터와 컴퓨터 사이의 의사소통(communication)이 이루어질 때 주고 받는 메시지에 담긴 의미를 컴퓨터가 이해할 수 있도록 도와준다.
이하에서는 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
도 1은 본 발명의 제 1 실시예에 따른 시맨틱 데이터 추출 시스템(100)을 개략적으로 나타낸 블럭도이다.
도 1을 참조하면, 시맨틱 데이터 추출 시스템(100)은 시맨틱 데이터 추출 모듈(110), 지식 베이스 모듈(120) 및 시맨틱 데이터베이스 모듈(130)을 포함할 수 있다. 시맨틱 데이터 추출 모듈(110)은, 지식 베이스 모듈(120)에 조직화되고 축적되어 있는 정보(예를 들어, 온톨로지)를 기초로, 입력된 가공 전 데이터(X)를 제 1 타입 내지 제 4 타입의 색인어들(Y1, Y2, Y3, Y4)로 분류시킨다. 분류된 제 1 타입 내지 제 4 타입의 색인어들(Y1, Y2, Y3, Y4)은 시맨틱 데이터베이스 모듈(130)에 저장된다.
도 2는 본 발명의 제 1 실시예에 따른 검색 엔진(200)을 개략적으로 나타낸 블록도이다.
도 2를 참조하면, 검색 엔진(200)은 질의 분석 모듈(210), 매트릭스 생성 모듈(220), 및 랭킹 모듈(230)을 포함할 수 있다. 질의 분석 모듈(210)은, 입력된 질의 문장(P)을 제 1 타입 내지 제 4 타입의 질의 색인어(Q)로 분류시킨다. 질의 분석 모듈은(210)은, 시맨틱 데이터 추출 모듈(도 1의 110)을 통해 질의 문장(P)을 1 타입 내지 제 4 타입의 질의 색인어(Q)로 분류할 수 있다.
매트릭스 생성 모듈(220)은 질의 색인어(Q)의 포함 여부를 나타내는 A행 벡터 및 B행 벡터들을 포함하는 검색 매트릭스를 생성한다. 상기 포함여부는 0 또는 1로 표현될 수 있다. 예를 들어 색인어를 포함하는 경우 1로 표현되고, 색인어를 포함하지 않는 경우 0으로 표현될 수 있다.
상기 A행 벡터는 질의 색인어(Q)와 비교하여 질의 색인어(Q)의 포함 여부를 수치로 나타낼 수 있으며, 이경우 상기 A행 벡터는 (1, 1, 1, 1, 1)의 벡터값을 갖게 된다. 상기 B행 벡터들은 시맨틱 데이터베이스 모듈(도 1의 130)로부터 로딩(loading)한 제 1 타입 내지 제 4 타입의 시맨틱 색인어(R)와 비교하여, 상기 질의 색인어(Q)의 포함 여부를 수치로 나타낼 수 있다. 매트릭스가 생성되는 원리에 대해서는 추후 더 자세히 설명하기로 한다.
랭킹 모듈(230)은 매트릭스 생성 모듈(220)로부터 검색 매트릭스를 전달 받아 질의 색인어(Q)와 시맨틱 색인어(R)의 유사 정도를 계산한다. 검색 매트릭스 내 A행 벡터 및 상기 B행 벡터들은 각각 제 1 타입 내지 제 4 타입 색인어의 포함 여부인 A1 내지 A4 벡터 및 B1 내지 B4 벡터를 포함하고, 제 1 타입 내지 제 4 타입 색인어의 가중치가 각각 C1 내지 C4 라 하면, 상기 유사 정도는
Figure 112009040243815-pat00004
에 비례할 수 있다. 상기 C1 내지 C4 상기 식의 경우 상수의 형태이나, 보다 정밀한 유사 정도의 계산을 위해 벡터의 형태로 표현될 수 있다.
선택적으로, 검색 엔진(200)은 상기 유사 정도를 출력하기 위한 출력부(240)을 포함할 수 있다. 출력부(240)는 시각적으로 인식 가능한 디스플레이 장치가 될 수도 있고, 직접 인쇄물로 출력할 수 있는 출력 장치가 될 수도 있으며, 컴퓨터 시스템이 읽거나 저장할 수 있는 데이터의 전송 그 자체가 될 수도 있다.
도 3은 본 발명의 제 1 실시예에 따른 시맨틱 데이터 추출 시스템과 검색 엔진을 나타낸 블록도이다.
도 3을 참조하면, 지식 베이스 모듈(120)은 내용어 사전(310), 기능어 사전(340), 문서 코퍼스(320), 및 온톨로지(330)를 포함하며, 선택적으로 의미 표지 사전(350) 및 의미 범주 패턴 사전(360)을 더 포함할 수 있다. 지식 베이스 모듈(120)은 데이터베이스로서, 컴퓨터 시스템이 읽거나 저장할 수 있는 소프트웨어 코드들을 저장할 수 있는 하드디스크 드라이브(HDD)나 기타 대용량 데이터 저장수단(mass storage) 등으로 구현될 수 있다.
내용어 사전(310)은 형태소(X') 중 홀로 자립적으로 쓰이며 그 자체로 실질적인 의미를 지니는 내용어 형태소(X1)를 구별하기 위해 구축된 데이터베이스이다. 기능어 사전(340)은 형태소(X') 중 실질적인 의미보다 문법적인 기능을 담당하는 전치사, 관사, 접속사, 대명사 등과 같은 기능어 형태소(X4)를 구별하기 위해 구축된 데이터베이스이다.
문서 코퍼스(document corpus, 320)는 가공 전 데이터들을 저장해놓은 데이터베이스로서, 복수개의 문서들을 포함한다. 문서 코퍼스(320)은 시맨틱 데이터 추출 시스템에 입력되는 가공 전 데이터(X)를 포함할 수 있으며, 이 경우 문서 코퍼스(320)를 기초로, 가공 전 데이터(X)의 내용 형태소(X1) 중 주제어(X2)가 무엇인지를 결정한다.
온톨로지(330)는 문서 코퍼스(320) 내 용어들(특히, 의미를 가지는 내용어 형태소(X1))을 정의하고, 용어 사이의 관계를 정의하고 있는 데이터베이스이다. 예 를 들어, 온톨로지(330)는 문서 코퍼스(320) 내의 내용어 형태소(X1)의 동일 개념, 유사 개념, 상위 개념, 및 하위 개념 등을 나타내는 추론 단어(X3)를 포함할 수 있다. 또한, 추론 단어(X3)는 제 1 타입 색인어 내지 상기 제 4 타입 색인어(Y1, Y2, Y3, Y4) 상호간의 의미 관계 및 상기 제 1 타입 색인어 내지 상기 제 4 타입 색인어(Y1, Y2, Y3, Y4)의 조합에 의해 발생되는 패턴을 포함할 수 있다.
시맨틱 데이터 추출 모듈(110)은, 형태소 분석 모듈(410), 주제어 추출 모듈(420), 온톨로지 확장 모듈(430), 및 어휘-구문 패턴 생성 모듈(440)을 포함한다. 시맨틱 데이터 추출 모듈(110)을 통해 분류된 제 1 타입 내지 제 4 타입의 색인어들(Y1, Y2, Y3, Y4)은 시맨틱 데이터베이스 모듈(130)에 저장된다.
형태소 분석 모듈(410)은 입력 정보(X)를, 의미를 가지는 최소 단위의 단어인 형태소(X')로 분리하고, 형태소(X') 중 내용어 사전(310)과 일치하는 내용어 형태소(X1)인 제 1 타입 색인어(Y1)를 생성한다.
주제어 추출 모듈(420)은 내용어 형태소(X1)와 적어도 일정 연관도를 가지는 주제어(X2)인 제 2 타입 색인어(Y2)를 생성한다. 상기 일정 연관도는 가공 전 데이터(X) 내 내용어 형태소(X1)의 출현 빈도(이하 f) 및 문서 코퍼스(320)의 작은 수의 문서에 내용어 형태소(X1)가 집중적으로 출현하는 정도(이하 g)에 비례할 수 있다. 예를 들어, 이를 구체적인 수치로 나타내면, 상기 f는
Figure 112009040243815-pat00005
이고, 상기 g는,
Figure 112009040243815-pat00006
또는 이의 로그 값일 수 있다, 특히 상기 일정 연관도는 f*g일 수 있다.
온톨로지 확장 모듈(430)은 내용어 형태소(X1)에 대한 추론 단어(X3)인 제 3 타입 색인어(Y3)를 생성한다. 즉, 온톨로지 확장 모듈(430)은 제 3 타입 색인어(Y)를 생성하기 위해, 온톨로지(330) 내 저장되어 있는 용어들의 의미 관계를 기초로, 내용어 형태소(X1)와 의미적으로 관련이 있는 추론 단어(X3)들을 검색한다. 추론 단어(X3)들은 내용어 형태소(X1)의 동일, 유사, 상위, 및 하위 개념일 수 있고, 내용어 형태소(X1)에 제한되지 않고 제 1 내지 제 4 타입 색인어(Y1, Y2, Y3, Y4)와 의미적으로 관련이 있는 추론 단어(X3)들이 온톨로지 확장 모듈(430)에 의해 검색될 수 있음은 상술한 바와 같다.
어휘-구문 패턴 생성 모듈(440)은 형태소(X') 중 기능어 사전(340)과 일치하는 기능어 형태소(X4)에 대한 제 4 타입 색인어(Y4)를 생성한다. 제 4 타입 색인어(Y4)는 의미 표지 사전(350)과 비교하여 추출된 기능어 형태소(X4)의 동일 개념, 유사 개념, 및 상위 개념(X5)과 의미 범주 패턴 사전(360)과 비교하여 추출된 기능어 형태소(X4)의 어휘-구문 패턴(X6)을 포함할 수 있다
도면에 표시하지는 않았지만, 예를 들어, 문서 코퍼스(320)에 저장된 문서가 수학과 관련된 문서들인 경우, 시맨틱 데이터 추출 모듈(110)은 입력 정보(X)의 수식 기호를 파싱(parsing)하기 위한 마크업 분석기를 더 포함할 수 있다. 상기 마크 업 분석기는 제 5 타입 색인어를 생성하여 시맨틱 데이터베이스 모듈(130)에 전달하고, 따라서 시맨틱 데이터베이스 모듈(130)은 제 1 타입 내지 제 5 타입의 색인어를 포함한다.
수식 기호를 파싱하기 위한 상기 마크업 분석기는 확장 가능 마크업 언어 파서(extensible markup language parser, XML parser)로서, 수학 마크업 언어(math meta language, MathML)와 가변 벡터 도형 처리(scalable vector graphics, SVG)의 태그를 추출하여 수식기호를 생생할 수 있다.
도 4는 본 발명의 제 1 실시예에 따른 시맨틱 추출 시스템 내 문서 코퍼스에 저장된 문서들을 나타낸다.
도 4를 참조하면, 문서 코퍼스 내에 다양한 정보의 문서들(510, 520, 530)이 저장된다. 문서 1(510)은 내용어 형태소 A, D, F를 포함하고, 기능어 형태소 a, b를 포함한다. 문서 2(520)는 내용어 형태소 A, C, D, H를 포함하고, 기능어 형태소 b를 포함한다. 문서 3(530)은 내용어 형태소 B, C, E, G를 포함하고, 기능어 형태소 a를 포함한다. 여기서 주제어를 추출하기 위한 계산 결과, B, C, F가 주제어이고(가정 1, 540), I는 B 및 C의 상위개념이라는 데이터가 온톨로지(도 3의 330)에 저장되어 있다(가정 2, 550).
도 5는 본 발명의 제 1 실시예에 따른 시맨틱 추출 모듈에 의해 도 4의 문서들이 제 1 타입 내지 제 4 타입 색인어들로 분류되어 시맨틱 데이터베이스 모듈에 저장된 모습을 나타낸다.
도 5를 참조하면, 문서 1(510)로부터, 형태소 분석 모듈(도 3의 410)에 의해 내용어 형태소인 A, D, F가 추출되고, 이들은 제 1 타입 색인어(Y1)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다. 주제어 추출 모듈(도 3의 420)에 의해 A, D, F 중 F가 주제어로 추출되고(가정 1, 도 4의 540), 따라서 F는 제 2 타입 색인어(Y2)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다. 기능어 형태소인 a, b는 어휘-구문 패선 생성 모듈(도 3의 440)에 의해 제 4 타입 색인어(Y4)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다.
문서 2(520)로부터, 형태소 분석 모듈(도 3의 410)에 의해 내용어 형태소인 A, C, D, H가 추출되고, 이들은 제 1 타입 색인어(Y1)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다. 주제어 추출 모듈(도 3의 420)에 의해 A, C, D, H 중 C가 주제어로 추출되고(가정 1, 도 4의 540), 따라서 C는 제 2 타입 색인어(Y2)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다. 기능어 형태소인 b는 어휘-구문 패선 생성 모듈(도 3의 440)에 의해 제 4 타입 색인어(Y4)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다.
문서 3(530)으로부터, 형태소 분석 모듈(도 3의 410)에 의해 내용어 형태소인 B, C, E, G가 추출되고, 이들은 제 1 타입 색인어(Y1)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다. 주제어 추출 모듈(도 3의 420)에 의해 B, C, E, G 중 B, C가 주제어로 추출되고, 따라서 B, C는 제 2 타입 색인어(Y2)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다. 온톨로지(도 3의 330)에 의하면 I는 B와 C의 상위개념이므로(가정 2, 도 4의 550), 온톨로지 확장 모듈(도 3의 430)에 의해 내용어 형태소 B, C, E, G 중 B, C를 기초로 상위 개념 I가 추론 단어로 추출된다. 따라서 I는 제 3 타입 색인어(Y3)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다. 기능어 형태소인 a는 어휘-구문 패선 생성 모듈(도 3의 440)에 의해 제 4 타입 색인어(Y4)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다.
이와 같이 본 발명의 시맨틱 데이터 추출 모듈은, 일반 정보로부터 주제어를 추출하는 등 정보를 기계적으로 해석할 수 있다. 또한 온톨로지에 의한 추론 단어를 추출하는 등 개념간의 관계 규정을 거친 시맨틱 데이터를 생성할 수 있다.
도 6은 본 발명의 제 1 실시예에 따른 검색 엔진 내 질의 분석 모듈에 의해 질의 문장이 제 1 타입 내지 제 4 타입 색인어들로 분류된 모습을 나타낸다. 이 실시예에서는, 상기 질의 분석 모듈이 시맨틱 데이터 추출 모듈(도 1의 110)을 통해 질의 문장을 1 타입 내지 제 4 타입의 질의 색인어로 분류하는 예를 보여준다.
질의 문장(500)으로부터, 형태소 분석 모듈(도 3의 410)에 의해 내용어 형태소인 A, B, C, D, E가 추출되고, 이들은 제 1 타입 색인어(Y1)로 분류되어 매트릭스 생성 모듈(도 3의 220)로 전달된다. 주제어 추출 모듈(도 3의 420)에 의해 A, B, C, D, E 중 B, C가 주제어로 추출되고, 따라서 B, C는 제 2 타입 색인어(Y2)로 분류되어 매트릭스 생성 모듈(도 3의 220)로 전달된다. 온톨로지(도 3의 330)에 의하면 I는 B와 C의 상위개념이므로(가정 2, 도 4의 550), 온톨로지 확장 모듈(도 3의 430)에 의해 내용어 형태소 A, B, C, D, E 중 B, C를 기초로 상위 개념 I가 추론 단어로 추출된다. 따라서 I는 제 3 타입 색인어(Y3)로 분류되어 매트릭스 생성 모듈(도 3의 220)로 전달된다. 기능어 형태소인 a, b는 어휘-구문 패선 생성 모듈 (도 3의 440)에 의해 제 4 타입 색인어(Y4)로 분류되어 매트릭스 생성 모듈(도 3의 220)로 전달된다.
도 7은 본 발명의 제 1 실시예에 따른 검색 엔진 내 매트릭스 생성 모듈(도 3의 220)에 의해 질의 문장 및 문서들이 검색 매트릭스(700)로 수치화된 모습을 나타낸다.
도 7을 참조하면, 매트릭스 생성 모듈(도 3의 220)은 질의 문장에 대해 분류된 제 1 타입 내지 제 4 타입의 색인어들(이하 '제 1 질의 색인어', 600a)의 포함 여부를 기준으로, 검색 매트릭스의 행벡터들을 생성한다. 따라서 상기 행벡터들의 열들은 제 1 타입 색인어 A, B, C, D, E, 제 2 타입 색인어 B, C, 제 3 타입 색인어 I, 제 4 타입 색인어 a, b의 포함 여부가 된다. 각 열의 해당 색인어를 포함하는 경우 상기 각 열의 수치는 1로 표현되고, 상기 각 열의 해당 색인어를 포함하지 않는 경우 상기 각 열의 수치는 0으로 표현될 수 있다. 제 1 타입 내지 제 4 타입 색인어의 타입별 가중치(C1, C2, C3, C4, 590)는 사용자에 의해 결정될 수 있으며, 본 실시예의 경우 C1=1, C1=2, C1=1, C1=1이다.
검색 매트릭스(700)의 제 1 행은 질의 문장(500)에 대한 제 1 질의 색인어(600a)의 포함 여부를 나타내는 A행 벡터이다. 질의 문장(500)은 제 1 질의 색인어(600a) 모두를 포함한다고 할 것이므로, 상기 A행 벡터는 (1,1,1,1,1,1,1,1,1,1)이 된다. 상기 A행 벡터는 제 1 타입 내지 제 4 타입 색인어의 각 타입별로 포함 여부를 나타내는 A1 내지 A4 벡터로 분류될 수 있다. 이 경우 A1 = (1,1,1,1,1), A2 = (1,1), A3 = (1), A4 = (1,1)이 된다.
검색 매트릭스(700)의 제 2 행은 문서 1(510)에 대한 제 1 질의 색인어(600a)의 포함 여부를 나타내는 B행 벡터들 중의 하나이다. 이 경우, 문서 1(510)은 질의 문장(500)을 기준으로, 제 1 타입 색인어 A, D, 제 4 타입 색인어 a, b를 포함한다 할 것이므로, 제 2 행의 행벡터는 (1,0,0,1,0,0,0,0,1,1)이 된다. 제 2 행의 행벡터는 제 1 타입 내지 제 4 타입 색인어의 각 타입별로 포함 여부를 나타내는 B1 내지 B4 벡터로 분류될 수 있다. 이 경우 B1 = (1,0,0,1,0), B2 = (0,0), B3 = (0), B4 = (1,1)이 된다.
상기 B행 벡터들은 시맨틱 데이터 베이스 모듈(도 3의 130)에 저장된 제 1 타입 내지 제 4 타입 색인어들(Y1, Y2, Y3, Y4)을 로딩(loading)하여 얻어진 정보들일 수 있다.
검색 매트릭스(700)의 제 3 행은 문서 2(520)에 대한 제 1 질의 색인어(600a)의 포함 여부를 나타내는 B행 벡터들 중의 다른 하나이다. 이 경우 문서 2(520)는 질의 문장(500)을 기준으로, 제 1 타입 색인어 A, C, D, 제 2 타입 색인어 C, 제 4 타입 색인어 b를 포함한다 할 것이므로, 제 3 행의 행벡터는 (1,0,1,1,0,0,1,0,0,1)이 된다. 제 3 행의 행벡터는 제 1 타입 내지 제 4 타입 색인어의 각 타입별로 포함 여부를 나타내는 B1 내지 B4 벡터로 분류될 수 있다. 이 경우 B1 = (1,0,1,1,0), B2 = (0,1), B3 = (0), B4 = (0,1)이 된다.
검색 매트릭스(700)의 제 4 행은 문서 3(530)에 대한 제 1 질의 색인어(600a)의 포함 여부를 나타내는 B행 벡터들 중 또 다른 하나이다. 이 경우 문서 3(530)는 질의 문장(500)을 기준으로, 제 1 타입 색인어 B, C, E, 제 2 타입 색인어 B, C, 제 3 타입 색인어 I, 제 4 타입 색인어 a를 포함한다 할 것이므로, 제 4 행의 행벡터는 (0,1,1,0,1,1,1,1,1,0)이 된다. 제 4 행의 행벡터는 제 1 타입 내지 제 4 타입 색인어의 각 타입별로 포함 여부를 나타내는 B1 내지 B4 벡터로 분류될 수 있다. 이 경우 B1 = (0,1,1,0,1), B2 = (1,1), B3 = (1), B4 = (1,0)이 된다.
도 8은 본 발명의 제 1 실시예에 따른 검색 엔진 내 랭킹 모듈(도 3의 230)에 의해 질의 문장 및 문서들간의 유사 정도가 계산된 모습을 나타낸다.
도 8을 참조하면, 랭킹 모듈(230)은 검색 매트릭스 내 질의 문장과 문서들의 유사 정도를 계산한다. 예를 들어 A행 벡터 및 B 벡터를 제 1 타입 내지 제 4 타입 색인어의 각 타입별로 포함 여부를 나타내는 A1 내지 A4 벡터와 B1 내지 B4 벡터로 분류되고, 상기 벡터들 상호간의 방향 및 크기가 일치하는 정도를 계산할 수 있다. 이는 내적으로 표현될 수 있으며, 따라서 상기 유사 정도는
Figure 112009040243815-pat00007
로 계산될 수 있다. 다시 말하면, A1 내지 A4 벡터와 B1 내지 B4 벡터 각각의 내적(
Figure 112009040243815-pat00008
)을 구하고, 이후 제 1 타입 내지 제 4 타입 색인어의 각 타입별 가중치(C1, C2, C3, C4)와 상기 내적값을 각각 곱한 뒤(
Figure 112009040243815-pat00009
), 이들을 모 두 합하여 유사 정도를 계산한다.
예를 들어, 질의 문장과 문서 1의 유사 정도(810a)를 계산하고자 하는 경우, A1 = (1,1,1,1,1), A2 = (1,1), A3 = (1), A4 = (1,1) 이고, B1 = (1,0,0,1,0), B2 = (0,0), B3 = (0), B4 = (1,1) 이며, C1=1, C2=2, C3=1, C4=1 이므로, 유사 정도는 1*(1,1,1,1,1)(1,0,0,1,0) + 1*(1,1)(0,0) + 1*(1)(0) + 1*(1,1)(1,1) = 4가 된다.
질의 문장과 문서 2의 유사 정도(820a)를 계산하고자 하는 경우, A1 = (1,1,1,1,1), A2 = (1,1), A3 = (1), A4 = (1,1) 이고, B1 = (1,0,1,1,0), B2 = (0,1), B3 = (0), B4 = (0,1) 이며, C1=1, C2=2, C3=1, C4=1 이므로, 유사 정도는 1*(1,1,1,1,1)(1,0,1,1,0) + 1*(1,1)(0,1) + 1*(1)(0) + 1*(1,1)(0,1) = 6이 된다.
질의 문장과 문서 3의 유사 정도(830a)를 계산하고자 하는 경우, A1 = (1,1,1,1,1), A2 = (1,1), A3 = (1), A4 = (1,1) 이고, B1 = (0,1,1,0,1), B2 = (1,1), B3 = (1), B4 = (1,0) 이며, C1=1, C2=2, C3=1, C4=1 이므로, 유사 정도는 1*(1,1,1,1,1)(0,1,1,0,1) + 1*(1,1)(1,1) + 1*(1)(1) + 1*(1,1)(1,0) = 9가 된다.
도 9는 키워드 방식의 검색 결과와, 본 발명의 제 1 실시예에 따른 검색 엔진을 이용한 검색 결과를 테이블(900)로 비교한 모습을 나타낸다.
도 9를 참조하면, 키워드 검색 방식은 질의 문장(500)이 포함하는 키워드와 문서들(810b, 820b, 830b)이 포함하는 키워드를 상호 비교하여 유사 정도를 계산한다. 본 실시예의 경우 질의 문장은 키워드 A, B, C, D, E, a, b를 포함한다. 문서 1이 키워드 A, D, F, a, b를 포함하므로(도 4의 510), 키워드 A, D, a, b 4개가 일치하는바 질의 문장과 문서 1의 유사 정도(810b)는 4가 된다. 문서 2의 경우 키워드 A, C, D, H, b를 포함하므로(도 4의 520), 키워드 A, C, D, b가 일치하고, 따라서 질의 문장과 문서 2의 유사 정도(820b)는 4가 된다. 문서 3의 경우 키워드 B, C, E, G, a를 포함하므로(도 4의 530), 키워드 B, C, E, a가 일치하고, 따라서 질의 문장과 문서 3의 유사 정도(830b) 역시 4가 된다.
한편, 본 발명의 검색 엔진에 의해 검색된 결과와 상기 키워드 방식의 검색 결과를 테이블(900)로 비교하면, 키워드 방식의 검색 결과의 경우 유사 정도가 모두 4로서 일치하여 가장 유사한 문서가 무엇인지 알 수 없음에 반하여, 본 발명의 검색 엔진에 의해 검색된 결과의 경우 유사 정도가 4, 6, 9로서, 문서 3과 질의 문장의 유사 정도가 가장 높음을 알 수 있다. 따라서, 본 발명의 검색 엔진에 의해, 질의 문장과 의미적으로 유사하고 관련이 있는 정보를 검색할 수 있고, 자연어 기반의 질의 문장이 입력된 경우에도, 컴퓨터가 상기 질의 입력의 의미를 이해하고, 스스로 판단과 추론을 하여, 사용자가 원하는 정보를 제공할 수 있다.
도 10은 본 발명의 제 2 실시예에 따른 검색 엔진 내 매트릭스 생성 모듈(도 3의 220)에 의해 질의 문장 및 문서들이 검색 매트릭스(700)로 수치화된 모습을 나타낸다. 전술한 도 7의 검색 매트릭스로 수치화된 모습을 일부 변형한 것이다.
도 10을 참조하면, 매트릭스 생성 모듈(도 3의 220)은 질의 문장(500) 및 문서 1(510), 문서 2(520), 문서 3(530) 모두에 대해 분류된 제 1 타입 내지 제 4 타입의 색인어들(이하 '제 2 질의 색인어', 600b)의 포함 여부를 기준으로, 검색 매 트릭스의 행벡터들을 생성한다. 따라서 제 2 질의 색인어(600b)는 제 1 타입 색인어 A, B, C, D, E, F, G, H, 제 2 타입 색인어 B, C, F, 제 3 타입 색인어 I, 및 제 4 타입 색인어 a, b 모두를 포함한다.
검색 매트릭스(700)의 제 1 행은 질의 문장(500)에 대한 제 2 질의 색인어(600b)의 포함 여부를 나타내는 A행 벡터이다. 질의 문장은 질의 분석 모듈(도 3의 210)에 의해 제 1 타입 색인어 A, B, C, D, E, 제 2 타입 색인어 B, C, 제 3 타입 색인어 I, 제 4 타입 색인어 a, b로 분류되므로, 상기 A행 벡터는 제 2 질의 색인어(600b) 중 이들의 포함여부를 나타내도록 (1,1,1,1,1,0,0,0,1,1,0,1,1,1)이 된다. 상기 A행 벡터는 제 1 타입 내지 제 4 타입 색인어의 각 타입별로 포함 여부를 나타내는 A1 내지 A4 벡터로 분류될 수 있다. 이 경우 A1 = (1,1,1,1,1,0,0,0), A2 = (1,1,0), A3 = (1), A4 = (1,1)이 된다.
검색 매트릭스(700)의 제 2 행은 문서 1(510)에 대한 제 2 질의 색인어(600b)의 포함 여부를 나타내는 B행 벡터들 중의 하나이다. 이 경우 문서 1(510)은 질의 문장(500)을 기준으로, 제 1 타입 색인어 A, D, F, 제 2 타입 색인어 F, 및 제 4 타입 색인어 a, b를 포함한다 할 것이므로, 제 2 행의 행벡터는 (1,0,0,1,0,1,0,0,0,0,1,0,1,1)이 된다. 제 2 행의 행벡터는 제 1 타입 내지 제 4 타입 색인어의 각 타입별로 포함 여부를 나타내는 B1 내지 B4 벡터로 분류될 수 있다. 이 경우 B1 = (1,0,0,1,0,1,0,0), B2 = (0,0,1), B3 = (0), B4 = (1,1)이 된다.
검색 매트릭스(700)의 제 3 행은 문서 2(520)에 대한 제 2 질의 색인 어(600b)의 포함 여부를 나타내는 B행 벡터들 중의 다른 하나이다. 이 경우 문서 2(520)는 질의 문장(500)을 기준으로, 제 1 타입 색인어 A, C, D, H, 제 2 타입 색인어 C, 제 4 타입 색인어 b를 포함한다 할 것이므로, 제 3 행의 행벡터는 (1,0,1,1,0,0,0,1,0,1,0,0,0,1)이 된다. 제 3 행의 행벡터는 제 1 타입 내지 제 4 타입 색인어의 각 타입별로 포함 여부를 나타내는 B1 내지 B4 벡터로 분류될 수 있다. 이 경우 B1 = (1,0,1,1,0,0,0,1), B2 = (0,1,0), B3 = (0), B4 = (0,1)이 된다.
검색 매트릭스(700)의 제 4 행은 문서 3(530)에 대한 제 2 질의 색인어(600b)의 포함 여부를 나타내는 B행 벡터들 중 또 다른 하나이다. 이 경우 문서 3(530)은 질의 문장(500)을 기준으로, 제 1 타입 색인어 B, C, E, G 제 2 타입 색인어 B, C, 제 3 타입 색인어 I, 제 4 타입 색인어 a를 포함한다 할 것이므로, 제 4 행의 행벡터는 (0,1,1,0,1,0,1,0,1,1,0,1,1,0)이 된다. 제 4 행의 행벡터는 제 1 타입 내지 제 4 타입 색인어의 각 타입별로 포함 여부를 나타내는 B1 내지 B4 벡터로 분류될 수 있다. 이 경우 B1 = (0,1,1,0,1,0,1,0), B2 = (1,1,0), B3 = (1), B4 = (1,0)이 된다.
도 11은 본 발명의 제 2 실시예에 따른 검색 엔진 내 랭킹 모듈(도 3의 230)에 의해 질의 문장 및 문서들간의 유사 정도가 계산된 모습을 나타낸다. 전술한 도 8의 랭킹 모듈에 의해 유사 정도가 계산된 모습을 일부 변형한 것이다.
도 11을 참조하면, 랭킹 모듈(230)은, 도 8과 마찬가지로, 검색 매트릭스 내 질의 문장과 문서들의 유사 정도를,
Figure 112009040243815-pat00010
로 계산한다.
질의 문장과 문서 1의 유사 정도(810a)를 계산하고자 하는 경우, A1 = (1,1,1,1,1,0,0,0), A2 = (1,1,0), A3 = (1), A4 = (1,1) 이고, B1 = (1,0,0,1,0,1,0,0), B2 = (0,0,1), B3 = (0), B4 = (1,1) 이며, C1=1, C1=2, C1=1, C1=1 이므로, 유사 정도는 1*(1,1,1,1,1,0,0,0)(1,0,0,1,0,1,0,0) + 1*(1,1,0)(0,0,1) + 1*(1)(0) + 1*(1,1)(1,1) = 4가 된다.
질의 문장과 문서 2의 유사 정도(820a)를 계산하고자 하는 경우, A1 = (1,1,1,1,1,0,0,0), A2 = (1,1,0), A3 = (1), A4 = (1,1) 이고, B1 = (1,0,1,1,0,0,0,1), B2 = (0,1,0), B3 = (0), B4 = (0,1) 이며, C1=1, C1=2, C1=1, C1=1 이므로, 유사 정도는 1*(1,1,1,1,1,0,0,0)(1,0,1,1,0,0,0,1) + 1*(1,1,0)(0,1,0) + 1*(1)(0) + 1*(1,1)(0,1) = 6이 된다.
질의 문장과 문서 3의 유사 정도(830a)를 계산하고자 하는 경우, A1 = (1,1,1,1,1,0,0,0), A2 = (1,1,0), A3 = (1), A4 = (1,1) 이고, B1 = (0,1,1,0,1,0,1,0), B2 = (1,1,0), B3 = (1), B4 = (1,0) 이며, C1=1, C1=2, C1=1, C1=1 이므로, 유사 정도는 1*(1,1,1,1,1,0,0,0)(0,1,1,0,1,0,1,0) + 1*(1,1,0)(1,1,0) + 1*(1)(1) + 1*(1,1)(1,0) = 9가 된다.
제 1 실시예의 경우, 질의 문장에 대해 분류된 제 1 타입 내지 제 4 타입의 색인어들(제 1 질의 색인어)의 포함 여부만을 기준으로 검색 매트릭스의 행벡터들을 생성하는 반면에, 이 실시예의 경우 질의 문장(500) 및 문서 1(510), 문서 2(520), 문서 3(530) 모두에 대해 분류된 제 1 타입 내지 제 4 타입의 색인어들(제 2 질의 색인어)의 포함여부를 기준으로 검색 매트릭스의 행벡터들을 생성한다. 따라서 질의 문장과 의미적으로 유사하고 관련이 있는 정보를 최단 시간 내에 검색할 수 있다.
도 12는 본 발명의 제 3 실시예에 따른 시맨틱 추출 시스템 내 문서 코퍼스에 저장된 문서 1 및 상기 문서 1이 제 1 타입 내지 제 5 타입 색인어들로 분류되어 시맨틱 데이터베이스 모듈에 저장된 모습을 나타낸다.
도 12를 참조하면, 문서 1(1010)로부터, 형태소 분석 모듈(도 3의 410)에 의해 내용어 형태소인 "사각형", "타원", 넓이"가 추출되고, 이들은 제 1 타입 색인어(Y1)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다.
주제어 추출 모듈(도 3의 420)은 내용어 형태소와 일정 연관도를 갖는 주제어를 추출한다. 상기 일정 연관도는, 예를 들어, 문서 1(가공 전 데이터) 내 내용어 형태소의 출현 빈도(f) 및 상기 문서 코퍼스의 작은 수의 문서에 상기 내용어 형태소가 집중적으로 출현하는 정도(g)의 곱으로 표현될 수 있는데, 구체적인 식은 하기와 같다.
Figure 112009040243815-pat00011
상기 식(f*g)을 이용하여 계산한 결과(T)를 보면, 내용어 형태소 중 "타원"과 "넓이"가 4/5로서 가장 크므로, 일정 연관도를 갖는 주제어임을 알 수 있다. 따라서 "타원"과 "넓이"는 제 2 타입 색인어(Y2)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다.
한편, 온톨로지(도 3의 330)가 "사각형"과 "타원"을 "도형"의 하위 개념으로 정의하고 있는 경우, 온톨로지 확장 모듈(도 3의 430)에 의해 "사각형"과 "타원"을 기초로 상위 개념 "도형"이 추론 단어로 추출된다. . 따라서 "도형"은 제 3 타입 색인어(Y3)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다.
기능어 형태소인 "다음 _에서"는, 어휘-구문 패선 생성 모듈(도 3의 440)에 의해 제 4 타입 색인어(Y4)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다.
문서 1(1010)은 확장 가능 마크업 언어(extensible markup language, XML)의 형태로 저장된 문서일 수 있으며, 수학 마크업 언어(math meta language, MathML)와 가변 벡터 도형 처리(scalable vector graphics, SVG)의 태그를 포함할 수 있다. 이 실시예의 경우, 문서 1(1010)은 SVG 태그(950)를 이용하여 사각형과 타원을 나타내고 있다. 시맨틱 데이터 추출 모듈(도 3의 110)은 마크업 분석기(미도시)를 포함할 수 있으며, 상기 마크업 분석기는 XML 파서(parser)를 이용하여 SVG 태그(950)로부터 문서 1(1010)에 포함된 사각형 및 타원에 대한 정보를 추출할 수 있 다. 따라서 도형기호 "rect" 및 "ellipse"가 제 5 타입 색인어로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다. 또한 MathML을 이용하여 사용변수 "x", "y"에 대한 정보 또한 제 5 타입 색인어로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다.
도 13은 본 발명의 제 3 실시예에 따른 시맨틱 추출 시스템 내 문서 코퍼스에 저장된 문서 2 및 상기 문서 2가 제 1 타입 내지 제 5 타입 색인어들로 분류되어 시맨틱 데이터베이스 모듈에 저장된 모습을 나타낸다. 전술한 도 12의 실시예와 동일한 원리로 제 1 타입 내지 제 5 타입 색인어들을 분류하는 것인바, 두 실시예들에서 중복되는 부분은 생략하기로 한다.
도 13을 참조하면, 문서 2(1020)로부터, "유리수", "무리수", "설명", "만족"이 제 1 타입 색인어(Y1)로 분류되고, 가장 높은 f*g값을 가지는 "유리수" 및 "무리수"가 주제어로 추출되어 제 2 타입 색인어(Y2)로 분류됨을 알 수 있다.
온톨로지(도 3의 330)가 "유리수"와 "무리수"를 "실수"의 하위 개념으로 정의하고 있는 경우, 온톨로지 확장 모듈(도 3의 430)에 의해 "유리수"과 "무리수"를 기초로 상위 개념 "실수"가 추론 단어로 추출된다. 따라서 "실수"는 제 3 타입 색인어(Y3)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다.
기능어 형태소인 "_중 옳은_"과 "_인가?"는, 어휘-구문 패선 생성 모듈(도 3의 440)에 의해 제 4 타입 색인어(Y4)로 분류되어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다. 또한 사용변수 "x", "y", 사용함수 "root", 수식기호 "=", "+"가 MathML 및 SVG를 이용하여 추출되고, 이들은 제 5 타입 색인어(Y5)로 분류되 어 시맨틱 데이터베이스 모듈(도 3의 130)에 저장된다.
도 14는 본 발명의 제 3 실시예에 따른 검색 엔진 내 질의 분석 모듈에 의해 입력된 질의 문장이 제 1 타입 내지 제 4 타입 색인어들로 분류된 모습을 나타낸다. 이 실시예에서는, 상기 질의 분석 모듈이 시맨틱 데이터 추출 모듈(도 3의 110)을 통해 질의 문장을 1 타입 내지 제 4 타입의 질의 색인어로 분류하는 예를 보여준다. 따라서 전술한 도 12의 실시예와 동일한 원리로 제 1 타입 내지 제 5 타입 색인어들을 분류하는 것인바, 두 실시예들에서 중복되는 부분은 생략하기로 한다.
도 14를 참조하면, 질의 문장(1000)으로부터, "유리수", "무리수", "사각형", "넓이"가 제 1 타입 색인어(Y1)로 분류되고, 가장 높은 f*g값을 가지는 "유리수" 및 "무리수"가 주제어로 추출되어 제 2 타입 색인어(Y2)로 분류됨을 알 수 있다. 또한 상위개념인 "실수"가 "유리수" 및 "무리수"의 상위 개념으로서 추론 단어로 추출되고, 상위개념인 "도형" 역시 "사각형"의 상위 개념으로서 추론 단어로 추출된다. 추론 단어 "실수" 및 "도형"은 제 3 타입 색인어로 분류되어, 매트릭스 생성 모듈(도 3의 220)로 전달된다.
기능어 형태소인 "다음 _에서"와 "_인가?"는, 어휘-구문 패선 생성 모듈(도 3의 440)에 의해 제 4 타입 색인어(Y4)로 분류되어 매트릭스 생성 모듈(도 3의 220)로 전달된다. 또한 사용변수 "x", "y", 도형기호 "rect"가 MathML 및 SVG를 이용하여 추출되고, 이들은 제 5 타입 색인어(Y5)로 분류되어 매트릭스 생성 모듈(도 3의 220)로 전달된다.
도 15는 본 발명의 제 3 실시예에 따른 검색 엔진 내 매트릭스 생성 모듈에 의해 질의 문장 및 문서들이 검색 매트릭스(1100)로 수치화된 모습을 나타낸다. 전술한 도 7의 실시예와 동일한 원리로 검색 매트릭스를 생성하는 것인바, 두 실시예들에서 중복되는 부분은 생략하기로 한다.
도 15를 참조하면, 매트릭스 생성 모듈(도 3의 220)은 질의 문장에 대해 분류된 제 1 타입 내지 제 5 타입의 색인어들(이하 '질의 색인어', 1150)의 포함 여부를 기준으로, 검색 매트릭스의 행벡터들을 생성한다. 따라서 상기 행벡터들의 열들은 제 1 타입 색인어 "유리수", "무리수", "사각형", "넓이", 제 2 타입 색인어 "유리수", "무리수", 제 3 타입 색인어 "실수", "도형", 제 4 타입 색인어 "다음 _에서", "_인가?" 및 제 5 타입 색인어 "x", "y", "rect"의 포함 여부가 된다.
검색 매트릭스(1100)의 제 1 행은 질의 문장(1000)에 대한 제 1 질의 색인어(1150)의 포함 여부를 나타내는 A행 벡터이다. 질의 문장(1000)은 질의 색인어(1150) 모두를 포함한다고 할 것이므로, 상기 A행 벡터는 (1,1,1,1,1,1,1,1,1,1,1,1,1)이 된다. 상기 A행 벡터는 제 1 타입 내지 제 5 타입 색인어의 각 타입별로 포함 여부를 나타내는 A1 내지 A5 벡터로 분류될 수 있다. 이 경우 A1 = (1,1,1,1), A2 = (1,1), A3 = (1,1), A4 = (1,1), A5 = (1,1,1)이 된다.
검색 매트릭스(1100)의 제 2 행은 문서 1(1010)에 대한 질의 색인어(1150)의 포함 여부를 나타내는 B행 벡터들 중의 하나이다. 이 경우, 문서 1(1010)은 질의 문장(1000)을 기준으로, 제 1 타입 색인어 "사각형", "넓이", 제 3 타입 색인어 " 도형", 제 4 타입 색인어 "다음_에서", 제 5 타입 색인어 "x", "y", "rect"를 포함한다 할 것이므로, 제 2 행의 행벡터는 (0,0,1,1,0,0,0,1,1,0,1,1,1)이 된다. 제 2 행의 행벡터는 제 1 타입 내지 제 5 타입 색인어의 각 타입별로 포함 여부를 나타내는 B1 내지 B5 벡터로 분류될 수 있다. 이 경우 B1 = (0,0,1,1), B2 = (0,0), B3 = (0,1), B4 = (1,0), B5 = (1,1,1)이 된다.
상기 B행 벡터들은 시맨틱 데이터 베이스 모듈(도 3의 130)에 저장된 제 1 타입 내지 제 5 타입 색인어들(Y1, Y2, Y3, Y4, Y5)을 로딩(loading)하여 얻어진 정보들일 수 있다.
검색 매트릭스(1100)의 제 3 행은 문서 2(1020)에 대한 질의 색인어(1150)의 포함 여부를 나타내는 B행 벡터들 중의 다른 하나이다. 이 경우 문서 2(1020)는 질의 문장(1000)을 기준으로, 제 1 타입 색인어 "유리수", "무리수", 제 2 타입 색인어 "유리수", "무리수", 제 3 타입 색인어 "실수", 제 4 타입 색인어 "_인가?", 제 5 타입 색인어 "x", "y"를 포함한다 할 것이므로, 제 3 행의 행벡터는 (1,1,0,0,1,1,1,0,0,1,1,1,0)이 된다. 제 3 행의 행벡터는 제 1 타입 내지 제 5 타입 색인어의 각 타입별로 포함 여부를 나타내는 B1 내지 B5 벡터로 분류될 수 있다. 이 경우 B1 = (1,1,0,0), B2 = (1,1), B3 = (1,0), B4 = (0,1), B5 = (1,1,0)이 된다.
도 16는 본 발명의 제 3 실시예에 따른 검색 엔진 내 랭킹 모듈에 의해 질의 문장 및 문서들간의 유사 정도가 계산된 모습을 나타낸다. 전술한 도 8의 실시예와 동일한 원리로 유사 정도를 계산하는바, 두 실시예들에서 중복되는 부분은 생략하기로 한다.
도 16을 참조하면, 랭킹 모듈(도 3의 230)은 검색 매트릭스(도 15의 1100) 내 질의 문장과 문서들의 유사 정도를,
Figure 112009040243815-pat00012
로 계산한다. 예를 들어, 질의 문장과 문서 1의 유사 정도(1200a)를 계산하고자 하는 경우, A1 = (1,1,1,1), A2 = (1,1), A3 = (1,1), A4 = (1,1), A5 = (1,1,1) 이고, B1 = (0,0,1,1), B2 = (0,0), B3 = (0,1), B4 = (1,0), B5 = (1,1,1) 이며, C1=1, C2=2, C3=1, C4=1, C5=1 이므로, 유사 정도는 1*(1,1,1,1)(0,0,1,1) + 2*(1,1)(0,0) + 1*(1,1)(0,1) + 1*(1,1)(1,0) + 1*(1,1,1)(1,1,1) = 7이 된다.
질의 문장과 문서 2의 유사 정도(1210a)를 계산하고자 하는 경우, A1 = (1,1,1,1), A2 = (1,1), A3 = (1,1), A4 = (1,1), A5 = (1,1,1) 이고, B1 = (1,1,0,0), B2 = (1,1), B3 = (1,0), B4 = (0,1), B5 = (1,1,0) 이며, C1=1, C2=2, C3=1, C4=1, C5=1 이므로, 유사 정도는 1*(1,1,1,1)(1,1,0,0) + 2*(1,1)(1,1) + 1*(1,1)(1,0) + 1*(1,1)(0,1) + 1*(1,1,1)(1,1,0) = 10이 된다.
도 17은 키워드 방식의 검색 결과와, 본 발명의 제 3 실시예에 따른 검색 엔진을 이용한 검색 결과를 테이블(1300)로 비교한 모습을 나타낸다.
도 17을 참조하면, 키워드 검색 방식은 질의 문장(1150)이 포함하는 키워드와 문서들(1010, 1020)이 포함하는 키워드를 상호 비교하여 유사 정도를 계산한다. 본 실시예의 경우 질의 문장은 키워드 "유리수", "무리수", "사각형", "넓이", "다음_에서", "_인가?"를 포함한다. 문서 1과 질의 문장은 키워드 "유리수", "무리수" "_인가" 3개가 일치하므로 질의 문장과 문서 1의 유사 정도(1200b)는 3이 된다. 문서 2와 질의 문장은 키워드 "사각형", "넓이", "다음_에서"가 일치하므로 질의 문장과 문서 2의 유사 정도(1210b) 역시 3이 된다.
본 발명의 검색 엔진에 의해 검색된 결과와 상기 키워드 방식의 검색 결과를 테이블(900)로 비교하면, 키워드 방식의 검색 결과의 경우 유사 정도가 모두 3으로 일치하여 가장 유사한 문서가 무엇인지 알 수 없음에 반하여, 본 발명의 검색 엔진에 의해 검색된 결과의 경우 유사 정도가 7, 10으로서, 문서 2과 질의 문장의 유사 정도가 가장 높음을 알 수 있다. 따라서, 본 발명의 검색 엔진에 의해, 질의 문장과 의미적으로 유사하고 관련이 있는 정보를 검색할 수 있고, 자연어 기반의 질의 문장이 입력된 경우에도, 컴퓨터가 상기 질의 입력의 의미를 이해하고, 스스로 판단과 추론을 하여, 사용자가 원하는 정보를 제공할 수 있다.
한편, 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 제 1 실시예에 따른 시맨틱 데이터 추출 시스템을 개략적으로 나타낸 블럭도이다.
도 2는 본 발명의 제 1 실시예에 따른 검색 엔진을 개략적으로 나타낸 블록도이다.
도 3은 본 발명의 제 1 실시예에 따른 시맨틱 데이터 추출 시스템과 검색 엔진을 나타낸 블록도이다.
도 4는 본 발명의 제 1 실시예에 따른 시맨틱 추출 시스템 내 문서 코퍼스에 저장된 문서들을 나타낸다.
도 5는 본 발명의 제 1 실시예에 따른 시맨틱 추출 모듈에 의해 문서들이 제 1 타입 내지 제 4 타입 색인어들로 분류되어 시맨틱 데이터베이스 모듈에 저장된 모습을 나타낸다.
도 6은 본 발명의 제 1 실시예에 따른 검색 엔진 내 질의 분석 모듈에 의해 질의 문장이 제 1 타입 내지 제 4 타입 색인어들로 분류된 모습을 나타낸다
도 7은 본 발명의 제 1 실시예에 따른 검색 엔진 내 매트릭스 생성 모듈에 의해 질의 문장 및 문서들이 검색 매트릭스로 수치화된 모습을 나타낸다.
도 8은 본 발명의 제 1 실시예에 따른 검색 엔진 내 랭킹 모듈에 의해 질의 문장 및 문서들간의 유사 정도가 계산된 모습을 나타낸다.
도 9는 키워드 방식의 검색 결과와, 본 발명의 제 1 실시예에 따른 검색 엔진을 이용한 검색 결과를 비교한 모습을 나타낸다.
도 10은 본 발명의 제 2 실시예에 따른 검색 엔진 내 매트릭스 생성 모듈에 의해 질의 문장 및 문서들이 검색 매트릭스로 수치화된 모습을 나타낸다.
도 11은 본 발명의 제 2 실시예에 따른 검색 엔진 내 랭킹 모듈에 의해 질의 문장 및 문서들간의 유사 정도가 계산된 모습을 나타낸다.
도 12는 본 발명의 제 3 실시예에 따른 시맨틱 추출 시스템 내 문서 코퍼스에 저장된 문서 1 및 상기 문서 1이 제 1 타입 내지 제 5 타입 색인어들로 분류되어 시맨틱 데이터베이스 모듈에 저장된 모습을 나타낸다.
도 13은 본 발명의 제 3 실시예에 따른 시맨틱 추출 시스템 내 문서 코퍼스에 저장된 문서 2 및 상기 문서 2가 제 1 타입 내지 제 5 타입 색인어들로 분류되어 시맨틱 데이터베이스 모듈에 저장된 모습을 나타낸다.
도 14는 본 발명의 제 3 실시예에 따른 검색 엔진 내 질의 분석 모듈에 의해 입력된 질의 문장이 제 1 타입 내지 제 4 타입 색인어들로 분류된 모습을 나타낸다
도 15는 본 발명의 제 3 실시예에 따른 검색 엔진 내 매트릭스 생성 모듈에 의해 질의 문장 및 문서들이 검색 매트릭스로 수치화된 모습을 나타낸다.
도 16는 본 발명의 제 3 실시예에 따른 검색 엔진 내 랭킹 모듈에 의해 질의 문장 및 문서들간의 유사 정도가 계산된 모습을 나타낸다.
도 17은 키워드 방식의 검색 결과와, 본 발명의 제 3 실시예에 따른 검색 엔진을 이용한 검색 결과를 테이블로 비교한 모습을 나타낸다.
<도면의 주요부분에 대한 설명>
100 : 시맨틱 데이터 추출 시스템 110 : 시맨틱 데이터 추출 모듈
120 : 지식 베이스 모듈 130 : 시맨틱 데이터 베이스 모듈
200 : 가공 전 데이터 210 : 질의 문석 모듈
220 : 매트릭스 생성 모듈 230 : 랭킹 모듈
240 : 출력부 310 : 내용어 사전
320 : 문서 코퍼스 330 : 온톨로지
340 : 기능어 사전 350 : 의미 표지 사전
360 : 의미 범주 패턴 사전 410 : 형태소 분석 모듈
420 : 주제어 추출 모듈 440 : 어휘-구문 패턴 생성 모듈
450 : 온톨로지 확장 모듈

Claims (14)

  1. 가공 전 데이터를 형태소로 분리하고, 상기 형태소 중 내용어 사전과 일치하는 내용어 형태소인 제 1 타입 색인어를 생성하는 형태소 분석 모듈;
    상기 내용어 형태소와 적어도 일정 연관도를 가지는 주제어인 제 2 타입 색인어를 생성하는 주제어 추출 모듈;
    상기 내용어 형태소에 대한 추론 단어인 제 3 타입 색인어를 생성하는 온톨로지 확장 모듈; 및
    상기 형태소 중 기능어 사전과 일치하는 기능어 형태소에 대한 제 4 타입 색인어를 생성하는 어휘-구문 패턴 생성 모듈;
    을 포함하는 시맨틱 데이터 추출 모듈.
  2. 제 1 항에 있어서,
    상기 일정 연관도는 제 1 값(f) 또는 제 2 값(g)에 비례하고,
    상기 f는
    Figure 112011020681722-pat00033
    이고,
    상기 g는
    Figure 112011020681722-pat00034
    및 이의 로그 값 중 하나인 것을 특징으로 하는 시맨틱 데이터 추출 모듈.
  3. 제 2 항에 있어서,
    상기 일정 연관도는 f*g인 것을 특징으로 하는 시맨틱 데이터 추출 모듈.
  4. 제 1 항에 있어서,
    상기 추론 단어는 상기 내용어 형태소의 동일 개념, 유사 개념, 상위 개념, 및 하위 개념을 포함하는 온톨로지 내 추론 단어인 것을 특징으로 하는 시맨틱 데이터 추출 모듈.
  5. 제 1 항에 있어서,
    상기 기능어 형태소에 대한 제 4 타입 색인어는,
    의미 표지 사전과 비교하여 추출된 상기 기능어 형태소의 동일 개념;
    상기 의미 표지 사전과 비교하여 추출된 상기 기능어 형태소의 상위 개념; 및
    의미 범주 패턴 사전과 비교하여 추출된 상기 기능어 형태소의 어휘-구문 패턴;
    을 포함하는 시맨틱 데이터 추출 모듈.
  6. 제 1 항에 있어서,
    상기 가공 전 데이터의 수식 기호인 제 5 타입 색인어를 생성하는 마크업 분석기를 더 포함하고,
    상기 시맨틱 데이터베이스 모듈은 제 1 타입 내지 제 5 타입의 색인어를 포함하는 시맨틱 데이터 추출 모듈.
  7. 제 6 항에 있어서,
    상기 마크업 분석기는 확장 가능 마크업 언어 파서(extensible markup language parser, XML parser)로서, 수학 마크업 언어(math meta language, MathML)와 가변 벡터 도형 처리(scalable vector graphics, SVG)의 태그를 추출하여 상기 제 5 타입 색인어를 생성하는 것을 특징으로 하는 시맨틱 데이터 추출 모듈.
  8. 내용어 사전, 기능어 사전, 문서 코퍼스, 및 온톨로지를 포함하는 지식 베이스 모듈;
    가공 전 데이터를 형태소로 분리하고, 상기 형태소 중 상기 내용어 사전과 일치하는 내용어 형태소인 제 1 타입 색인어를 생성하는 형태소 분석 모듈;
    상기 내용어 형태소와 적어도 일정 연관도를 가지는 주제어인 제 2 타입 색인어를 생성하는 주제어 추출 모듈;
    상기 내용어 형태소에 대한 추론 단어인 제 3 타입 색인어를 생성하는 온톨로지 확장 모듈;
    상기 형태소 중 기능어 사전과 일치하는 기능어 형태소에 대한 제 4 타입 색인어를 생성하는 어휘-구문 패턴 생성 모듈; 및
    제 1 타입 내지 제 4 타입의 색인어를 포함하는 시맨틱 데이터를 저장하는 시맨틱 데이터베이스 모듈;
    을 포함하는 시맨틱 데이터 추출 시스템.
  9. 입력된 질의 문장을 제 1 타입 내지 제 4 타입의 질의 색인어로 분류하는 질의 분석 모듈;
    상기 질의 색인어의 포함 여부를 나타내는 벡터들을 포함하는 검색 매트릭스를 생성하는 매트릭스 생성 모듈; 및
    상기 벡터들의 방향과 크기를 고려하여 상기 벡터들 상호간의 유사 정도를 계산하는 랭킹 모듈; 을 포함하고,
    상기 제 1 타입 색인어는 상기 질의 문장의 내용어 형태소, 상기 제 2 타입 색인어는 상기 내용어 형태소와 일정 연관도를 가지는 주제어, 상기 제 3 타입 색인어는 상기 내용어 형태소에 대한 추론 단어, 상기 제 4 타입 색인어는 상기 질의 문장의 기능어 형태소인 검색 엔진.
  10. 제 9 항에 있어서, 상기 질의 분석 모듈은,
    상기 질의 문장을 형태소로 분리하고, 상기 형태소 중 내용어 사전과 일치하는 내용어 형태소인 제 1 타입 색인어를 생성하는 형태소 분석 모듈;
    상기 내용어 형태소와 적어도 일정 연관도를 가지는 주제어인 제 2 타입 색인어를 생성하는 주제어 추출 모듈;
    상기 내용어 형태소에 대한 추론 단어인 제 3 타입 색인어를 생성하는 온톨로지 확장 모듈; 및
    상기 형태소 중 기능어 사전과 일치하는 기능어 형태소에 대한 제 4 타입 색인어를 생성하는 어휘-구문 패턴 생성 모듈;
    을 포함하는 검색 엔진.
  11. 제 9 항에 있어서,
    상기 벡터들은 A행 벡터와 B행 벡터들을 포함하고,
    상기 A행 벡터는 상기 질의 색인어와 비교하여, 상기 질의 색인어의 포함 여부를 나타내고,
    상기 B행 벡터들은 시맨틱 색인어와 비교하여, 상기 질의 색인어의 포함 여부를 나타내며,
    상기 시맨틱 색인어는, 시맨틱 데이터 추출 시스템의 시맨틱 데이터베이스 모듈로부터 로딩된 제 1 타입 내지 제 4 타입의 색인어인 것을 특징으로 하는 검색 엔진.
  12. 제 9 항에 있어서,
    상기 벡터들은 A행 벡터와 B행 벡터들을 포함하고,
    상기 A행 벡터 및 상기 B행 벡터들은 상기 질의 색인어 및 시맨틱 색인어의 포함 여부를 나타내고,
    상기 A행 벡터는 상기 질의 색인어와 비교하여, 상기 질의 색인어 및 상기 시맨틱 색인어의 포함 여부를 나타내며,
    상기 B행 벡터들은 시맨틱 색인어와 비교하여, 상기 질의 색인어 및 상기 시맨틱 색인어의 포함 여부를 나타내며,
    상기 시맨틱 색인어는, 시맨틱 데이터 추출 시스템의 시맨틱 데이터베이스 모듈로부터 로딩한 제 1 타입 내지 제 4 타입의 색인어인 것을 특징으로 하는 검색 엔진.
  13. 제 11 항 및 제 12 항 중 어느 한 항에 있어서,
    상기 A행 벡터 및 상기 B행 벡터들은 각각 제 1 타입 내지 제 4 타입 색인어의 포함 여부인 A1 내지 A4 벡터 및 B1 내지 B4 벡터를 포함하고,
    제 1 타입 내지 제 4 타입 색인어의 가중치가 각각 C1 내지 C4 라 하면,
    상기 유사 정도는
    Figure 112009040243815-pat00015
    에 비례하는 것을 특징으로 하는 검색 엔진.
  14. 제 9 항에 있어서,
    상기 유사 정도를 나타내는 출력부;를 더 포함하는 검색 엔진
KR1020090059765A 2009-07-01 2009-07-01 시맨틱 데이터 추출 시스템 및 이를 이용한 검색 엔진 KR101057072B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090059765A KR101057072B1 (ko) 2009-07-01 2009-07-01 시맨틱 데이터 추출 시스템 및 이를 이용한 검색 엔진

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090059765A KR101057072B1 (ko) 2009-07-01 2009-07-01 시맨틱 데이터 추출 시스템 및 이를 이용한 검색 엔진

Publications (2)

Publication Number Publication Date
KR20110002262A KR20110002262A (ko) 2011-01-07
KR101057072B1 true KR101057072B1 (ko) 2011-08-16

Family

ID=43610543

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090059765A KR101057072B1 (ko) 2009-07-01 2009-07-01 시맨틱 데이터 추출 시스템 및 이를 이용한 검색 엔진

Country Status (1)

Country Link
KR (1) KR101057072B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101444671B1 (ko) * 2011-02-21 2014-09-30 에스케이 텔레콤주식회사 수학식 시맨틱정보 생성방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
KR101923146B1 (ko) * 2016-11-24 2018-11-28 주식회사 솔트룩스 워드 벡터를 이용한 시맨틱 검색 시스템 및 방법
KR102011667B1 (ko) * 2016-11-29 2019-08-20 (주)아크릴 딥러닝-기반 키워드에 연관된 단어를 도출하는 방법과 컴퓨터프로그램
EP3588324A1 (en) * 2018-06-26 2020-01-01 Tata Consultancy Services Limited Methods and systems for performing a model driven domain specific search

Also Published As

Publication number Publication date
KR20110002262A (ko) 2011-01-07

Similar Documents

Publication Publication Date Title
EP3016002A1 (en) Non-factoid question-and-answer system and method
WO2007085528A1 (en) Knowledge management system, program product and method
Borsje et al. Semi-automatic financial events discovery based on lexico-semantic patterns
US20040128292A1 (en) Search data management
Quirchmayr et al. Semi-automatic Software Feature-Relevant Information Extraction from Natural Language User Manuals: An Approach and Practical Experience at Roche Diagnostics GmbH
KR101057072B1 (ko) 시맨틱 데이터 추출 시스템 및 이를 이용한 검색 엔진
Siklósi Using embedding models for lexical categorization in morphologically rich languages
Agarwal et al. FigSum: automatically generating structured text summaries for figures in biomedical literature
JP5193798B2 (ja) 辞書作成装置、辞書作成方法および辞書作成プログラム並びに辞書作成プログラムを記録した記録媒体
JP4143085B2 (ja) 同義語獲得方法及び装置及びプログラム及びコンピュータ読み取り可能な記録媒体
JP2010250439A (ja) 検索システム、データ生成方法、プログラムおよびプログラムを記録した記録媒体
KR101476225B1 (ko) 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
JP5228451B2 (ja) 文書検索装置
KR20070008994A (ko) 비구조 웹문서에서 도메인별 정보를 추출하기 위한 시스템및 그 방법
JP4148247B2 (ja) 語彙獲得方法及び装置及びプログラム及びコンピュータ読み取り可能な記録媒体
Uddin et al. Information and relation extraction for semantic annotation of ebook texts
JP2006119697A (ja) 質問応答システム、質疑応答方法および質疑応答プログラム
De Virgilio et al. A reverse engineering approach for automatic annotation of Web pages
KR101088483B1 (ko) 이종 분류체계들을 매핑시키는 방법 및 장치
JP2000105769A (ja) 文書表示方法
Mahajani et al. Ranking-based sentence retrieval for text summarization
JP2019200488A (ja) 自然言語処理装置、検索装置、自然言語処理方法、検索方法およびプログラム
Keim et al. Analyzing document collections via context-aware term extraction
JP4526080B2 (ja) 方法説明検索装置およびプログラム
Majumdar Automatic Keyword Extraction Method for Multilingual Web Pages

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: 20150804

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160729

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170804

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190805

Year of fee payment: 9