KR102608736B1 - 질의에 대한 문서 검색 방법 및 장치 - Google Patents

질의에 대한 문서 검색 방법 및 장치 Download PDF

Info

Publication number
KR102608736B1
KR102608736B1 KR1020200175181A KR20200175181A KR102608736B1 KR 102608736 B1 KR102608736 B1 KR 102608736B1 KR 1020200175181 A KR1020200175181 A KR 1020200175181A KR 20200175181 A KR20200175181 A KR 20200175181A KR 102608736 B1 KR102608736 B1 KR 102608736B1
Authority
KR
South Korea
Prior art keywords
data
query
response
storage module
user
Prior art date
Application number
KR1020200175181A
Other languages
English (en)
Other versions
KR20220085258A (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 KR1020200175181A priority Critical patent/KR102608736B1/ko
Priority to EP20216936.3A priority patent/EP4016326A1/en
Priority to US17/133,783 priority patent/US11573958B2/en
Publication of KR20220085258A publication Critical patent/KR20220085258A/ko
Priority to KR1020230167704A priority patent/KR20230166995A/ko
Application granted granted Critical
Publication of KR102608736B1 publication Critical patent/KR102608736B1/ko

Links

Classifications

    • 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/242Query formulation
    • G06F16/243Natural language query formulation
    • 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
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/325Hash tables
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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/221Column-oriented storage; Management thereof
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • 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/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/328Management therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography

Abstract

본 발명은 질의 벡터에 대한 문서 내 검색 방법 및 장치에 관한 것으로, 테이블 형태의 데이터를 검색하기 위해 테이블 형태의 데이터에 대응하는 문장 데이터를 생성하여 검색의 정확도를 향상시키는 것을 일 목적으로 한다. 이러한 목적을 달성하기 위한 본 발명은 사용자 단말로부터 사용자 질의를 수신하는 A 단계, 상기 사용자 질의에 대한 사용자 질의 벡터를 생성하는 B 단계, 데이터 저장 모듈에 상기 사용자 질의 벡터를 기반으로 후보 테이블 데이터를 추출하는 C 단계, 상기 후보 테이블 데이터에서 상기 사용자 질의 벡터에 대응하는 응답을 검색하는 D 단계 및 상기 응답을 사용자 단말에 제공하는 E 단계를 포함하는 것을 특징으로 한다.

Description

질의에 대한 문서 검색 방법 및 장치{SEARCH METHOD AND DEVICE FOR QUERY IN DOCUMENT}
본 발명은 질의에 대한 문서 검색 방법 및 장치에 관한 것으로, 보다 자세하게는 임의의 내용을 일정한 형식과 순서에 따라 정리한 표, 즉 테이블을 검색하는 방법 및 장치에 관한 것이다.
MRC(Machine Reading Comprehension) 및 QA(Question Answering)은 자연어 이해를 위한 기본적인 작업 중 하나로, 심층 신경망의 복잡성이 증가하고 대규모 말뭉치에 대해 사전 훈련된 언어 모델의 지식 이전으로 인해 최첨단 QA 모델은 인간 수준의 성능을 달성하였다. 그러나 통상적으로 사용되는 QA 시스템의 경우 텍스트 형태를 기반으로 검색하는 것을 전제하고 있기 때문에 테이블 형태의 데이터의 경우에는 검색의 품질이 안정적이지 않은 문제가 있다.
본 발명은 전술한 문제점을 해결하기 위한 것으로서, 테이블 형태의 데이터를 검색하는 방법을 제공하는 것을 일 목적으로 한다. 나아가 본 발명은 테이블 형태의 데이터에 대응하는 문장 데이터를 생성하여 검색의 정확도를 향상시키는 것을 일 목적으로 한다.
또한 본 발명은 쿼리에 대한 응답을 테이블 형태로 제공하여 직관성을 향상시키는 것을 일 목적으로 한다.
본 발명의 일 실시예에 따른 방법은 데이터 저장 모듈을 포함하는 서버에 의해 수행되는 질의 벡터에 대한 문서 내 테이블 검색 방법에 있어서, 상기 데이터 저장 모듈의 제1 데이터 저장 모듈에 적어도 하나의 테이블 데이터를 테이블 형태로 저장하고, 상기 데이터 저장 모듈의 제2 데이터 저장 모듈에 상기 적어도 하나의 테이블 데이터의 테이블 캡션을 문장 형태로 저장하는 A 단계 -상기 테이블 데이터와 상기 테이블 캡션은 서로 연관되어 저장됨-, 사용자 단말로부터 사용자 질의를 수신하는 B 단계, 상기 사용자 질의에 대한 사용자 질의 벡터를 생성하는 C 단계, 상기 제2 데이터 저장 모듈에 저장된 하나 이상의 테이블 캡션 중에서 상기 사용자 질의 벡터와 기준치 이상의 유사도를 가지는 제1 테이블 캡션과 연관되어 있는 제1 테이블 데이터를 후보 테이블 데이터로 검출하는 D 단계, 상기 후보 테이블 데이터에서 상기 사용자 질의 벡터에 대응하는 응답을 검색하는 E 단계 및 상기 응답을 사용자 단말에 제공하는 F 단계를 포함 한다.
또한 본 발명의 일 실시예에 따른 장치는 적어도 하나의 테이블 데이터를 테이블 형태로 저장하는 제1 데이터 저장 모듈과, 상기 적어도 하나의 테이블 데이터의 테이블 캡션을 문장 형태로 저장하는 제2 데이터 저장 모듈을 포함하는 데이터 저장 모듈 -상기 테이블 데이터와 상기 테이블 캡션은 서로 연관되어 저장됨-, 사용자 단말로부터 수신한 사용자 질의에 대한 사용자 질의 벡터를 생성하는 질의 수신 모듈, 상기 제2 데이터 저장 모듈에 저장된 하나 이상의 테이블 캡션 중에서 상기 사용자 질의 벡터와 기준치 이상의 유사도를 가지는 제1 테이블 캡션과 연관되어 있는 제1 테이블 데이터를 후보 테이블 데이터로 추출하고, 상기 후보 테이블 데이터에서 상기 사용자 질의 벡터에 대응하는 응답을 검색하여 상기 응답을 상기 사용자 단말에 제공하는 응답 생성 모듈을 포함한다.
전술한 바와 같은 본 발명에 의하면, 데이터베이스에 저장된 테이블 형태의 데이터에 대응하는 문장 데이터를 생성하여 응답 검색의 정확도를 향상시킬 수 있으며, 테이블 형태의 응답 데이터를 제공함으로써 사용자의 직관성을 향상시키는 것을 일 목적으로 한다.
도 1은 본 발명의 일 실시 예에 의한 질의 벡터에 대한 문서 내 검색 장치의 구성을 도시한 도면,
도 2는 본 발명의 일 실시 예에 의한 제1 데이터를 기반으로 생성한 제2 데이터를 도시한 도면,
도 3은 본 발명의 일 실시 예에 의한 질의 벡터에 대한 문서 내 검색 방법에 있어서 데이터 저장 모듈을 구성하는 방법을 도시한 순서도,
도 4는 본 발명의 일 실시 예에 의한 질의 벡터에 대한 문서 내 검색 방법을 도시한 순서도,
도 5는 본 발명의 다른 실시 예에 의한 질의 벡터에 대한 문서 내 검색 방법을 도시한 순서도,
도 6은 본 발명의 일 실시 예에 의한 데이터 저장 모듈에서 사용자 질의에 대응하는 응답을 검색하는 방법을 설명하기 위한 순서도,
도 7은 본 발명의 일 실시 예에 의한 유사 질의를 통한 응답 제공 방법을 설명하기 위한 순서도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용되며, 명세서 및 특허청구의 범위에 기재된 모든 조합은 임의의 방식으로 조합될 수 있다. 그리고 다른 식으로 규정하지 않는 한, 단수에 대한 언급은 하나 이상을 포함할 수 있고, 단수 표현에 대한 언급은 또한 복수 표현을 포함할 수 있음이 이해되어야 한다.
본 명세서에서 사용되는 용어는 단지 특정 예시적 실시 예들을 설명할 목적을 가지고 있으며 한정할 의도로 사용되는 것이 아니다. 본 명세서에서 사용된 바와 같은 단수적 표현들은 또한, 해당 문장에서 명확하게 달리 표시하지 않는 한, 복수의 의미를 포함하도록 의도될 수 있다. 용어 "및/또는," "그리고/또는"은 그 관련되어 나열되는 항목들의 모든 조합들 및 어느 하나를 포함한다. 용어 "포함한다", "포함하는", "포함하고 있는", "구비하는", "갖는", "가지고 있는" 등은 내포적 의미를 갖는 바, 이에 따라 이러한 용어들은 그 기재된 특징, 정수, 단계, 동작, 요소, 및/또는 컴포넌트를 특정하며, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹의 존재 혹은 추가를 배제하지 않는다. 본 명세서에서 설명되는 방법의 단계들, 프로세스들, 동작들은, 구체적으로 그 수행 순서가 확정되는 경우가 아니라면, 이들의 수행을 논의된 혹은 예시된 그러한 특정 순서로 반드시 해야 하는 것으로 해석돼서는 안 된다. 추가적인 혹은 대안적인 단계들이 사용될 수 있음을 또한 이해해야 한다.
또한, 각각의 구성요소는 각각 하드웨어 프로세서로 구현될 수 있고, 위 구성요소들이 통합되어 하나의 하드웨어 프로세서로 구현될 수 있으며, 또는 위 구성요소들이 서로 조합되어 복수 개의 하드웨어 프로세서로 구현될 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 의한 질의 벡터에 대한 문서 내 검색 장치의 구조를 도시한 구성도이다.
도 1을 참조하면, 본 발명의 일 실시 예에 의한 질의 벡터에 대한 문서 내 검색 장치는 질의 수신 모듈(110), 응답 생성 모듈(120), 데이터 수신 모듈(210), 데이터 추출 모듈(220), 데이터 변환 모듈(230), 그리고 데이터 저장 모듈(200)을 포함할 수 있다. 경우에 따라 데이터 저장 모듈(200)은 테이블 형태의 데이터가 저장되는 제1 저장 모듈(203) 및 문장 형태의 데이터가 저장되는 제2 저장 모듈(206)을 포함할 수 있다. 본 발명의 일 실시 예를 따르면, 데이터 변환 모듈(230)은 제 1 저장 모듈(203)에 저장된 테이블 형태의 데이터를 가공하여 제 2 저장 모듈(206)에 저장된 문장 형태의 데이터를 생성할 수 있으며, 이에 대한 구체적인 설명은 후술된다.
질의 수신 모듈(110)은 사용자 단말로부터 질의(질문)를 수신할 수 있다. 질의 수신 모듈(110)은 적어도 하나의 인코더를 포함하여, 수신한 자연어 질의를 인코딩하여 자연어 질의의 구조와 의미를 나타내는 사용자 질의 벡터를 생성할 수 있다. 질의 수신 모듈(110)에 포함된 인코더는 신경망으로 구성될 수 있으며 질의 벡터(임베딩 벡터)를 생성하기 위해 학습된 신경망 모델일 수 있다. 질의 수신 모듈(110)은 질의를 형태소 단위로 인코딩하여, 이후 사용자 질의 벡터를 분석함에 있어서 형태소 분석을 더 수행할 수 있게 할 것이다.
질의 수신 모듈(110)은 사용자 질의 벡터를 분석하여 사용자 질의의 의도를 파악할 수 있다. 질의 수신 모듈(110)은 사용자 질의 벡터를 분석함에 있어서 형태소 분석, 구문 분석, 어휘의미 분석 등 종래 사용되는 기술을 이용할 것이다.
응답 생성 모듈(120)은 분석된 사용자 질의 벡터를 기반으로 데이터 저장 모듈(200)에 응답을 검색할 수 있다.
본 발명의 실시예를 따르면, 응답 생성 모듈(120)은 제2 데이터 저장 모듈에 포함된 문장 형태의 데이터를 기반으로 사용자 질의 벡터에 대응하는 응답을 검색할 수 있다. 이때 응답 생성 모듈(120)은 질의 벡터와 제2 데이터 저장 모듈에 포함된 데이터 사이의 유사도를 연산하기 위해 기 설정된 유사도 산출 알고리즘을 적용할 것이다.
이후, 응답 생성 모듈(120)은 제2 데이터 저장 모듈에서 사용자 질의 벡터에 대응하는 응답을 검색하면, 제1 데이터 저장 모듈에서 응답과 대응하는 제1 데이터를 검색할 수 있다. 한편, 본 발명의 다른 실시 예를 따르면 응답 생성 모듈(120)은 제2 데이터 저장 모듈에 포함된 적어도 하나의 테이블 데이터의 테이블 캡션과 사용자 질의 벡터의 유사도를 기반으로 응답이 포함된 후보 테이블 데이터를 추출할 수 있다.
응답 생성 모듈(120)은 후보 테이블 데이터를 추출하면, 후보 테이블 데이터를 가공한 문장 형태의 데이터에 사용자 질의 벡터를 검색하여 사용자 질의 벡터에 대응하는 응답을 검색할 수 있다. 응답 생성 모듈(120)은 응답을 검색함에 있어서, 복수 개의 후보 응답을 추출할 것이다. 응답 생성 모듈(120)은 후보 응답과 사용자 질의 벡터의 유사도를 연산할 수 있다. 응답 생성 모듈(120)은 유사도를 연산하기 위해 기 설정된 유사도 산출 알고리즘을 적용할 것이다.
응답 생성 모듈(120)은 유사도를 기반으로 후보 응답을 정렬하여, 가장 높은 유사도를 갖는 후보 응답을 사용자 질의 벡터에 대응하는 응답으로 설정할 수 있다.
응답 생성 모듈(120)은 제2 데이터 저장 모듈에서 사용자 질의 벡터에 대응하는 응답이 검색되면, 제1 데이터 저장 모듈에서 응답과 대응하는 제1 데이터를 검색할 수 있다. 제1 데이터 저장 모듈에 저장된 데이터와 제2 데이터 저장 모듈에 저장된 데이터는 서로 연관되어 있다.
응답 생성 모듈(120)은 사용자 질의 벡터와 그에 대한 응답이 데이터 저장 모듈(200)에 저장되어 있는 경우 사용자 질의에 대한 응답을 사용자에게 제공할 수 있다.
본 발명의 일 실시 예에 의한 응답 생성 모듈(130)은 사용자에게 응답을 제공함에 있어서 응답을 제2 데이터 기반의 문장 형식 또는 제1 데이터 기반의 테이블 형식으로 제공할 수도 있다. 보다 구체적으로, 응답 생성 모듈(120)은 사용자에게 응답을 문장 형태로 제공할 수도 있고, 응답이 포함된 테이블 데이터 전체를 제공할 수도 있고, 테이블 데이터에서 응답이 포함된 영역을 제공할 수도 있다.
응답 생성 모듈(120)은 사용자에게 테이블 데이터 전체를 제공하는 경우, 응답이 포함된 영역을 하이라이트 하여 제공할 수 있으며, 이를 통해 사용자가 응답을 직관적으로 확인할 수 있는 효과를 가질 수 있다.
본 발명의 다른 실시 예에 의하면, 응답 생성 모듈(120)은 입력된 사용자 질의 벡터가 데이터 저장 모듈(200)에 저장되어 있지 않는 경우, 사용자 질의 벡터에 대응하는 유사 질의에 대한 응답을 사용자에게 제공할 수 있다. 이 경우, 사용자 질의 벡터 기반의 유사 질의를 검색하는 유사 질의 검색 모듈(미도시)를 포함할 것이며, 유사 질의 검색 모듈은 데이터 저장 모듈(200)에 저장된 질의 중 사용자 질의 벡터와 동일하거나 유사한 벡터를 가지는 질의를 검색할 것이다. 데이터 저장 모듈(200)은 질의와 질의에 대한 응답이 연관되어 (질의, 응답) 쌍이 저장되어 있을 수 있다. 예를 들어 데이터 저장 모듈(200)에는 (질의, 응답, 질의 벡터) 쌍이 테이블 형식 또는 문장 형식으로 저장되어 있을 수 있다.
유사 질의 검색 모듈은 데이터 저장 모듈(200)에서 사용자 질의 벡터와 유사한 벡터를 갖는 질의를 검색하기 위해 유클리드 공간에서 사용자 질의 벡터와 일정 거리 내에 위치하는 질의 벡터를 유사한 벡터로 결정할 수 있다. 또한 유사 질의 검색 모듈은 코사인 유사도에 기초하여 유사도를 결정할 수도 있다. 유사 질의 검색 모듈은 유사 질의 검색 결과를 이용하여, 유사도가 제1 임계 값 이상인 유사 질의 후보군을 생성할 수 있다.
유사 질의 후보군은 질의로만 구성되거나, 질의와 응답 및 질의 벡터 중 적어도 하나를 포함하여 구성될 수 있다. 또한 유사 질의 후보군에는 후보군에 속한 질의 별로 사용자 질의 벡터와의 유사도 값이 더 포함될 수 있다. 나아가, 유사 질의 후보군에는 후보군에 속한 질의 간의 유사도 순서가 더 포함될 수도 있다.
유사 질의 검색 모듈은 유사 질의 후보군 정보를 이용하여 유사 질의를 선택할 수 있다. 유사 질의 검색 모듈은 유사 질의 후보군에 속한 질의 중에서 유사도 값이 기 설정된 제2 임계 값 이상인 것을 선택할 것이다.
유사 질의 검색 모듈에 의해 유사 질의가 검색되면, 응답 생성 모듈(130)은 선택된 유사 질의에 대한 응답을 사용자에게 제공할 수 있다. 이때 유사 질의에 대한 응답을 검색하고 제공하는 방법은 사용자 질의에 대한 응답을 검색하고 제공하는 것과 실질적으로 동일할 수 있다.
응답 생성 모듈(120)은 유사 질의에 대응되는 응답을 사용자에게 제공하는 경우, 유사 질의와 함께 유사 질의에 대한 응답을 사용자에게 제공할 수도 있다. 이는 유사 질의가 사용자 질의와 의미가 상이한 것일 경우 사용자의 오해를 방지하기 위함이다.
예를 들어, 사용자가 “시청까지 얼마야?”라는 질의를 입력하였을 경우, 유사 질의 검색 모듈(120)은 유사 질의로 "시청까지 도달하기 위한 소요시간 얼마야", "시청까지 가기 위한 거리가 얼마야?" 또는 "시청까지 도달하기 위한 교통비 얼마야?"와 같은 유사 질의를 선택할 수 있다. 또한, "시청까지 도달하기 소요시간 얼마야?"라는 유사 질의의 경우 "자동차로 시청까지 도달하기 위한 교통비 얼마야?", "대중교통으로 시청까지 도달하기 위한 교통비 얼마야?" 또는 "걸어서 시청까지 도달하기 위한 교통비 얼마야?"와 같은 유사 질의가 존재할 수도 있다.
이러한 경우 유사 질의에 대한 답변만을 사용자에게 제공하는 경우 사용자는 다른 의미에 대한 응답을 사용자가 입력한 질의에 대한 답변으로 오해할 수도 있기 때문에 응답 생성 모듈(130)은 유사 질의에 대한 응답을 제공할 때 유사 질의도 함께 포함하여 제공할 것이다.
본 발명의 일 실시 예에 의한 질의 벡터에 대한 문서 내 검색 장치는 데이터 저장 모듈(200)을 구성하기 위해 기존 데이터 세트를 재구성할 수 있다. 보다 구체적으로 데이터 수신 모듈(210)은 사용자로부터 검색 대상 문서를 수신하거나 크롤러를 이용하여 문서를 수집할 수 있다. 문서는 예를 들어, PDF 문서, HTML 등으로 작성된 웹 문서 등을 포함할 수 있으며 이에 한정되지 않는다.
데이터 추출 모듈(220)은 수신한 문서에서 테이블 데이터를 추출할 수 있다. 데이터 추출 모듈(220)은 문서에 포함된 테이블(표) 형태를 갖는 테이블 데이터를 추출할 수 있다. 데이터 추출 모듈(220)은 테이블 데이터의 위치를 파악하여 구조정보를 생성하고, 테이블 데이터의 캡션, 컬럼(필드) 및 컬럼에 대응되는 레코드를 추출할 것이다.
데이터 추출 모듈(230)은 테이블 데이터에 대응하는 임베딩 벡터(embedding vector)를 생성할 수 있다. 임베딩 데이터는 자연어로 표현된 테이블 데이터의 구조와 의미를 나타내는 벡터이다.
데이터 변환 모듈(230)은 데이터 추출 모듈(220)에서 추출한 테이블 데이터를 데이터 저장 모듈(200)에 저장하기 위해, 테이블 데이터의 임베딩 벡터를 가공할 수 있다. 데이터 변환 모듈(230)은 테이블 기반의 제1 데이터 저장 모듈(203)과 문장 기반의 제2 데이터 저장 모듈(206) 각각의 형식에 적합하게 테이블 데이터를 가공할 수 있다.
데이터 변환 모듈(230)은 제1 데이터 저장 모듈(203)에 테이블 데이터를 저장할 수 있다. 제1 데이터 저장 모듈(203)은 통상적으로 사용되는 데이터베이스와 같은 형태로, 컬럼(필드)과 각 컬럼에 대응하는 레코드의 조합으로 구성될 것이다.
구체적으로 데이터 변환 모듈(230)은 테이블 데이터의 컬럼(필드)에 대응하는 데이터를 제1 데이터의 컬럼(필드)에, 테이블 데이터의 레코드에 대응하는 데이터를 제1 데이터의 레코드로 하여, 제1 데이터를 생성할 수 있다. 나아가 데이터 변환 모듈(230)은 제2 데이터 저장 모듈(206)에 제2 데이터를 저장하기 위해, 제1 데이터를 기반으로 문장 형식의 제2 데이터를 생성할 수 있다. 데이터 변환 모듈(230)은 제1 데이터의 컬럼을 주어(질의)로, 각 컬럼에 대응하는 레코드(응답)를 서술어로 하여 문장 형식의 제2 데이터를 생성할 수 있다. 데이터 변환 모듈(230)은 데이터의 종류(텍스트, 테이블 형태의 데이터 등)와 무관하게 문장을 생성할 것이다.
예를 들어 테이블 데이터의 캡션이 마루전자 2020년 재무상태표일 경우, 제1 데이터가 (컬럼)총 자산, (레코드)13,259,038,700이면, 데이터 변환 모듈(230)은 (마루전자 2020년 재무상태표, 총 자산, 13,259,038,700)과 같은 제2 데이터를 생성할 수 있다.
데이터 변환 모듈(230)이 제1 데이터를 기반으로 생성한 제2 데이터는 도 2를 통해 확인할 수 있다. 도 2에 도시된 제1 데이터를 통해 생성되는 제2 데이터는, {(NAME, DANIEL), (SUBJECT, MATHEMATICS), (SCORE, 76), (RANK, C)}, {(NAME, PETER), (SUBJECT, MATHEMATICS), (SCORE, 97), (RANK, A)}일 것이다.
데이터 변환 모듈(230)은 생성한 제1 데이터를 제1 데이터 저장 모듈(203)에, 제2 데이터를 제2 데이터 저장 모듈(206)에 저장할 수 있다.
도 3은 본 발명의 일 실시 예에 의한 데이터 저장 모듈을 구축하는 방법을 설명하는 순서도이고, 도 4는 본 발명의 일 실시 예에 의한 질의 벡터에 대한 문서 내 검색 방법을 설명하기 위한 순서도로, 이하에서는 도 3 및 도 4를 참조하여 본 발명의 일 실시 예에 의한 질의 벡터에 대한 문서 내 검색 방법에 대해 설명한다.
이와 관련된 설명에 있어서 전술한 질의 벡터에 대한 문서 내 검색 장치와 중복되는 세부 실시 예는 생략될 수 있다. 본 발명의 일 실시 예에 의한 질의 벡터에 대한 문서 내 검색 방법은 서버로 구현될 수 있는 바, 이하에서는 설명의 편의성을 위해 질의 벡터에 대한 문서 내 검색 방법을 수행하는 주체를 서버로 명명한다.
먼저 도 3을 참조하면, 단계 110에서, 서버는 사용자 단말로부터 적어도 하나의 검색 대상 문서를 수신할 수 있다. 본 발명의 추가적인 실시예를 따르면, 검색 대상 문서는 서버에서 크롤러를 이용하여 직접 수집하거나 또는 임의의 데이터 베이스에 대한 접근 권한을 획득하는 방식으로 수집될 수 있다. 문서는 예를 들어, PDF 문서, HTML 등으로 작성된 웹 문서 등을 포함할 수 있으며 이에 한정되지 않는다.
단계 120에서, 서버는 수신한 문서에서 데이터를 추출할 수 있다. 서버는 문서에 포함된 테이블(표) 형태의 테이블 데이터를 추출할 수 있다. 서버는 테이블 데이터의 위치를 파악하여 구조정보를 생성하고, 테이블 데이터의 캡션, 컬럼(필드) 및 컬럼에 대응되는 레코드를 추출할 것이다. 한편 서버는 테이블 데이터에 대응하는, 테이블 데이터의 구조와 의미를 나타내는 임베딩 벡터를 생성할 수도 있다.
서버는 추출한 데이터를 가공할 수 있다. 서버는 테이블 기반의 제1 데이터 저장 모듈과 문장 기반의 제2 데이터 저장 모듈 각각의 형식에 적합하게 데이터를 가공할 수 있다.
구체적으로 서버는 제1 데이터 저장 모듈에 테이블 데이터를 그대로 저장할 수 있다. 나아가 본 발명의 다른 실시예에 따르면, 서버는 테이블 포멧을 미리 설정하고, 해당 포맷에 맞게 테이블 데이터를 가공하여 제1 데이터를 생성(단계 130)할 수 있다. 이때 제1 데이터 저장 모듈은 통상적으로 사용되는 데이터베이스와 같은 형태로, 컬럼(필드)과 각 컬럼에 대응하는 레코드의 조합으로 구성됨에 따라, 제1 데이터는 SQL 테이블 형식을 가질 수 있다.
나아가 서버는 제1 데이터를 기반으로 제2 데이터 저장 모듈에 저장될 문장 형식의 제2 데이터를 생성(단계 140)할 수 있다. 서버는 제1 데이터의 칼럼을 주어(질의)로, 각 칼럼에 대응하는 레코드(응답)를 서술어로 하여 문장 형식의 제2 데이터를 생성할 수 있다.
서버는 생성한 제1 데이터를 제1 데이터 저장 모듈에 저장(단계 150)하고, 제2 데이터를 제2 데이터 저장 모듈에 저장(단계 160)할 수 있다. 제1 데이터 저장 모듈에 저장된 제1 데이터와 제2 데이터 저장 모듈에 저장된 제2 데이터는 서로 연관될 것이다.
이하에서는 상기 과정을 통해 구축된 데이터 저장 모듈을 기반으로 동작하는 질의 벡터에 대한 문서 내 검색 방법의 동작을 설명한다. 단계 210에서, 서버는 사용자 입력에 기반하여 사용자 질의를 수신할 수 있다. 서버는 키보드나 터치패드를 통해 입력되는 사용자의 텍스트 입력 또는 사용자의 발화에 의한 음성 입력을 통해 사용자 질의를 수신할 수 있다. 사용자 질의는 자연어로 표현되는 자연어 질의일 것이다.
단계 220에서, 서버는 사용자 질의를 벡터화 할 수 있다. 구체적으로 서버는 사용자 질의에 인코더를 적용하여 사용자 질의 벡터를 생성할 수 있다.
단계 230에서, 서버는 사용자 질의 벡터를 분석하여 사용자 질의의 의도를 파악할 수 있다. 서버는 사용자 질의 벡터를 분석함에 있어서 형태소 분석, 구문 분석, 어휘의미 분석 등 종래 사용되는 기술을 이용할 수 있다.
단계 240에서, 서버는 사용자 질의 벡터를 기반으로 데이터 저장 모듈에서 응답을 검색할 수 있다.
도 5를 이용하여 단계 240을 구체적으로 설명하면, 서버는 제2 데이터 저장 모듈에 포함된 적어도 하나의 테이블 데이터의 테이블 캡션과 사용자 질의 벡터와의 유사도를 기반으로 응답이 포함된 후보 테이블 데이터를 추출(S241)할 수 있다.
서버는 후보 테이블 데이터를 추출하면, 후보 테이블 데이터에 사용자 질의 벡터를 검색하여 응답을 검색할 것이다. 서버는 응답을 검색함에 있어서, 복수 개의 후보 응답을 추출(S243)할 것이다.
서버는 후보 응답과 사용자 질의 벡터의 유사도를 연산하고, 이를 기반으로 후보 응답을 정렬하여 가장 높은 유사도를 갖는 후보 응답을 사용자 질의 벡터에 대한 응답으로 설정(S245)할 수 있다. 서버는 제2 데이터 저장 모듈에서 사용자 질의 벡터에 대응하는 응답을 검색하면, 제1 데이터 저장 모듈에서 응답과 대응하는 제1 데이터를 검색할 수 있다.
도 4에 대한 설명으로 복귀하면, 서버는 사용자 질의 벡터와 그에 대한 응답이 데이터 저장 모듈에 저장되어 있는 경우 사용자 질의에 대한 응답을 사용자에게 제공(S250)할 수 있다.
본 발명의 일 실시 예에 의한 서버는 사용자에게 응답을 제공함에 있어서 응답을 제2 데이터 기반의 문장 형식 또는 제1 데이터 기반의 테이블 형식으로 제공할 수도 있다. 보다 구체적으로, 서버는 사용자에게 응답이 포함된 문장을 제공할 수도 있고, 응답이 포함된 테이블 데이터 전체를 제공할 수도 있고, 테이블 데이터에서 응답이 포함된 행을 제공할 수도 있다.
서버는 사용자에게 테이블 데이터 전체를 제공하는 경우, 응답이 포함된 행에 하이라이트 하여 사용자가 응답을 직관적으로 확인할 수 있게 한다.
한편 본 발명에 의한 다른 실시 예에 따르면 서버는 사용자 질의 벡터를 기반으로 SQL 쿼리를 생성하여 데이터 저장 모듈(200)에 접근할 수 있다. 사용자로부터 수신한 질의는 자연어 질의로, 데이터 저장 모듈(200)에서 질의에 대응하는 응답을 검색하기 위해 SQL 쿼리로 변환이 요구됨에 따라, 서버는 도 6과 같이 도 4의 단계 230과 단계 240 사이에 사용자 질의 벡터를 기반으로 SQL 쿼리를 생성하는 단계를 더 추가할 수도 있다.
데이터베이스 각각의 구조적 정보가 모두 상이함에 따라, 서버는 데이터 저장 모듈(200)의 구조적 정보를 의미하는 스키마에 따라 SQL 쿼리를 생성할 수 있다. 서버는 데이터 저장 모듈(200)의 스키마와 사용자 질의 벡터를 이용하여 SQL 쿼리를 생성(S235)할 수 있다. 이 후 서버는 데이터 저장 모듈(200)에 사용자 질의 벡터에 대한 응답을 검색함에 있어서 SQL 쿼리를 이용할 수 있다.
한편 본 발명에 의한 다른 실시 예에 따르면 서버는 사용자 질의 벡터가 데이터 저장 모듈에 저장되어 있지 않으면, 사용자 질의 벡터에 대한 유사 질의를 검색하고 유사 질의에 대한 답변을 사용자에게 제공할 수 있다. 도 7은 본 발명의 다른 실시 예에 의한 사용자 질의 벡터에 대한 유사 질의에 따른 응답을 제공하는 방법을 설명하기 위한 도면이다.
도 7을 참고하여 구체적으로 설명하면, 서버는 사용자 질의 벡터를 기반으로 유사 질의 후보군을 생성(S310)할 수 있다. 서버는 데이터 저장 모듈에 저장된 질의 중 사용자 질의 벡터와 동일하거나 유사한 벡터를 가지는 질의를 검색하여 유사 질의 후보군으로 설정할 수 있다.
구체적으로 서버는 데이터 저장 모듈에서 사용자 질의 벡터와 유사한 벡터를 갖는 질의를 검색하기 위해 유클리드 공간에서 사용자 질의 벡터와 일정 거리 내에 위치하는 벡터를 유사한 벡터로 결정할 수 있다. 또한 서버는 코사인 유사도에 기초하여 유사도를 결정할 수도 있다. 서버는 유사 질의 검색 결과를 이용하여 유사 질의 후보군을 생성할 수 있다.
데이터 저장 모듈에는 질의와 질의에 대한 응답이 연관되어 (질의, 응답) 쌍이 저장되어 있을 수 있다. 예를 들어 데이터 저장 모듈에는 (질의, 응답, 질의 벡터) 쌍이 테이블 형식(제1 데이터 저장 모듈(203)) 혹은 문장 형식(제2 데이터 저장 모듈(206))으로 저장되어 있을 수 있다.
유사 질의 후보군은 질의로만 구성되거나, 질의와 응답 및 질의 벡터 중 적어도 하나를 포함하여 구성될 수 있다. 또한 유사 질의 후보군에는 후보군에 속한 질의 별로 사용자 질의 벡터와의 유사도 값이 더 포함될 수 있다. 나아가, 유사 질의 후보군에는 후보군에 속한 질의 간의 유사도 순서가 더 포함될 수도 있다.
서버는 유사 질의 후보군 정보를 이용하여 유사 질의를 선택(S320)할 수 있다. 서버는 유사 질의 후보군에 속한 질의 중에서 유사도 값이 기 설정된 임계 값 이상인 것을 선택할 것이다.
서버는 선택된 유사 질의와 그에 대응하는 응답을 사용자에게 제공(S330)할 수 있다. 서버는 사용자 질의 벡터에 대한 유사 질의와 유사 질의에 대한 응답을 모두 사용자에게 제공할 수 있다. 유사 질의와 함께 유사 질의에 대응되는 응답을 모두 사용자에게 제공함으로써, 사용자가 사용자 질의와 다른 의미에 대한 유사 질의의 응답을 사용자 질의에 대한 응답으로 오해하는 것을 방지할 수 있다.
본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (14)

  1. 데이터 저장 모듈을 포함하는 서버에 의해 수행되는 질의 벡터에 대한 문서 내 테이블 검색 방법에 있어서,
    상기 데이터 저장 모듈의 제1 데이터 저장 모듈에 적어도 하나의 문서에서 추출된 적어도 하나의 테이블 데이터를 미리 설정된 포맷에 맞게 가공한 테이블 형식의 제1 데이터를 저장하고, 상기 데이터 저장 모듈의 제2 데이터 저장 모듈에 상기 적어도 하나의 테이블 데이터의 테이블 캡션, 상기 제1 데이터의 컬럼 및 상기 제1 데이터의 레코드를 기반으로 생성한 문장 형식의 제2 데이터를 저장하는 A 단계 -상기 제1 데이터와 상기 제2 데이터는 서로 연관되어 저장됨-;
    사용자 단말로부터 사용자 질의를 수신하는 B 단계;
    상기 사용자 질의에 대한 사용자 질의 벡터를 생성하는 C 단계;
    상기 제2 데이터 저장 모듈에 저장된 상기 제2 데이터 중에서 상기 사용자 질의 벡터와 기준치 이상의 유사도를 가지는 제2 데이터와 연관되어 있는 제1 데이터에 대응하는 제1 테이블 데이터를 후보 테이블 데이터로 검출하는 D 단계;
    상기 후보 테이블 데이터에서 상기 사용자 질의 벡터에 대응하는 응답을 검색하는 E 단계; 및
    상기 응답을 사용자 단말에 제공하는 F 단계를 포함하는

    질의 벡터에 대한 문서 내 검색 방법.
  2. 제1항에 있어서,
    상기 A 단계는
    적어도 하나의 문서를 수신하는 단계;
    상기 적어도 하나의 문서에서 테이블 형식의 테이블 데이터를 추출하는 단계;
    상기 테이블 데이터를 SQL 테이블 형식으로 변환하여 상기 제1 데이터를 생성하는 단계;
    상기 테이블 데이터의 상기 테이블 캡션, 상기 제1 데이터의 상기 컬럼 및 상기 제1 데이터의 상기 레코드를 기반으로 문장 형식의 상기 제2 데이터를 생성하는 단계; 및
    상기 제1 데이터를 상기 제1 데이터 저장 모듈에 저장하고, 상기 제2 데이터를 상기 제2 데이터 저장 모듈에 저장하는 단계를 포함하되,
    상기 제1 데이터 저장 모듈에 저장된 상기 제1 데이터와 상기 제2 데이터 저장 모듈에 저장된 상기 제2 데이터는 서로 연관되어 있는
    질의 벡터에 대한 문서 내 검색 방법.
  3. 제2항에 있어서,
    상기 제1 데이터 및 상기 제2 데이터는
    질의와 상기 질의에 대한 응답이 연관되어 있거나, 상기 질의, 상기 질의에 대한 응답 및 상기 질의에 대한 질의 벡터가 연관되어 있는
    질의 벡터에 대한 문서 내 검색 방법.
  4. 제1항에 있어서,
    상기 C 단계는,
    상기 사용자 질의 벡터를 분석하는 단계; 및
    상기 사용자 질의 벡터를 기반으로 상기 데이터 저장 모듈의 스키마 및 상기 사용자 질의 벡터를 포함하는 SQL 쿼리를 생성하는 단계를 포함하는
    질의 벡터에 대한 문서 내 검색 방법.
  5. 제1항에 있어서,
    상기 E 단계는,
    상기 후보 테이블 데이터에서 상기 사용자 질의 벡터를 검색하여 후보 응답을 추출하는 단계;
    상기 후보 응답과 상기 사용자 질의 벡터 간의 유사도를 연산하여, 가장 높은 유사도를 갖는 상기 후보 응답을 상기 응답으로 설정하는 단계; 및
    상기 제1 데이터 저장 모듈에서 상기 응답과 대응하는 제1 데이터를 검색하는 단계를 포함하는
    질의 벡터에 대한 문서 내 검색 방법.
  6. 제1항에 있어서,
    상기 F 단계는,
    상기 응답이 포함된 테이블 데이터에서 상기 응답이 포함된 행을 상기 사용자 단말에 제공하는 단계를 포함하는,
    질의 벡터에 대한 문서 내 검색 방법.
  7. 제1항에 있어서,
    상기 F 단계는,
    상기 응답이 포함된 테이블 데이터에서 상기 응답이 포함된 행을 하이라이트 표시하는 단계; 및
    상기 응답이 포함된 테이블 데이터 전체를 상기 사용자 단말에 제공하는 단계를 포함하는
    질의 벡터에 대한 문서 내 검색 방법.
  8. 적어도 하나의 문서에서 추출된 적어도 하나의 테이블 데이터를 미리 설정된 포맷에 맞게 가공한 테이블 형식의 제1 데이터를 저장하는 제1 데이터 저장 모듈과, 상기 적어도 하나의 테이블 데이터의 테이블 캡션, 상기 제1 데이터의 컬럼 및 상기 제1 데이터의 레코드를 기반으로 생성한 문장 형식의 제2 데이터를 저장하는 제2 데이터 저장 모듈을 포함하는 데이터 저장 모듈 -상기 제1 데이터와 상기 제2 데이터는 서로 연관되어 저장됨-;
    사용자 단말로부터 수신한 사용자 질의에 대한 사용자 질의 벡터를 생성하는 질의 수신 모듈; 및
    상기 제2 데이터 저장 모듈에 저장된 상기 제2 데이터 중에서 상기 사용자 질의 벡터와 기준치 이상의 유사도를 가지는 제2 데이터와 연관되어 있는 제1 데이터에 대응하는 제1 테이블 데이터를 후보 테이블 데이터로 추출하고, 상기 후보 테이블 데이터에서 상기 사용자 질의 벡터에 대응하는 응답을 검색하여 상기 응답을 상기 사용자 단말에 제공하는 응답 생성 모듈을 포함하는
    질의 벡터에 대한 문서 내 검색 장치.
  9. 제8항에 있어서,
    적어도 하나의 문서를 수신하는 데이터 수신 모듈;
    상기 적어도 하나의 문서에서 테이블 형식의 테이블 데이터를 추출하는 데이터 추출 모듈; 및
    상기 테이블 데이터를 SQL 테이블 형식으로 변환하여 상기 제1 데이터를 생성하고, 상기 테이블 데이터의 상기 테이블 캡션, 상기 제1 데이터의 상기 컬럼 및 상기 제1 데이터의 상기 레코드를 기반으로 문장 형식의 상기 제2 데이터를 생성하여, 상기 제1 데이터를 상기 제1 데이터 저장 모듈에 저장하고, 상기 제2 데이터를 상기 제2 데이터 저장 모듈에 저장하는 데이터 변환 모듈을 더 포함하는
    질의 벡터에 대한 문서 내 검색 장치.
  10. 제9항에 있어서,
    상기 제1 데이터 및 상기 제2 데이터는
    질의와 상기 질의에 대한 응답이 연관되어 있거나, 상기 질의, 상기 질의에 대한 응답 및 상기 질의에 대한 질의 벡터가 연관되어 있으며,
    상기 제1 데이터 저장 모듈에 저장된 상기 제1 데이터와 상기 제2 데이터 저장 모듈에 저장된 상기 제2 데이터는 서로 연관되어 있는
    질의 벡터에 대한 문서 내 검색 장치.
  11. 제8항에 있어서,
    상기 질의 수신 모듈은
    상기 사용자 질의 벡터를 분석하여 사용자 질의의 의도를 파악하고,
    상기 사용자 질의 벡터를 기반으로 상기 데이터 저장 모듈의 스키마 및 상기 사용자 질의 벡터를 포함하는 SQL 쿼리를 생성하는,
    질의 벡터에 대한 문서 내 검색 장치.
  12. 제8항에 있어서,
    상기 응답 생성 모듈은
    상기 후보 테이블 데이터에서 상기 사용자 질의 벡터를 검색하여 후보 응답을 추출하고,
    상기 후보 응답과 상기 사용자 질의 벡터 간의 유사도를 연산하여, 가장 높은 유사도를 갖는 상기 후보 응답을 상기 응답으로 설정하고,
    상기 제1 데이터 저장 모듈에서 상기 응답과 대응하는 제1 데이터를 검색하는,
    질의 벡터에 대한 문서 내 검색 장치.
  13. 제8항에 있어서,
    상기 응답 생성 모듈은
    상기 응답이 포함된 테이블 데이터에서 상기 응답이 포함된 행을 상기 사용자 단말에 제공하는
    질의 벡터에 대한 문서 내 검색 장치.
  14. 제8항에 있어서,
    상기 응답 생성 모듈은
    상기 응답이 포함된 테이블 데이터에서 상기 응답이 포함된 행을 하이라이트 표시하고,
    상기 응답이 포함된 테이블 데이터 전체를 상기 사용자 단말에 제공하는
    질의 벡터에 대한 문서 내 검색 장치.
KR1020200175181A 2020-12-15 2020-12-15 질의에 대한 문서 검색 방법 및 장치 KR102608736B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200175181A KR102608736B1 (ko) 2020-12-15 2020-12-15 질의에 대한 문서 검색 방법 및 장치
EP20216936.3A EP4016326A1 (en) 2020-12-15 2020-12-23 In-document search method and device for query
US17/133,783 US11573958B2 (en) 2020-12-15 2020-12-24 In-document search method and device for query
KR1020230167704A KR20230166995A (ko) 2020-12-15 2023-11-28 질의에 대한 문서 검색 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200175181A KR102608736B1 (ko) 2020-12-15 2020-12-15 질의에 대한 문서 검색 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230167704A Division KR20230166995A (ko) 2020-12-15 2023-11-28 질의에 대한 문서 검색 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220085258A KR20220085258A (ko) 2022-06-22
KR102608736B1 true KR102608736B1 (ko) 2023-12-01

Family

ID=73857068

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200175181A KR102608736B1 (ko) 2020-12-15 2020-12-15 질의에 대한 문서 검색 방법 및 장치
KR1020230167704A KR20230166995A (ko) 2020-12-15 2023-11-28 질의에 대한 문서 검색 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230167704A KR20230166995A (ko) 2020-12-15 2023-11-28 질의에 대한 문서 검색 방법 및 장치

Country Status (3)

Country Link
US (1) US11573958B2 (ko)
EP (1) EP4016326A1 (ko)
KR (2) KR102608736B1 (ko)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009033062A1 (en) * 2007-09-06 2009-03-12 Igt Predictive modeling in a gaming system
US8594996B2 (en) * 2007-10-17 2013-11-26 Evri Inc. NLP-based entity recognition and disambiguation
AR069933A1 (es) * 2007-12-21 2010-03-03 Thomson Reuters Glo Resources Sistemas, metodos y software para resoluc ion de bases de datos por relaciones de entidades (erd)
CN102640145B (zh) * 2009-08-31 2015-09-23 达索系统公司 可信查询系统和方法
KR20130097018A (ko) * 2012-02-23 2013-09-02 한국과학기술원 화일 기반 질의로 자료를 검색하는 장치 및 그 방법
US9177225B1 (en) * 2014-07-03 2015-11-03 Oim Squared Inc. Interactive content generation
US10409802B2 (en) * 2015-06-12 2019-09-10 Ab Initio Technology Llc Data quality analysis
US10169453B2 (en) * 2016-03-28 2019-01-01 Microsoft Technology Licensing, Llc Automatic document summarization using search engine intelligence
JP6419393B2 (ja) * 2016-07-11 2018-11-07 三菱電機株式会社 動画像処理装置、動画像処理方法及び動画像処理プログラム
US10552431B2 (en) * 2017-09-29 2020-02-04 Microsoft Technology Licensing, Llc Personalizing search and/or recommendation results based on member activity models
WO2019121591A1 (en) * 2017-12-19 2019-06-27 Koninklijke Philips N.V. Learning and applying contextual similarities between entities
KR102137809B1 (ko) * 2018-09-19 2020-07-24 네이버 주식회사 자동 답변 제공 방법
US10769496B2 (en) * 2018-10-25 2020-09-08 Adobe Inc. Logo detection
US10866996B2 (en) * 2019-01-29 2020-12-15 Saleforce.com, inc. Automated method and system for clustering enriched company seeds into a cluster and selecting best values for each attribute within the cluster to generate a company profile
US11874882B2 (en) * 2019-07-02 2024-01-16 Microsoft Technology Licensing, Llc Extracting key phrase candidates from documents and producing topical authority ranking

Also Published As

Publication number Publication date
KR20220085258A (ko) 2022-06-22
US20220188300A1 (en) 2022-06-16
US11573958B2 (en) 2023-02-07
EP4016326A1 (en) 2022-06-22
KR20230166995A (ko) 2023-12-07

Similar Documents

Publication Publication Date Title
CN106874378B (zh) 基于规则模型的实体抽取与关系挖掘构建知识图谱的方法
US10025819B2 (en) Generating a query statement based on unstructured input
Gupta et al. A survey of text question answering techniques
US11080295B2 (en) Collecting, organizing, and searching knowledge about a dataset
US8832064B2 (en) Answer determination for natural language questioning
WO2019229769A1 (en) An auto-disambiguation bot engine for dynamic corpus selection per query
CN104331449B (zh) 查询语句与网页相似度的确定方法、装置、终端及服务器
AU2021212025B2 (en) Intelligent question answering on tabular content
Fan et al. Using syntactic and semantic relation analysis in question answering
CN102663129A (zh) 医疗领域深度问答方法及医学检索系统
Terragni et al. Word embedding-based topic similarity measures
Biswas et al. A framework for restricted domain Question Answering System
CN111104437A (zh) 基于对象模型的试验数据统一检索方法和系统
Arasu et al. A grammar-based entity representation framework for data cleaning
KR102608736B1 (ko) 질의에 대한 문서 검색 방법 및 장치
Zhekova et al. An Algorithm for Translation of a Natural Language Question into SQL Query.
Karpagam et al. Deep learning approaches for answer selection in question answering system for conversation agents
Chala et al. A Framework for Enriching Job Vacancies and Job Descriptions Through Bidirectional Matching.
Subhashini et al. A framework for efficient information retrieval using NLP techniques
Balaji et al. Finding related research papers using semantic and co-citation proximity analysis
Pertsas et al. Ontology-driven information extraction from research publications
Uddin et al. Information and relation extraction for semantic annotation of ebook texts
Alwaneen et al. Stacked dynamic memory-coattention network for answering why-questions in Arabic
Stoikov Using Conditional Probability for Discovering Semantic Relationships be-tween Named Entities in Cultural Heritage Data
Eskenazi et al. ERIS 2022

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
A107 Divisional application of patent
GRNT Written decision to grant