KR101923146B1 - 워드 벡터를 이용한 시맨틱 검색 시스템 및 방법 - Google Patents

워드 벡터를 이용한 시맨틱 검색 시스템 및 방법 Download PDF

Info

Publication number
KR101923146B1
KR101923146B1 KR1020160157430A KR20160157430A KR101923146B1 KR 101923146 B1 KR101923146 B1 KR 101923146B1 KR 1020160157430 A KR1020160157430 A KR 1020160157430A KR 20160157430 A KR20160157430 A KR 20160157430A KR 101923146 B1 KR101923146 B1 KR 101923146B1
Authority
KR
South Korea
Prior art keywords
document
vector
word vector
unit
word
Prior art date
Application number
KR1020160157430A
Other languages
English (en)
Other versions
KR20180058449A (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 KR1020160157430A priority Critical patent/KR101923146B1/ko
Publication of KR20180058449A publication Critical patent/KR20180058449A/ko
Application granted granted Critical
Publication of KR101923146B1 publication Critical patent/KR101923146B1/ko

Links

Images

Classifications

    • G06F17/30324
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F17/30424

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

워드 벡터를 이용한 시맨틱 검색 시스템 및 방법이 개시된다. 본 발명의 예시적 실시예에 따른 시맨틱 검색 시스템은, 비정형 데이터로부터 추출된 특성 및 특성에 대응하는 제1 워드 벡터를 포함하는 워드 벡터 모델을 제공하는 워드 벡터 모델 제공부, 워드 벡터 모델에 기초하여 정보 문서의 적어도 하나의 제2 워드 벡터로부터 생성된 문서 벡터, 및 정보 문서의 식별자를 포함하는 문서 색인 데이터를 제공하는 문서 색인부, 및 워드 벡터 모델에 기초하여 질의 데이터의 적어도 하나의 제3 워드 벡터로부터 생성된 질의 벡터, 및 문서 벡터 사이 유사도를 평가하고, 유사도에 기초하여 정보 문서의 식별자를 선정하는 질의 처리부를 포함할 수 있다.

Description

워드 벡터를 이용한 시맨틱 검색 시스템 및 방법{SYSTEM AND METHOD OF SEMANTIC SEARCH USING WORD VECTOR}
본 발명의 기술적 사상은 시맨틱 검색 시스템 및 방법에 관한 것으로서, 자세하게는 워드 벡터를 이용한 시맨틱 검색 시스템 및 방법에 관한 것이다.
본 발명은 미래창조과학부 SW컴퓨팅산업원천기술개발사업(SW)의 일환으로 (주)솔트룩스에서 주관하고 연구하여 수행된 연구로부터 도출된 것이다. [연구기간: 2006.03.01~2017.02.28, 연구관리 전문기관: 정보통신기술연구진흥센터, 연구과제명: WiseKB: 빅데이터 이해 기반 자가학습형 지식베이스 및 추론기술 개발, 과제 고유번호: R0101-16-0054]
시맨틱(semantic) 검색은, 질의의 분석을 통해서 검색 의도를 파악하고, 검색 의도에 부합하는 검색 결과를 제공하는 것을 목적으로 한다. 시맨틱은 "의미의, 어의의"라는 뜻을 가지고 있고, 이에 따라 시맨틱 검색은 "뜻일 이해하는 검색"으로 정의될 수 있다. 이를 위하여, 시맨틱 검색은 질의에 포함된 문장이나 단락의 주제를 파악하고, 주제와 유사도가 높은 정보를 검색할 수 있다.
이러한 시맨틱 검색을 구현함에 있어서 다양한 해결과제들이 있을 수 있다. 예를 들면, 질의로부터 정확한 주제를 추출하는 작업이나 시맨틱 프레임을 생성하는 작업은 특정 도메인의 전문가에 의해서 사전에 생성된 플랫폼을 요구할 수 있다. 이에 따라 시맨틱 검색 서비스는 질의와 유사한 키워드를 확장하는 키워드 확장 검색과 같은 방식이 채용되고 있는 상황이다.
본 발명의 기술적 사상은, 워드 벡터를 이용하는 시맨틱 검색 시스템 및 방법을 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 기술적 사상에 따라 사용자의 수준에 따른 시맨틱 검색 시스템은, 비정형 데이터로부터 추출된 특성 및 특성에 대응하는 제1 워드 벡터를 포함하는 워드 벡터 모델을 제공하는 워드 벡터 모델 제공부, 워드 벡터 모델에 기초하여 정보 문서의 적어도 하나의 제2 워드 벡터로부터 생성된 문서 벡터, 및 정보 문서의 식별자를 포함하는 문서 색인 데이터를 제공하는 문서 색인부, 및 워드 벡터 모델에 기초하여 질의 데이터의 적어도 하나의 제3 워드 벡터로부터 생성된 질의 벡터, 및 문서 벡터 사이 유사도를 평가하고 유사도에 기초하여 정보 문서의 식별자를 선정하는 질의 처리부를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 비정형 데이터, 정보 문서 또는 질의 데이터로부터, 적어도 하나의 특성을 추출하는 특성 추출부를 더 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 특성 추출부는, 적어도 하나의 단어를 포함하는 말뭉치(chunk)들을 추출하고, 말뭉치들을 가중치에 따라 필터링함으로써 적어도 하나의 말뭉치를 적어도 하나의 특성으로서 추출할 수 있다.
본 발명의 예시적 실시예에 따라, 워드 벡터 모델 제공부는, 수신된 비정형 데이터에 포함된 복수의 문서들로부터 추출된 특성들에 기초하여, 추출된 특성들에 대응하는 제1 워드 벡터들을 생성하는 워드 벡터 생성부, 및 워드 벡터 모델을 저장하는 워드 벡터 저장부를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 워드 벡터 생성부는, 비정형 데이터에 포함된 복수의 문서들에서, 미리 정해진 기준값보다 높은 출현 빈도를 가지는 특성에 대응하는 워드 벡터를 제1 워드 벡터로서 생성할 수 있다.
본 발명의 예시적 실시예에 따라, 질의 처리부는, 워드 벡터 모델 제공부에 엑세스하고, 워드 벡터 모델에 기초하여 질의 데이터로부터 적어도 하나의 제3 벡터를 추출하고, 적어도 하나의 제3 벡터에 기초하여 질의 벡터를 생성하는 질의 벡터 생성부, 및 문서 색인부에 엑세스하고, 질의 벡터 및 문서 벡터 사이 유사도를 평가함으로써, 적어도 하나의 문서 벡터에 대응하는 적어도 하나의 정보 문서의 식별자를 선정하는 벡터 검색부를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 질의 벡터 생성부는, 2개 이상의 제3 벡터들을 합산함으로써 질의 벡터를 생성할 수 있다.
본 발명의 예시적 실시예에 따라, 문서 색인부는, 워드 벡터 모델 제공부에 엑세스하고, 워드 벡터 모델에 기초하여 정보 문서로부터 적어도 하나의 제2 벡터를 추출하고, 적어도 하나의 제2 벡터에 기초하여 문서 벡터를 생성하는 문서 벡터 생성부, 및 문서 벡터 및 정보 문서의 식별자를 포함하는 문서 색인 데이터를 저장하는 문서 색인 데이터 저장부를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 문서 색인부는, 문서 벡터의 값이 미리 정해진 기준치 미만인 경우, 정보 문서를 워드 벡터 모델 제공부에 제공하는 문서 벡터 관리부를 더 포함할 수 있다.
본 발명의 기술적 사상에 따른 시맨틱 검색 시스템 및 방법에 의하면, 비정형 데이터로부터 생성된 워드 벡터 모델에 기인하여, 특정 도메인의 유사/유의어 사전(thesaurus) 등과 같이 미리 전문가 등에 의해 구축되는 플랫폼이 생략될 수 있다.
또한, 본 발명의 기술적 사상에 따른 시맨틱 검색 시스템 및 방법에 의하면, 워드 벡터 모델을 이용함으로써 질의가 키워드를 포함하지 아니하더라도 검색 의도에 정확하게 부합하는 검색 결과가 제공될 수 있다.
도 1은 본 발명의 예시적 실시예에 따른 시맨틱 검색 시스템 및 그 입출력 관계를 나타내는 블록도이다.
도 2는 본 발명의 예시적 실시예에 따라 도 1의 워드 벡터 모델 제공부를 나타내는 블록도이다.
도 3은 본 발명의 예시적 실시예에 따라 도 2의 특성 추출부의 예시적인 동작을 나타태는 도면이다.
도 4는 본 발명의 예시적 실시예에 따라 도 2의 워드 벡터 생성부의 예시적인 동작을 나타내는 도면이다.
도 5는 본 발명의 예시적 실시예에 따라 도 1의 문서 색인부을 나타내는 블록도이다.
도 6은 본 발명의 예시적 실시예에 따라 도 1의 질의 처리부을 나타내는 블록도이다.
도 7은 본 발명의 예시적 실시예에 따른 시맨틱 검색 시스템 및 그 입출력 관계를 나타내는 블록도이다.
도 8은 본 발명의 예시적 실시예에 따른 시맨틱 검색 방법을 나타내는 순서도이다.
도 9는 본 발명의 예시적 실시예에 따라 도 8의 단계 S20의 예시를 나타내는 순서도이다.
도 10은 본 발명의 예시적 실시예에 따라 도 8의 단계 S60의 예시를 나타내는 순서도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 아니하는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하 도면 및 설명에서, 하나의 블록으로 표시 또는 설명되는 구성요소는 하드웨어 블록 또는 소프트웨어 블록일 수 있다. 예를 들면, 구성요소들 각각은 서로 신호를 주고 받는 독립적인 하드웨어 블록일 수도 있고, 또는 하나의 프로세서에서 실행되는 소프트웨어 블록일 수도 있다.
도 1은 본 발명의 예시적 실시예에 따른 시맨틱 검색 시스템(100) 및 그 입출력 관계를 나타내는 블록도이다. 도 1에 도시된 바와 같이, 시맨틱 검색 시스템(100)은 워드 벡터 모델 제공부(120), 문서 색인부(140) 및 질의 처리부(160)를 포함할 수 있고, 비정형 데이터(20), 정보 문서(40) 및 질의 데이터(60)를 수신할 수 있고, 검색 결과 데이터(80)를 출력할 수 있다.
본 발명의 예시적 실시예에 따라, 시맨틱 검색 시스템(100)은 비정형 데이터로부터 생성된 워드 벡터를 이용할 수 있다. 워드 벡터는 딥 러닝(deep learning) 기법이 자연어 처리 영역에 적용되는 경우 사용되는 벡터 모델을 지칭할 수 있다. 벡터 공간에서 특정 텀(주제어)이 하나의 벡터로 표현되는 경우, 텀을 개별적으로 표현하기 위하여 자신의 텀을 나타내는 차원의 값만 '1'이고, 나머지 차원들의 값이 '0'인 희소(sparse) 벡터로서 표현될 수 있다. 그러나, 이러한 경우 세상에 존재하는 모든 텀을 표현하기 위하여, 각각의 텀은 차원을 알 수 없는 (또는 무한대의) 공간에 표현될 수 밖에 없고, 다른 텀과의 유사도를 판단할 때 동일한 텀이 존재하는 경우에만 의미있는 값이 도출되는 문제가 발생할 수 있다. 이러한 문제를 해소하고자, 특정 도메인에서 발생한 모든 텀들을 분석함으로써 각각의 텀에 대한 고유 벡터를 생성하고, 고유 벡터들은 유한한 차원(예컨대, 100 차원 또는 50 차원 등)의 공간에서 표현될 수 있다. 이러한 고유 벡터는 워드 벡터로서 지칭될 수 있고, 워드 벡터의 값, 즉 차원들 각각의 값은 바이너리 값이 아닌 정수 또는 실수의 값을 가질 수 있고, 동일 차원의 값이 높을수록 의미적으로 유사한 것으로 간주될 수 있다. 이와 같이, 텀을 워드 벡터로서 나타내는 것은 워드 임베딩(word embedding)으로 지칭될 수 있다. 이하에서, 텀은 특성으로도 지칭될 수 있고, 특성은 적어도 하나의 단어를 포함하는 말뭉치(chunk)를 포함할 수 있다.
도 1을 참조하면, 워드 벡터 모델 제공부(120)는 비정형 데이터(20)로부터 추출된 특성 및 특성에 대응하는 워드 벡터(제1 워드 벡터)를 포함하는 워드 벡터 모델을 문서 색인부(140) 및 질의 처리부(160)에 제공할 수 있다. 도 5 및 도 6을 참조하여 후술되는 바와 같이, 질의 처리부(160) 및 문서 색인부(140) 각각은 입력 데이터, 즉 질의 데이터(60) 또는 정보 문서(40)로부터 추출된 특성에 대하여 워드 벡터 모델 제공부(120)가 제공하는 워드 벡터 모델을 참조하여 입력 데이터의 주제 벡터, 즉 질의 벡터 또는 문서 벡터를 생성할 수 있다. 즉, 사용자, 예컨대 특정 도메인의 전문가에 의한 유의어 사전 등과 같은 플랫폼 대신, 워드 벡터 모델 제공부(120)에 의해서 비정형 데이터(20)로부터 자동으로 생성된 워드 벡터 모델이 사용될 수 있다. 워드 벡터 모델 제공부(120)에 대한 자세한 내용은 도 2 내지 도 4를 참조하여 후술될 것이다.
비정형 데이터(20)는 빅 데이터(big data)로서 지칭될 수도 있고, 인터넷과 같은 광역 네트워크나 로컬 네트워크 등을 통해서 시맨틱 검색 시스템(100)이 접근 가능한 데이터를 총괄적으로 지칭할 수 있다. 예를 들면, 비정형 데이터(20)는 엑스트라넷(extranet), 인트라넷(intranet) 등과 같이 인터넷 프로토콜을 사용하는 통신망을 통해서 접근 가능할 수 있고, 비제한적인 예시로서, 기사들을 저장하는 서버로부터 제공되는 기사 데이터일 수도 있고, 백과사전과 같이 특정 대상에 대한 정보를 저장하는 서버로부터 제공되는 사전 데이터일 수도 있으며, 소셜 네트워크와 같이 최신 이슈 등에 대한 정보를 파악할 수 있는 소셜 데이터일 수도 있다. 일 실시예에서, 워드 벡터 모델 제공부(120)가 수신하는 비정형 데이터(20)는 특정 도메인에 포함되는 데이터로 제한될 수도 있고, 그러한 경우 워드 벡터 모델 제공부(120)는 워드 벡터 모델과 함께 특정 도메인에 대한 정보를 질의 처리부(160) 및 문서 색인부(140)에 제공할 수도 있다.
도 1을 참조하면, 문서 색인부(140)는 질의 처리부(160)에 문서 색인 데이터를 제공할 수 있다. 문서 색인 데이터는 워드 벡터 모델 제공부(120)로부터 제공되는 워드 벡터 모델에 기초하여, 시맨틱 검색 시스템(100) 외부에서 수신된 정보 문서(40)로부터 생성된 문서 벡터 및 정보 문서(40)의 식별자를 포함할 수 있다. 예를 들면, 문서 색인부(140)는 정보 문서(40)로부터 추출된 특성에 대응하는 워드 벡터(제2 워드 벡터)를 워드 벡터 모델에 기초하여 생성할 수 있고, 생성된 워드 벡터로부터 정보 문서(40)의 문서 벡터를 생성할 수 있다. 문서 색인 데이터에 포함된 문서 벡터는 질의 처리부(160)에 의해서 질의 벡터와 유사도가 평가될 수 있다. 즉, 문서 색인부(140)는 정보 문서(40)의 문서 벡터 및 식별자를 질의 처리부(160)에 제공함으로써 질의 처리부(160)가 질의 데이터(60)를 처리하여 검색 결과 데이터(80)를 출력하는 것을 가능하게 한다. 문서 색인부(140)에 대한 자세한 내용은 도 5를 참조하여 후술될 것이다.
정보 문서(40)는, 비정형 데이터(20)와 유사하게, 인터넷과 같은 광역 네트워크나 로컬 네트워크 등을 통해서 시맨틱 검색 시스템(100)이 접근 가능한 데이터를 총괄적으로 지칭할 수 있고, 비정형 데이터(20)에 포함될 수도 있다. 검색 의도를 포함하는 질의 데이터(60)에 응답하여 시맨틱 검색 시스템(100)이 제공하는 검색 결과 데이터(80)는 정보 문서(40)의 요약 정보 또는 정보 문서(40)의 식별자를 포함할 수 있고, 정보 문서(40)의 식별자는 정보 문서(40)에 접근할 수 있는 경로 정보를 포함할 수 있다.
질의 처리부(160)는 시맨틱 검색 시스템(100) 외부에서 수신되는 질의 데이터(60)로부터 질의 벡터를 생성할 수 있고, 문서 색인부(140)로부터 제공되는 문서 색인 데이터의 문서 벡터 및 질의 벡터 사이 유사도에 기초하여 정보 문서의 식별자를 선정할 수 있다. 예를 들면, 질의 처리부(160)는 질의 데이터(60)로부터 추출된 특성에 대응하는 워드 벡터(제3 워드 벡터)를 워드 벡터 모델에 기초하여 생성할 수 있고, 생성된 워드 벡터로부터 질의 데이터(60)의 질의 벡터를 생성할 수 있다. 질의 처리부(160)는 문서 색인부(140)에 엑세스함으로써 문서 색인 데이터의 문서 벡터와 질의 벡터와의 유사도를 평가할 수 있고, 유사도에 기초하여 문서 색인 데이터에 포함된 문서 식별자를 선정할 수 있다. 질의 처리부(160)는 선정된 문서 식별자를 포함하는 검색 결과 데이터(80)를 시맨틱 검색 시스템(100) 외부로 출력할 수 있다. 질의 처리부(160)에 대한 자세한 내용은 도 6을 참조하여 후술될 것이다.
질의 데이터(60)는 다양한 형식을 가질 수 있다. 예를 들면, 질의 데이터(60)는 사용자 단말기를 통해서 사용자가 입력하는 문장, 키워드 또는 키워드의 조합 등일 수도 있고, 텍스트를 포함하는 하나 이상의 문서일 수도 있다. 검색 결과 데이터(80)는 하나 이상의 정보 문서(40)에 대한 정보, 예컨대 정보 문서(40)의 요약 정보, 식별자 등을 포함할 수 있고, 사용자 단말 등에 전송되어 사용자에게 제공되거나 시맨틱 검색 시스템(100)에 질의 데이터(60)를 전송한 다른 시스템에 전송될 수 있다.
전술된 바와 같이, 본 발명의 예시적 실시예에 따른 시맨틱 검색 시스템(100)은 자동으로 워드 벡터 모델을 생성하고, 워드 벡터 모델에 기초하여 문서 벡터 및 질의 벡터를 생성하고, 문서 벡터 및 질의 벡터의 유사도에 기초하여 검색 결과 데이터(80)를 생성할 수 있다. 이에 따라, 특정 도메인의 유사/유의어 사전 등과 같이 미리 전문가 등에 의해 구축되는 플랫폼이 생략될 수 있다. 또한, 워드 벡터의 유사도를 이용함으로써, 질의 데이터(60)의 검색 의도에 부합하는 검색 결과 데이터(80)가 제공될 수 있다.
도 2는 본 발명의 예시적 실시예에 따라 도 1의 워드 벡터 모델 제공부(120)를 나타내는 블록도이다. 도 1을 참조하여 전술된 바와 같이, 워드 벡터 모델 제공부(120)는 비정형 데이터(20)로부터 워드 벡터 모델을 생성할 수 있고, 문서 색인부(140) 및 질의 처리부(160)에 워드 벡터 모델을 제공할 수 있다. 도 2에 도시된 바와 같이, 워드 벡터 모델 제공부(120)는 특성 추출부(122), 워드 벡터 생성부(124), 워드 벡터 색인부(126) 및 워드 벡터 모델 저장부(128)를 포함할 수 있다.
특성 추출부(122)는 비정형 데이터(20)로부터 적어도 하나의 특성을 추출할 수 있고, 추출된 특성을 워드 벡터 생성부(124)에 제공할 수 있다. 특성은 적어도 하나의 단어를 포함하는 말뭉치로서, 비정형 데이터(20)의 주제를 나타낼 가능성이 있는 말뭉치를 지칭할 수 있다. 특성 추출부(122)의 동작에 대한 자세한 설명은 도 3을 참조하여 후술될 것이다.
워드 벡터 생성부(124)는 특성 추출부(122)로부터 제공된 특성, 즉 비정형 데이터(20)로부터 추출된 특성들에 대응하는 워드 벡터들(제1 워드 벡터들)을 생성할 수 있다. 비정형 데이터(20)는 동일하거나 유사한 주제를 각각 가지는 복수의 문서들을 포함할 수 있고, 문서들 각각으로부터 특성 추출부(122)에 의해서 특성이 추출될 수 있다. 워드 벡터 생성부(124)는 복수의 문서들로부터 추출된 복수의 특성들에 대응하는 워드 벡터들을 생성할 수 있고, 생성된 워드 벡터들을 평가함으로써 워드 벡터 모델에 포함될 워드 벡터들을 선정할 수 있다. 워드 벡터 생성부(124)의 동작에 대한 자세한 내용은 도 4를 참조하여 후술될 것이다.
워드 벡터 색인부(126)는 워드 벡터 생성부(124)가 생성한 워드 벡터들(제1 워드 벡터들)을 워드 벡터 모델 저장부(128)에 저장할 수 있고, 워드 벡터 모델 장부(128)에 저장된 워드 벡터들에 대한 인터페이스를 워드 벡터 모델 제공부(120) 외부(즉, 도 1의 문서 색인부(140) 또는 질의 처리부(160)) 또는 워드 벡터 생성부(124)에 제공할 수 있다. 예를 들면, 워드 벡터 색인부(126)는 워드 벡터 생성부(124)에 의해서 생성된 워드 벡터들을 엑세스가 용이하도록 워드 벡터 모델 저장부(128)에 저장할 수 있고, 색인할 수 있다. 워드 벡터 모델은 특성 및 워드 벡터의 쌍들로서 구성될 수 있고, 예컨대 워드 벡터 색인부(126)는 특서이 검색키가 되도록 특성 및 워드 벡터의 쌍을 워드 벡터 모델 저장부(128)에 저장할 수 있다.
비정형 데이터(20)는 시간이 흐름에 따라 증가하거나 갱신될 수 있고, 특성 추출부(122)는 비정형 데이터(20)의 새로운 문서들에 대한 특성을 추출할 수 있고, 워드 벡터 생성부(124)는 워드 벡터를 생성하거나 갱신할 수 있다. 워드 벡터 색인부(126)는 워드 벡터 생성부(124)가 생성하거나 갱신하는 워드 벡터를, 워드 벡터에 대한 엑세스가 용이하도록 워드 벡터 모델 저장부(128)에 저장된 워드 벡터들과 연관되도록 워드 벡터 모델 저장부(128)에 저장할 수 있다.
워드 벡터 모델 저장부(128)는 복수의 워드 벡터들을 포함하는 워드 벡터 모델을 저장할 수 있고, 워드 벡터 모델은, 도 4를 참조하여 후술되는 바와 같이, 특성과 특성의 워드 벡터로 각각 구성된 복수의 쌍들을 포함할 수 있다.
도 3은 본 발명의 예시적 실시예에 따라 도 2의 특성 추출부(122)의 예시적인 동작을 나타태는 도면이다. 도 2를 참조하여 전술된 바와 같이, 특성 추출부(122)는 비정형 데이터로부터 적어도 하나의 특성을 추출할 수 있다. 도 3을 참조하면 특성 추출부(122)의 동작은 복수의 단계들(S12, S14, S16)을 포함할 수 있고, 도 3의 우측에는 각 단계들에서 생성된 데이터의 예시들(12, 14, 16)을 나타낸다.
단계 S12에서, 특성 추출부(122)는 문서(11)로부터 말뭉치를 추출할 수 있다. 문서(11)는 비정형 데이터(20)에 포함된 문서로서, 텍스트를 포함하는 데이터를 지칭할 수 있다. 특성 추출부(122)는 문서(11)에 포함된 텍스트에서 형태소 분석을 수행할 수 있고, 형태소 분석을 통해서 복수의 말뭉치들을 인식할 수 있다. 텍스트에서 말뭉치들의 공간적 근접성에 기초하여 말뭉치들의 관계 및 가중치를 나타내는 그래프(12)가 생성될 수 있다. 예를 들면, 특성 추출부(122)는 텍스트랭크(TextRank)를 이용하여 말뭉치들의 순위를 매길 수 있다.
단계 S14에서, 특성 추출부(122)는 가중치에 기초하여 말뭉치들을 필터링할 수 있다. 예를 들면, 특성 추출부(122)는 단계 S12에서 산출된 말뭉치들의 가중치들에 기초하여 미리 정의된 기준값 이상의 가중치를 가지는 말뭉치들만을 포함하는 필터링된 데이터(14)를 생성할 수 있다.
단계 S16에서, 특성 추출부(122)는 필터링된 말뭉치들을 문서(11)에 포함된 텍스트에 기초하여 재배치할 수 있다. 즉, 특성 추출부(122)는 문서(11)에 포함된 텍스트에 따라 필터링된 말뭉치에 대응하는 위치에 말뭉치들이 배치된 데이터(16)를 생성할 수 있다.
이상에서 도 3을 참조하여 설명된 특성 추출부(122)의 동작은, 텍스트를 포함하는 문서(11)에서 특성, 즉 말뭉치를 추출하는 예시에 불과하며, 특성 추출부(122)는 텍스트로부터 특성을 추출하는 다양한 방식들에 의해서 특성을 추출할 수 있다. 또한, 도 5 및 도 6을 참조하여 후술되는 문서 색인부(140) 및 질의 처리부(160)에 포함되는 특성 추출부들(142, 146)도 도 3에 도시된 바와 같이 동작할 수 있으며, 이에 따라, 도 7을 참조하여 후술되는 바와 같이 도 1의 워드 벡터 모델 제공부(120), 문서 색인부(140) 및 질의 처리부(160)는 하나의 특성 추출부를 공유할 수도 있다.
도 4는 본 발명의 예시적 실시예에 따라 도 2의 워드 벡터 생성부(124)의 예시적인 동작을 나타내는 도면이다. 도 2를 참조하여 전술된 바와 같이, 워드 벡터 생성부(124)는 특성 추출부(122)로부터 제공된 특성들에 대응하는 워드 벡터들(제1 워드 벡터들)을 생성할 수 있다.
도 4를 참조하면, 워드 벡터 생성부(124)는, 특성 추출부(122)가 비정형 데이터(20)에 포함된 복수의 문서들 각각에서 워드 벡터들을 생성할 수 있다. 워드 벡터 생성부(124)는 워드 임베딩 기법을 사용하여 하나의 문서로부터 추출된 복수의 특성들이 배치된 데이터(예컨대, 도 3의 16)로부터 특성들에 대한 워드 벡터들을 생성할 수 있다. 예를 들면, 도 4에 도시된 바와 같이, 워드 벡터 생성부(124)는 "Word2Vec" 등을 사용하여, "문서#1"로부터 특성 "A"에 대한 워드 벡터로서 "{a1, a2, a3,..., an}"을 생성할 수 있다. 유사하게, 워드 벡터 생성부(124)는 "문서#1"로부터 추출된 다른 특성들인 "B", "C", "D" 등에 대해서도 워드 벡터들을 생성할 수 있다. 이러한 방식으로, 워드 벡터 생성부(124)는 복수의 문서들 각각으로부터 생성된 워드 벡터들을 포함하는 워드 벡터 세트(42)를 생성할 수 있다.
워드 벡터 생성부(124)는 워드 벡터 세트 데이터(42)를 필터링함으로써 특성 및 특성의 워드 벡터(제1 워드 벡터)를 포함하는 워드 벡터 모델(44)을 생성할 수 있다. 예를 들면, 워드 벡터 생성부(124)는 워드 벡터 세트(42)에서 특성의 출현 빈도, 즉 DF(document frequency)에 기초하여 워드 벡터 세트(42)의 워드 벡터들을 필터링할 수 있다. 이에 따라, 미리 정해진 기준값 이상인 DF를 가지는 특성들의 워드 벡터들이 선별될 수 있고, 선별된 워드 벡터들을 동일한 특성에 따라 결합함으로써 특성에 대한 워드 벡터가 결정될 수 있다. 예를 들면, 도 4에 도시된 바와 같이, 특성 "A"는 워드 벡터 세트(42)에서 미리 정해진 기준값 이상의 DF를 가질 수 있고, "문서#1"로부터 추출된 특성들 중 특성 "A"의 워드 벡터인 "{a1, a2, a3,..., an}"는 다른 문서들로부터 추출된 특성 "A"의 워드 벡터들과 결합됨으로써, 워드 벡터 모델(44)은 특성 "A"에 대응하는 워드 벡터로서 "{a'1, a'2, a'3, ..., a'n}"을 포함할 수 있다. 다른 한편으로, "문서#1"로부터 추출된 특성들 중 "C"는 워드 벡터 세트(42)에서 미리 정해진 기준값 미만의 DF를 가질 수 있고, 이에 따라 워드 벡터 모델(44)은 특성 "C"에 대한 워드 벡터를 포함하지 아니할 수 있다.
도 4에 도시된 바와 같이, 특성 및 특성의 워드 벡터는 하나의 쌍으로서 워드 벡터 모델(44)에 포함될 수 있다. 워드 벡터 모델(44)의 워드 벡터는 대응하는 특성이 가지는 고유한 좌표를 의미할 수 있고, 후술되는 바와 같이 정보 문서(20) 또는 질의 데이터(40)로부터 추출된 특성의 고유한 위치를 나타내는 워드 벡터로서 활용될 수 있다.
도 5는 본 발명의 예시적 실시예에 따라 도 1의 문서 색인부(140)을 나타내는 블록도이다. 도 1을 참조하여 전술된 바와 같이, 문서 색인부(140)는 정보 문서(40)로부터 문서 벡터를 생성할 수 있고, 질의 처리부(160)에 문서 벡터를 포함하는 문서 색인 데이터를 제공할 수 있다. 도 5에 도시된 바와 같이, 문서 색인부(140)는 특성 추출부(142), 문서 벡터 생성부(144), 문서 벡터 관리부(146) 및 문서 색인 데이터 저장부(148)를 포함할 수 있다.
특성 추출부(142)는 정보 문서(40)로부터 적어도 하나의 특성을 추출할 수 있고, 추출된 특성을 문서 벡터 생성부(144)에 제공할 수 있다. 도 5의 특성 추출부(142)는 도 2의 특성 추출부(122)와 동일하거나 유사할 수 있고, 도 3을 참조하여 전술된 바와 같이 동작할 수 있다.
문서 벡터 생성부(144)는 워드 벡터 모델 제공부(120)로부터 제공되는 워드 벡터 모델에 기초하여 특성에 대응하는 워드 벡터(제2 워드 벡터)를 생성할 수 있다. 예를 들면, 문서 벡터 생성부(144)는 특성 추출부(142)로부터 제공된 특성과 일치하는 특성의 워드 벡터를 워드 벡터 모델로부터 획득할 수 있다. 하나의 정보 문서(40)로부터 복수의 특성들이 추출된 경우, 문서 벡터 생성부(144)는 복수의 특성들 각각의 워드 벡터들을 워드 벡터 모델로부터 획득할 수 있다.
문서 벡터 생성부(144)는 워드 벡터 모델을 참조하여 획득된 적어도 하나의 워드 벡터(제2 워드 벡터)로부터 정보 문서(40)의 문서 벡터를 생성할 수 있다. 예를 들면, 문서 벡터 생성부(144)는 하나의 정보 문서(40)로부터 획득된 복수의 워드 벡터들을 합산함으로써 정보 문서(40)의 문서 벡터를 생성할 수 있다. 전술된 바와 같이, 특성은 워드 벡터의 차원들에서 고유한 값들로서 표현될 수 있고, 이에 따라 정보 문서(40)로부터 추출된 특성들에 대응하는 워드 벡터들의 합, 즉 문서 벡터는 정보 문서(40)의 주제를 나타낼 수 있다. 예를 들면, 하나의 정보 문서(40)로부터 특성 "A" 및 특성 "B"가 추출되고, 특성 "A" 및 특성 "B"가 도 4에 도시된 워드 벡터 모델(44)에 따른 워드 벡터들을 각각 가질 ?, 정보 문서(40)의 문서 벡터 "D"는 아래 [수학식 1]과 같이 계산될 수 있다.
Figure 112016115168339-pat00001
문서 벡터 관리부(146)는 문서 벡터 생성부(144)가 생성한 문서 벡터 및 정보 문서(40)의 식별자를 결합한 문서 색인 데이터를 문서 색인 데이터 저장부(148)에 저장할 수 있다. 즉, 문서 벡터 관리부(146)는 문서 색인 데이터를 엑세스가 용이하도록(즉, 검색이 용이하도록) 문서 색인 데이터 저장부(148)에 저장할 수 있고, 색인할 수 있다. 예를 들면, 문서 색인 데이터는 문서 벡터가 검색키가 되도록 저장될 수 있다. 또한, 문서 벡터 관리부(146)는 문서 색인 데이터 저장부(148)에 저장된 문서 색인 데이터에 대한 인터페이스를 질의 처리부(140)에 제공할 수 있다.
본 발명의 예시적 실시예에 따라, 문서 벡터 관리부(146)는 문서 벡터 생성부(144)가 생성한 문서 벡터의 값이 미리 정해진 기준치 미만인 경우, 문서 벡터에 대응하는 정보 문서(40)를 워드 벡터 모델 제공부(120)에 제공할 수도 있다. 미리 정해진 기준치 미만이 값을 가지는 문서 벡터는, 정보 문서(40)와 워드 벡터 모델 사이 이질성이 높은 것을 의미할 수 있다. 따라서, 문서 벡터 관리부(146)는 미리 정해진 기준치 미만의 값을 가지는 문서 벡터가 발견되는 경우, 해당하는 정보 문서(40)의 주제가 워드 벡터 모델에 반영될 수 있도록, 워드 벡터 모델 제공부(120)에 제공할 수 있다. 이 때, 문서 벡터 관리부(146)는 정보 문서(40), 정보 문서(40)의 식별자 및 정보 문서(40)로부터 추출되 특성 중 적어도 하나를 워드 벡터 모델 제공부(120)에 제공할 수 있다.
도 6은 본 발명의 예시적 실시예에 따라 도 1의 질의 처리부(160)을 나타내는 블록도이다. 도 1을 참조하여 전술된 바와 같이, 질의 처리부(160)는 질의 데이터(60)로부터 질의 벡터를 생성할 수 있고, 질의 벡터 및 문서 벡터의 유사도에 기초하여 정보 문서를 검색할 수 있다. 도 6에 도시된 바와 같이, 질의 처리부(160)는 특성 추출부(162), 질의 벡터 생성부(164) 및 벡터 검색부(166)를 포함할 수 있다.
특성 추출부(162)는 질의 데이터(60)로부터 적어도 하나의 특성을 추출할 수 있고, 추출된 특성을 질의 벡터 생성부(164)에 제공할 수 있다. 도 6의 특성 추출부(162)는 도 2 및 도 5의 특성 추출부(122, 142)와 동일하거나 유사할 수 있고, 도 3을 참조하여 전술된 바와 같이 동작할 수 있다.
질의 벡터 생성부(164)는 워드 벡터 모델 제공부(120)로부터 제공되는 워드 벡터 모델에 기초하여 특성에 대응하는 워드 벡터(제3 워드 벡터)를 생성할 수 있다. 예를 들면, 도 5의 문서 벡터 생성부(144)와 유사하게, 질의 벡터 생성부(164)는 특성 추출부(162)로부터 제공된 특성과 일치하는 특성의 워드 벡터를 워드 벡터 모델로부터 획득할 수 있다. 질의 데이터(60)로부터 복수의 특성들이 추출된 경우, 질의 벡터 생성부(164)는 복수의 특성들 각각에 대응하는 워드 벡터들을 획득하고, 그 워드 벡터들을 결합함으로써 (예컨대, 워드 벡터들을 합산함으로써) 질의 벡터를 생성할 수 있다.
벡터 검색부(166)는 질의 벡터 생성부(164)로부터 질의 벡터를 수신할 수 있고, 문서 색인부(140)에 엑세스함으로써 문서 색인부(140)로부터 정보 문서(40)의 문서 벡터 및 식별자를 포함하는 문서 색인 데이터를 수신할 수 있다. 벡터 검색부(166)는 질의 벡터 및 문서 벡터의 유사도를 평가함으로써 질의 벡터와 가장 유사도가 높은 문서 벡터를 검출할 수 있다. 예를 들면, 벡터 검색부(166)는 코사인 유사도(cosine similarity)에 의해서 질의 벡터 및 문서 벡터의 유사도를 평가할 수 있다. 즉, n차원 공간에서 질의 벡터 "Q={q1, q2, q3, ..., qn}" 및 문서 벡터 "D={d1, d2, d3, ..., dn}"의 유사도는 아래 [수학식 2]와 같이 계산될 수 있다.
Figure 112016115168339-pat00002
벡터 검색부(166)는 위와 같이 계산된 유사도에 기초하여, 높은 유사도 순으로 문서 벡터들을 정렬할 수 있고, 정렬된 문서 벡터들에 각각 대응하는 정보 문서들의 식별자들을 문서 색인부(140)로부터 획득할 수 있다. 벡터 검색부(166)는 획득된 정보 문서의 식별자들을 포함하는 검색 결과 데이터(80)를 생성할 수 있다. 또한, 벡터 검색부(166)는 정보 문서의 식별자에 기초하여 정보 문서에 엑세스할 수 있고, 정보 문서의 요약 정보, 예컨대 정보 문서의 서두에 배치된 일부 텍스트 등을 획득하고, 획득된 텍스트를 더 포함하는 검색 결과 데이터(80)를 생성할 수 도 있다.
도 7은 본 발명의 예시적 실시예에 따른 시맨틱 검색 시스템(100') 및 그 입출력 관계를 나타내는 블록도이다. 도 1의 시맨틱 검색 시스템(100)과 비교할 때, 도 7의 시맨틱 검색 시스템(100')에서 특성 추출부(110') 및 주제 벡터 생성부(130')는 시맨틱 검색 시스템(100')의 2이상의 구성요소들에 의해서 공유될 수 있다. 도 7에 도시된 바와 같이, 시맨틱 검색 시스템(100')은 제1 내지 제3 인터페이스부(102', 104', 106'), 특성 추출부(110'), 워드 벡터 모델 제공부(120'), 주제 벡터 생성부(130'), 문서 색인부(140') 및 질의 처리부(160')를 포함할 수 있다.
제1 내지 제3 인터페이스부(102', 104', 106')는 시맨틱 검색 시스템(100')의 구성요소들 및 외부와의 인터페이스를 제공할 수 있다. 즉, 도 7에 도시된 바와 같이, 제1 인터페이스부(102')는 비정형 데이터를 수신하여 특성 추출부(110')에 전달할 수 있고, 제2 인퍼테이스부(104')는 정보 문서(40)를 수신하여 특성 추출부(110')에 전달할 수 있다. 또한, 제3 인터페이스부(106')는 질의 데이터(60)를 수신하여 특성 추출부(110')에 전달할 수 있고, 질의 처리부(160')로부터 수신된 검색 결과 데이터(80)를 시맨틱 검색 시스템(100') 외부로 출력할 수 있다.
도 7에 도시된 바와 같이, 워드 벡터 모델 제공부(120'), 문서 색인부(140') 및 질의 처리부(160')는 특성 추출부(110')를 공유할 수 있다. 특성 추출부(110')는, 예컨대 도 3을 참조하여 전술된 바와 같이 텍스트를 포함하는 데이터(예컨대, 비정형 데이터(20)의 문서, 정보 문서(40) 및 질의 데이터(60))로부터 적어도 하나의 특성을 추출할 수 있다. 이에 따라, 도 7의 워드 벡터 모델 제공부(120'), 문서 색인부(140') 및 질의 처리부(160') 각각은 도 2, 5 및 6에 각각 도시된 바와 상이하게, 특성 추출부를 포함하지 아니할 수 있다.
워드 벡터 모델 제공부(120')는 특성 추출부(110')로부터 제공된, 비정형 데이터(20)에 포함된 복수의 문서들의 특성들로부터 워드 벡터 모델을 생성할 수 있고, 워드 벡터 모델을 주제 벡터 생성부(130')에 제공할 수 있다. 또한, 워드 벡터 모델 제공부(120')는 문서 색인부(140')로부터 정보 문서(40), 정보 문서(40)의 식별자 또는 정보 문서(40)로부터 추출된 특성들을 수신할 수 있고, 정보 문서(40)를 워드 벡터 모델에 반영할 수도 있다.
주제 벡터 생성부(130')는, 도 5의 문서 벡터 생성부(144) 또는 도 6의 질의 벡터 생성부(164)와 유사하게 동작할 수 있다. 예를 들면, 주제 벡터 생성부(130')는 특성 추출부(110')로부터 제공된 특성으로부터 주제 벡터를 생성할 수 있고, 생성된 주제 벡터를, 문서 벡터로서 문서 색인부(140')에 제공하거나 질의 벡터로서 질의 처리부(160')에 제공할 수 있다. 즉, 문서 색인부(140') 및 질의 처리부(160')는 주제 벡터 생성부(130')를 공유할 수 있고, 이에 따라 문서 색인부(140') 및 질의 처리부(160') 각각은 도 5 및 6에 각각 도시된 바와 상이하게, 문서 벡터 생성부(144) 및 질의 벡터 생성부(164) 각각을 포함하지 아니할 수 있다.
도 8은 본 발명의 예시적 실시예에 따른 시맨틱 검색 방법을 나타내는 순서도이다. 일 실시예에서, 도 8의 시맨틱 검색 방법은, 도 1의 시맨틱 검색 시스템(100)에 의해서 수행될 수 있다. 도 8에 도시된 바와 같이, 시맨틱 검색 방법은, 복수의 단계들(S20, S40, S60)을 포함할 수 있다. 이하에서, 도 8은 도 1을 참조하여 설명될 것이다.
단계 S20에서, 워드 벡터 모델을 준비하는 동작이 수행될 수 있다. 예를 들면, 비정형 데이터(20)로부터 특성들을 추출하고, 추출된 특성들에 대응하는 워드 벡터들을 생성함으로써, 특성 및 워드 벡터의 쌍으로 구성된 워드 벡터 모델이 준비될 수 있다. 단계 S20에 대한 자세한 내용은 도 9를 참조하여 후술될 것이다.
단계 S40에서, 문서 색인 데이터를 준비하는 동작이 수행될 수 있다. 예를 들면, 정보 문서(40)로부터 특성들을 추출하고, 워드 벡터 모델에 기초하여 특성들의 워드 벡터들이 획득될 수 있고, 하나의 정보 문서(40)에서 획득된 워드 벡터들을 결합함으로써 정보 문서(40)의 문서 벡터가 생성될 수 있다. 이에 따라, 정보 문서(40)의 문서 벡터 및 식별자를 포함하는 문서 색인 데이터가 준비될 수 있다.
단계 S60에서, 질의 벡터 및 문서 벡터의 유사도에 기초하여 정보 문서를 검색하는 동작이 수행될 수 있다. 예를 들면, 워드 벡터 모델을 참조하여 질의 데이터로부터 질의 벡터가 생성될 수 있고, 질의 벡터 및 문서 벡터의 유사도를 평가함으로써 유사도가 높은 문서 벡터의 정보 문서의 식별자가 검색 결과로서 제공될 수 있다. 단계 S60에 대한 자세한 내용은 도 10을 참조하여 후술될 것이다.
도 9는 본 발명의 예시적 실시예에 따라 도 8의 단계 S20의 예시를 나타내는 순서도이다. 도 8을 참조하여 전술된 바와 같이, 도 9의 단계 S20'에서, 워드 벡터 모델을 준비하는 동작이 수행될 수 있다. 도 9를 참조하면, 단계 S20'은 복수의 단계들(S22, S24, S26, S28)을 포함할 수 있다.
단계 S22에서, 비정형 데이터로부터 복수의 특성들을 추출하는 동작이 수행될 수 있다. 예를 들면, 비정형 데이터에 포함된 복수의 문서들 각각으로부터 특성들이 추출될 수 있다. 특성은 적어도 하나의 단어를 포함하는 말뭉치에 대응할 수 있고, 추출된 특성은 해당 문서의 주제를 나타낼 가능성이 있는 말뭉치일 수 있다.
단계 S24에서, 복수의 특성들에 대응하는 워드 벡터들을 생성하는 동작이 수행될 수 있다. 예를 들면, 복수의 문서들로부터 추출된 특성들 각각에 대하여 워드 벡터들이 생성될 수 있고, 이에 따라 생성된 워드 벡터들을 포함하는 워드 벡터 세트(예컨대, 도 4의 42)가 생성될 수 있다.
단계 S26에서, 특성들을 필터링하고, 워드 벡터 모델을 생성하는 동작이 수행될 수 있다. 예를 들면, 추출된 특성의 중요도(예컨대, DF)에 기초하여 특성들이 필터링될 수 있고, 필터링된 특성들의 워드 벡터들이 워드 벡터 세트로부터 생성됨으로써 워드 벡터 모델이 생성될 수 있다.
그 다음에, 단계 S28에서, 워드 벡터 모델을 저장하는 동작이 수행될 수 있다. 즉, 워드 벡터 모델에 포함된 특성 및 워드 벡터들은 검색이 용이하게 저장될 수 있고, 예컨대 특성이 검색키가 되도록 저장될 수 있다.
도 10은 본 발명의 예시적 실시예에 따라 도 8의 단계 S60의 예시를 나타내는 순서도이다. 도 8을 참조하여 전술된 바와 같이, 도 10의 단계 S60'에서 질의 벡터 및 문서 벡터의 유사도에 기초하여 정보 문서를 검색하는 동작이 수행될 수 있다. 도 10에 도시된 바와 같이, 단계 S60'는 복수의 단계들(S61, S63, S65, S67, S69)을 포함할 수 있다.
단계 S61에서, 질의 데이터로부터 특성을 추출하는 동작이 수행될 수 있다. 예를 들면, 특성은 적어도 하나의 단어를 포함하는 말뭉치일 수 있고, 질의 데이터에 포함된 텍스트에서 형태소 분석, 가중치 계산, 필터링 등의 과정을 통해서 특성이 추출될 수 있다.
단계 S63에서, 특성에 대응하는 워드 벡터를 생성하는 동작이 수행될 수 있다. 예를 들면, 워드 벡터 모델에서 특성에 대응하는 워드 벡터가 획득될 수 있다. 획득된 워드 벡터는 특성의 나타내는 고유한 값을 나타내고, 추후 유사도 평가에 활용될 수 있다.
단계 S65에서, 워드 벡터로부터 질의 벡터를 생성하는 동작이 수행될 수 있다. 예를 들면, 질의 데이터로부터 복수의 특성들의 추출되고, 이에 따라 복수의 워드 벡터들이 획득된 경우, 복수의 워드 벡터들을 합산함으로써 질의 벡터가 생성될 수 있다. 질의 벡터는 질의 데이터의 주제를 고유한 값으로서 표현한 것에 대응할 수 있다.
단계 S67에서, 질의 벡터 및 문서 벡터의 유사도를 평가하는 동작이 수행될 수 있다. 예를 들면, 질의 벡터 및 문서 벡터는 동일한 차원을 가지는 공간에서 정의될 수 있고, 코사인 유사도에 기초하여 양 벡터의 유사도가 평가될 수 있다.
단계 S69에서, 유사도에 기초하여 문서 식별자를 획득하는 동작이 수행될 수 있다. 질의 벡터와 복수의 문서 벡터들 사이 유사도가 평가될 수 있고, 이에 따라 높은 유사도를 가지는 순서로 문서 벡터들이 정렬될 수 있다. 정렬된 문서 벡터들 각각에 대응하는 문서 식별자(즉, 정보 문서의 식별자)가 획득될 수 있고, 검색 결과 데이터에 포함되어 질의 데이터에 대한 결과로서 제공될 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 발명의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 비정형 데이터로부터 추출된 특성 및 상기 특성에 대응하는 제1 워드 벡터를 포함하는 워드 벡터 모델을 제공하는 워드 벡터 모델 제공부;
    상기 워드 벡터 모델에 기초하여 정보 문서의 적어도 하나의 제2 워드 벡터로부터 생성된 문서 벡터, 및 상기 정보 문서의 식별자를 포함하는 문서 색인 데이터를 제공하는 문서 색인부; 및
    상기 워드 벡터 모델에 기초하여 질의 데이터의 적어도 하나의 제3 워드 벡터로부터 생성된 질의 벡터, 및 상기 문서 벡터 사이 유사도를 평가하고, 상기 유사도에 기초하여 정보 문서의 식별자를 선정하는 질의 처리부를 포함하는 시맨틱 검색 시스템.
  2. 청구항 1에 있어서,
    상기 비정형 데이터, 상기 정보 문서 또는 상기 질의 데이터로부터, 적어도 하나의 특성을 추출하는 특성 추출부를 더 포함하는 시맨틱 검색 시스템.
  3. 비정형 데이터로부터 추출된 특성 및 상기 특성에 대응하는 제1 워드 벡터를 포함하는 워드 벡터 모델을 제공하는 워드 벡터 모델 제공부;
    상기 워드 벡터 모델에 기초하여 정보 문서의 적어도 하나의 제2 워드 벡터로부터 생성된 문서 벡터, 및 상기 정보 문서의 식별자를 포함하는 문서 색인 데이터를 제공하는 문서 색인부;
    상기 워드 벡터 모델에 기초하여 질의 데이터의 적어도 하나의 제3 워드 벡터로부터 생성된 질의 벡터, 및 상기 문서 벡터 사이 유사도를 평가하고, 상기 유사도에 기초하여 정보 문서의 식별자를 선정하는 질의 처리부; 및
    상기 비정형 데이터, 상기 정보 문서 또는 상기 질의 데이터로부터, 적어도 하나의 특성을 추출하는 특성 추출부를 포함하고,
    상기 특성 추출부는, 적어도 하나의 단어를 포함하는 말뭉치(chunk)들을 추출하고, 상기 말뭉치들을 가중치에 따라 필터링함으로써 적어도 하나의 말뭉치를 상기 적어도 하나의 특성으로서 추출하는 것을 특징으로 하는 시맨틱 검색 시스템.
  4. 청구항 1에 있어서,
    상기 워드 벡터 모델 제공부는,
    수신된 상기 비정형 데이터에 포함된 복수의 문서들로부터 추출된 특성들에 기초하여, 상기 추출된 특성들에 대응하는 제1 워드 벡터들을 생성하는 워드 벡터 생성부; 및
    상기 워드 벡터 모델을 저장하는 워드 벡터 저장부를 포함하는 것을 특징으로 하는 시맨틱 검색 시스템.
  5. 청구항 4에 있어서,
    상기 워드 벡터 생성부는, 상기 비정형 데이터에 포함된 복수의 문서들에서, 미리 정해진 기준값보다 높은 출현 빈도를 가지는 특성에 대응하는 워드 벡터를 상기 제1 워드 벡터로서 생성하는 것을 특징으로 하는 시맨틱 검색 시스템.
  6. 청구항 1에 있어서,
    상기 질의 처리부는,
    상기 워드 벡터 모델 제공부에 엑세스하고, 상기 워드 벡터 모델에 기초하여 상기 질의 데이터로부터 상기 적어도 하나의 제3 벡터를 추출하고, 상기 적어도 하나의 제3 벡터에 기초하여 상기 질의 벡터를 생성하는 질의 벡터 생성부; 및
    상기 문서 색인부에 엑세스하고, 상기 질의 벡터 및 상기 문서 벡터 사이 유사도를 평가함으로써, 적어도 하나의 문서 벡터에 대응하는 적어도 하나의 정보 문서의 식별자를 선정하는 벡터 검색부를 포함하는 것을 특징으로 하는 시맨틱 검색 시스템.
  7. 청구항 6에 있어서,
    상기 질의 벡터 생성부는, 2개 이상의 제3 벡터들을 합산함으로써 상기 질의 벡터를 생성하는 것을 특징으로 하는 시맨틱 검색 시스템.
  8. 청구항 1에 있어서,
    상기 문서 색인부는,
    상기 워드 벡터 모델 제공부에 엑세스하고, 상기 워드 벡터 모델에 기초하여 상기 정보 문서로부터 상기 적어도 하나의 제2 벡터를 추출하고, 상기 적어도 하나의 제2 벡터에 기초하여 상기 문서 벡터를 생성하는 문서 벡터 생성부; 및
    상기 문서 벡터 및 상기 정보 문서의 식별자를 포함하는 문서 색인 데이터를 저장하는 문서 색인 데이터 저장부를 포함하는 것을 특징으로 하는 시맨틱 검색 시스템.
  9. 청구항 8에 있어서,
    상기 문서 색인부는, 상기 문서 벡터의 값이 미리 정해진 기준치 미만인 경우, 상기 정보 문서를 상기 워드 벡터 모델 제공부에 제공하는 문서 벡터 관리부를 더 포함하는 것을 특징으로 하는 시맨틱 검색 시스템.
  10. 비정형 데이터로부터 추출된 특성 및 상기 특성에 대응하는 제1 워드 벡터를 포함하는 워드 벡터 모델을 준비하는 단계;
    상기 워드 벡터 모델에 기초하여 정보 문서의 적어도 하나의 제2 워드 벡터로부터 생성된 문서 벡터, 및 상기 정보 문서의 식별자를 포함하는 문서 색인 데이터를 준비하는 단계; 및
    상기 워드 벡터 모델에 기초하여 질의 데이터의 적어도 하나의 제3 워드 벡터로부터 생성된 질의 벡터, 및 상기 문서 벡터 사이 유사도를 평가하고, 상기 유사도에 기초하여 정보 문서의 식별자를 선정하는 단계를 포함하는 시맨틱 검색 방법.
KR1020160157430A 2016-11-24 2016-11-24 워드 벡터를 이용한 시맨틱 검색 시스템 및 방법 KR101923146B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160157430A KR101923146B1 (ko) 2016-11-24 2016-11-24 워드 벡터를 이용한 시맨틱 검색 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160157430A KR101923146B1 (ko) 2016-11-24 2016-11-24 워드 벡터를 이용한 시맨틱 검색 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20180058449A KR20180058449A (ko) 2018-06-01
KR101923146B1 true KR101923146B1 (ko) 2018-11-28

Family

ID=62635378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160157430A KR101923146B1 (ko) 2016-11-24 2016-11-24 워드 벡터를 이용한 시맨틱 검색 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101923146B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210003540A (ko) * 2019-07-02 2021-01-12 국민대학교산학협력단 복합 문서의 의미적 분해를 통한 다중 벡터 문서 임베딩 장치 및 방법
WO2021251600A1 (ko) * 2020-06-12 2021-12-16 (주)브레인콜라 인공지능을 활용한 콘텐츠 흥행 등급 예측 방법 및 장치

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102098256B1 (ko) * 2018-11-28 2020-04-07 주식회사 솔트룩스 지식 베이스 기반의 자동 질의 응답 시스템
DE102019212421A1 (de) 2019-08-20 2021-02-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zur Ermittlung ähnlicher Dokumente
KR102300352B1 (ko) * 2019-10-14 2021-09-09 (주)디앤아이파비스 중요도 스코어를 바탕으로 특허문서의 유사도를 판단하기 위한 방법, 장치 및 시스템
KR102085217B1 (ko) * 2019-10-14 2020-03-04 (주)디앤아이파비스 특허문서의 유사도 판단 방법, 장치 및 시스템
KR102383965B1 (ko) * 2019-10-14 2022-05-11 (주)디앤아이파비스 유사도 점수 및 비유사도 점수를 바탕으로 특허문서의 유사도를 판단하기 위한 방법, 장치 및 시스템
CN113806474A (zh) * 2020-08-24 2021-12-17 北京沃东天骏信息技术有限公司 数据匹配方法及装置、电子设备、存储介质
CN112632406B (zh) * 2020-10-10 2024-04-09 咪咕文化科技有限公司 查询方法、装置、电子设备及存储介质
KR102550748B1 (ko) * 2020-11-12 2023-07-04 주식회사 솔트룩스 명사 중심 벡터를 이용한 유사 문장 검색 시스템
KR102439321B1 (ko) * 2022-05-04 2022-09-05 한국데이터플랫폼 주식회사 문장 의미를 분석하여 찾아주는 시맨틱 분석 제공 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101059557B1 (ko) * 2008-12-31 2011-08-26 주식회사 솔트룩스 정보 검색 방법 및 이를 수행할 수 있는 프로그램이 수록된컴퓨터로 읽을 수 있는 기록 매체

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101057072B1 (ko) * 2009-07-01 2011-08-16 주식회사 솔트룩스 시맨틱 데이터 추출 시스템 및 이를 이용한 검색 엔진
KR101136037B1 (ko) * 2009-11-06 2012-04-18 동국대학교 산학협력단 문서의 색인화 및 검색을 위한 방법 및 장치
KR20160043601A (ko) * 2014-10-13 2016-04-22 고려대학교 산학협력단 디지털 컨텐츠 추천 단말 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101059557B1 (ko) * 2008-12-31 2011-08-26 주식회사 솔트룩스 정보 검색 방법 및 이를 수행할 수 있는 프로그램이 수록된컴퓨터로 읽을 수 있는 기록 매체

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210003540A (ko) * 2019-07-02 2021-01-12 국민대학교산학협력단 복합 문서의 의미적 분해를 통한 다중 벡터 문서 임베딩 장치 및 방법
KR102330190B1 (ko) * 2019-07-02 2021-11-23 국민대학교산학협력단 복합 문서의 의미적 분해를 통한 다중 벡터 문서 임베딩 장치 및 방법
WO2021251600A1 (ko) * 2020-06-12 2021-12-16 (주)브레인콜라 인공지능을 활용한 콘텐츠 흥행 등급 예측 방법 및 장치

Also Published As

Publication number Publication date
KR20180058449A (ko) 2018-06-01

Similar Documents

Publication Publication Date Title
KR101923146B1 (ko) 워드 벡터를 이용한 시맨틱 검색 시스템 및 방법
US11126647B2 (en) System and method for hierarchically organizing documents based on document portions
CN110555153A (zh) 一种基于领域知识图谱的问答系统及其构建方法
US20160098433A1 (en) Method for facet searching and search suggestions
US9104780B2 (en) System and method for natural language processing
CN109947952B (zh) 基于英语知识图谱的检索方法、装置、设备及存储介质
CN107688616B (zh) 使实体的独特事实显现
CN111414763A (zh) 一种针对手语计算的语义消歧方法、装置、设备及存储装置
KR101717230B1 (ko) 재귀 오토인코더 기반 문장 벡터 모델링을 이용하는 문서 요약 방법 및 문서 요약 시스템
CN112559684A (zh) 一种关键词提取及信息检索方法
JP2020191075A (ja) Web APIおよび関連エンドポイントの推薦
CN108875065B (zh) 一种基于内容的印尼新闻网页推荐方法
TW201826145A (zh) 從中文語料庫提取知識的方法和系統
KR101651780B1 (ko) 빅 데이터 처리 기술을 이용한 연관 단어 추출 방법 및 그 시스템
JP2019082931A (ja) 検索装置、類似度算出方法、およびプログラム
KR102088357B1 (ko) 기계독해기반 질의응답방법 및 기기
CN115563313A (zh) 基于知识图谱的文献书籍语义检索系统
US20180285742A1 (en) Learning method, learning apparatus, and storage medium
CN106777140B (zh) 用于非结构化文档搜索的方法及装置
JP5362807B2 (ja) ドキュメントランク付け方法および装置
JP5869948B2 (ja) パッセージ分割方法、装置、及びプログラム
KR101476225B1 (ko) 자연어 및 수식 색인화 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
WO2015125209A1 (ja) 情報構造化システム及び情報構造化方法
CN114547233A (zh) 数据查重方法、装置及电子设备
CN114691845A (zh) 语义搜索方法、装置、电子设备、存储介质及产品

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