KR20210030068A - 앙상블 질의 응답을 위한 시스템 및 방법 - Google Patents

앙상블 질의 응답을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20210030068A
KR20210030068A KR1020190111550A KR20190111550A KR20210030068A KR 20210030068 A KR20210030068 A KR 20210030068A KR 1020190111550 A KR1020190111550 A KR 1020190111550A KR 20190111550 A KR20190111550 A KR 20190111550A KR 20210030068 A KR20210030068 A KR 20210030068A
Authority
KR
South Korea
Prior art keywords
query
response
deep learning
sample
engine
Prior art date
Application number
KR1020190111550A
Other languages
English (en)
Other versions
KR102259390B1 (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 KR1020190111550A priority Critical patent/KR102259390B1/ko
Priority to US17/641,385 priority patent/US20220343082A1/en
Priority to PCT/KR2019/013642 priority patent/WO2021049706A1/ko
Publication of KR20210030068A publication Critical patent/KR20210030068A/ko
Application granted granted Critical
Publication of KR102259390B1 publication Critical patent/KR102259390B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

앙상블 질의 응답을 위한 시스템은, 본 발명의 예시적 실시예에 따라, 사용자로부터 질의 입력을 수신하고 사용자에 응답 출력을 제공하는 사용자 인터페이스, 복수의 질의 응답 엔진들 중 질의에 적합한 적어도 하나의 질의 응답 엔진을 선정하도록 학습된 딥 러닝(deep learning) 네트워크, 질의 입력 및 질의 입력을 자연어 처리함으로써 생성된 시맨틱(semantic) 데이터를 딥 러닝 네트워크에 제공하고, 복수의 질의 응답 엔진들 중 적어도 하나의 질의 응답 엔진에 대응하는 적어도 하나의 인덱스를 딥 러닝 네트워크로부터 수신하는 모델 검출부, 및 적어도 하나의 질의 응답 엔진에 질의 입력을 제공하고, 적어도 하나의 응답 엔진으로부터 응답을 수신함으로써 응답 출력을 생성하는 응답 생성부를 포함할 수 있다.

Description

앙상블 질의 응답을 위한 시스템 및 방법{SYSTEM AND METHOD FOR ENSEMBLE QUESTION-ANSWERING}
본 발명의 기술적 사상은 자동 질의 응답에 관한 것으로서, 자세하게는 앙상블 질의 응답을 위한 시스템 및 방법에 관한 것이다.
본 발명은 미래창조과학부 SW컴퓨팅원천기술개발사업(SW)의 일환으로 (주)솔트룩스가 주관하고 연구하여 수행된 연구로부터 도출된 것이다. [연구기간: 2019.01.01~2019.12.31, 연구관리 전문기관: 정보통신기술진흥센터, 연구과제명: WiseKB: 빅데이터 이해 기반 자가학습형 지식베이스 및 추론 기술 개발, 과제 고유번호: 2013-0-00109]
사용자의 질의는, 예컨대 궁금한 대상을 질의하는 형식, 복수의 대상들을 비교하는 형식, 사안의 정확도를 질의하는 형식 등과 같이 다양한 형식들을 가질 뿐만 아니라, 사용자 질의가 속하는 분야, 즉 도메인은 그 범위가 방대할 수 있다. 이러한 사용자 질의에 대한 적절한 응답을 자동으로 제공하기 위하여 다양한 질의 응답 방식들이 연구되고 있으나, 제안된 질의 응답 방식들은 상이한 특징들을 각각 가질 수 있고, 동일한 질의에 대해서 상이한 응답들을 제공할 수 이다. 이에 따라, 사용자 질의에 대한 가장 적절한 응답을 획득하기 위하여 다양한 질의 응답 방식들에 의한 응답들을 모두 획득하고, 획득한 응답들을 평가하는 것을 고려할 수 있으나, 이는 비용, 예컨대 시간 및 계산 능력 등의 증가를 초래하여 낮은 효율성을 제공할 수 있다.
본 발명의 기술적 사상은, 복수의 질의 응답 방식들 중 사용자 질의에 적합한 질의 응답 방식을 선택함으로써 향상된 효율성을 가지는 앙상블 질의 응답을 위한 시스템 및 방법을 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 기술적 사상의 일측면에 따라 앙상블 질의 응답을 위한 시스템은, 사용자로부터 질의 입력을 수신하고 사용자에 응답 출력을 제공하는 사용자 인터페이스, 복수의 질의 응답 엔진들 중 질의에 적합한 적어도 하나의 질의 응답 엔진을 선정하도록 학습된 딥 러닝(deep learning) 네트워크, 질의 입력 및 질의 입력을 자연어 처리함으로써 생성된 시맨틱(semantic) 데이터를 딥 러닝 네트워크에 제공하고, 복수의 질의 응답 엔진들 중 적어도 하나의 질의 응답 엔진에 대응하는 적어도 하나의 인덱스를 딥 러닝 네트워크로부터 수신하는 모델 검출부, 및 적어도 하나의 질의 응답 엔진에 질의 입력을 제공하고, 적어도 하나의 응답 엔진으로부터 응답을 수신함으로써 응답 출력을 생성하는 응답 생성부를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 앙상블 질의 응답을 위한 시스템은, 샘플 질의, 샘플 질의를 자연어 처리함으로써 생성된 샘플 시맨틱 데이터, 샘플 질의에 대하여 복수의 질의 응답 엔진들이 제공하는 복수의 샘플 응답들에 기초하여 딥 러닝 네트워크의 학습을 제어하는 딥 러닝 제어부를 더 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 딥 러닝 제어부는, 샘플 질의 샘플 시맨틱 데이터 및 복수의 샘플 응답들에 대응하는 벡터들을 워드 벡터 모델로부터 획득하고, 벡터들을 딥 러닝 네트워크에 제공할 수 있다.
본 발명의 예시적 실시예에 따라, 딥 러닝 제어부는, 강화 학습에 기초하여 딥 러닝 네트워크의 학습을 제어할 수 있고, 강화 학습은, 벡터들을 상태(state)로서 가지고, 복수의 질의 응답 엔진들 중 적어도 하나를 선택하는 것을 행동(action)으로서 가지고, 선택된 적어도 하나의 질의 응답 엔진이 제공하는 응답의 정답 여부를 보상(reward)으로서 가질 수 있다.
본 발명의 예시적 실시예에 따라, 앙상블 질의 응답을 위한 시스템은, 지식 베이스를 참조하여, 질의 입력에 포함된 토큰들에 대응하는 지식 개체들의 식별자들을 포함하는 시맨틱 데이터를 생성하는 자연어 처리부를 더 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 모델 검출부는, 질의 입력 및 시맨틱 데이터에 대응하는 벡터들을 워드 벡터 모델로부터 획득하고, 벡터들을 딥 러닝 네트워크에 제공할 수 있다.
본 발명의 예시적 실시예에 따라, 앙상블 질의 응답을 위한 시스템은, 응답 생성부로부터 제공된 응답에 기초하여 자연어 응답을 생성하여 응답 생성부에 제공하는 자연어 생성부를 더 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 응답 생성부는, 적어도 하나의 인덱스에 따라 2이상의 질의 응답 엔진들에 질의 입력을 제공하여 응답들을 수신하고, 수신된 응답들이 제공되는데 걸리는 시간, 수신된 응답들의 개수 및 수신된 응답들 사이 유사도 중 적어도 하나에 기초하여 하나의 응답을 선택할 수 있다.
본 발명의 예시적 실시예에 따라, 복수의 질의 응답 엔진들은, 질의 입력과 유사한 질의를 검색함으로써 응답을 제공하는 검색 기반 엔진, 지식 베이스를 참조하여 응답을 제공하는 지식 베이스 기반 엔진, 및 질의 입력과 관련된 문서를 검색하고, 검색된 문서에서 응답을 검색하는 기술 독해 기반 엔진을 포함할 수 있다.
본 발명의 기술적 사상의 일측면에 따라, 앙상블 질의 응답을 위한 방법은, 사용자로부터 질의 입력을 수신하는 단계, 질의 입력을 자연어 처리함으로써 생성된 시맨틱 데이터를 획득하는 단계, 복수의 질의 응답 엔진들 중 질의에 적합한 적어도 하나의 질의 엔진을 선정하도록 학습된 딥 러닝 네트워크에 질의 입력 및 시맨틱 데이터를 제공하는 단계, 딥 러닝 네트워크로부터 수신된 인덱스에 대응하는 적어도 하나의 질의 응답 엔진으로부터 응답을 수신하는 단계, 및 수신된 응답에 기초하여 응답 출력을 생성하여 사용자에 제공하는 단계를 포함할 수 있다.
본 발명의 예시적 실시예에 따라, 앙상블 질의 응답을 위한 방법은, 강화 학습에 기초하여, 샘플 질의, 샘플 질의를 자연어 처리함으로써 생성된 샘플 시맨틱 데이터, 샘플 질의에 대하여 복수의 질의 응답 엔진들이 제공하는 복수의 샘플 응답들을 사용하여 딥 러닝 네트워크를 학습시키는 단계를 더 포함할 수 있다.
본 발명의 기술적 사상에 따른 시스템 및 방법에 의하면, 복수의 질의 응답 엔진들 전부에 대한 실행이 생략됨으로써 높은 질의 응답 효율성이 달성될 수 있다.
또한, 본 발명의 기술적 사상에 따른 시스템 및 방법에 의하면, 개선된 효율성에 기인하여 빠른 응답 시간, 낮은 계산 능력 요건이 달성될 수 있다.
본 발명의 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 본 발명의 실시예들에 대한 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 발명을 실시함에 따른 의도하지 아니한 효과들 역시 본 발명의 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1은 본 발명의 예시적 실시예에 따른 앙상블 질의 응답 시스템을 나타내는 블록도이다.
도 2는 본 발명의 예시적 실시예에 따른 자연어 처리부를 나타내는 블록도이다.
도 3은 본 발명의 예시적 실시예에 따라 모델 검출부 및 딥 러닝 제어부를 나타내는 블록도이다.
도 4a, 도 4b 및 도 4c는 본 발명의 예시적 실시예들에 따라 입력 질의에 대한 처리 동작의 예시를 나타내는 도면들이다.
도 5는 본 발명의 예시적 실시예에 따라 딥 러닝 제어부의 동작을 설명하기 위한 블록도이다.
도 6은 본 발명의 예시적 실시예에 따른 앙상블 질의 응답을 위한 방법을 나타내는 순서도이다.
도 7은 본 발명의 예시적 실시예에 따른 앙상블 질의 응답을 위한 방법을 나타내는 순서도이다.
도 8은 본 발명의 예시적 실시예에 따른 앙상블 질의 응답을 위한 방법을 나타내는 순서도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하 도면 및 설명에서, 하나의 블록으로 표시 또는 설명되는 구성요소는 하드웨어 블록 또는 소프트웨어 블록일 수 있다. 예를 들면, 구성요소들 각각은 서로 신호를 주고 받는 독립적인 하드웨어 블록일 수도 있고, 또는 하나의 프로세서에서 실행되는 소프트웨어 블록일 수도 있다.
도 1은 본 발명의 예시적 실시예에 따른 앙상블 질의 응답 시스템(100)을 나타내는 블록도이다. 구체적으로, 도 1의 블록도는 앙상블 질의 응답 시스템(100) 및 앙상블 질의 응답 시스템(100)과 통신하는 시스템들을 함께 도시한다. 도 1에 도시된 바와 같이, 앙상블 질의 응답 시스템(100)은 사용자(10)로부터 질의를 수신할 수 있고, 질의에 대한 응답을 사용자(10)에 제공할 수 있다.
사용자(10)는, 앙상블 질의 응답 시스템(100)에 음성이나 텍스트 등으로 질의 입력(Q_IN)을 제공할 수 있고 앙상블 질의 응답 시스템(100)으로부터 음성이나 텍스트 등으로 응답 출력(A_OUT)을 수신하는 임의의 대상을 지칭할 수 있다. 예를 들면, 사용자(10)는 앙상블 질의 응답 시스템(100)과 통신 채널을 통해서 통신하는 임의의 단말기를 지칭할 수 있고, 단말기는 단말기의 사용자로부터 입력된 메시지에 따라 통신 채널을 통해서 질의 입력(Q_IN)을 앙상블 질의 응답 시스템(100)에 전송하거나, 앙상블 질의 응답 시스템(100)으로부터 수신된 응답 출력(A_OUT)을 음성 출력, 디스플레이 등의 방식으로 단말기의 사용자에게 제공할 수 있다. 일부 실시예들에서, 사용자(10) 및 앙상블 질의 응답 시스템(100) 사이 통신 채널은 인터넷과 같은 네트워크를 경유하여 형성될 수도 있고, 키오스크 및 단말기 사이 통신과 같이 일대일 직접 통신일 수도 있다.
앙상블 질의 응답 시스템(100)은, 도 1에 도시된 바와 같이, 사용자(10), 자연어 처리부(20), 자연어 생성부(40) 및 질의 응답 엔진 그룹(50)과 통신할 수 있다. 앙상블 질의 응답 시스템(100)은, 사용자 인터페이스(110), 모델 검출부(130), 딥 러닝(deep learning) 네트워크(150), 딥 러닝 제어부(170) 및 응답 생성부(190)를 포함할 수 있다. 일부 실시예들에서, 도 1에 도시된 바와 상이하게, 앙상블 질의 응답 시스템(100)은 자연어 처리부(20), 자연어 생성부(40) 및 질의 응답 엔진 그룹(50) 중 적어도 하나를 포함할 수도 있고, 자연어 처리부(20)와 통신하는 지식 베이스(30)를 포함할 수도 있다.
사용자 인터페이스(110)는 사용자(10)와 통신 채널을 형성할 수 있다. 사용자 인터페이스(110)는 통신 채널을 통해서 사용자(10)로부터 수신된 질의 입력(Q_IN)을 모델 검출부(130)에 제공할 수 있고, 응답 생성부(190)로부터 제공된 응답 출력(A_OUT)을 통신 채널을 통해서 사용자(10)에 제공할 수 있다. 일부 실시예들에서, 질의 입력(Q_IN)은 자연어 질의를 포함할 수 있고, 응답 출력(A_OUT) 역시 자연어 응답을 포함할 수 있다.
모델 검출부(130)는 딥 러닝 네트워크(150)와 통신함으로써 질의 응답 엔진 그룹(50)에 포함된 제1 내지 제n 질의 응답 엔진(QA1,..., QAn)(n은 1보다 큰 정수) 중 질의 입력(Q_IN)에 적합한 적어도 하나의 질의 응답 엔진을 선택할 수 있다. 예를 들면, 모델 검출부(150)는 사용자 인터페이스(110)로부터 수신된 질의 입력(Q_IN)으로부터 생성된 질의 입력 벡터(Q_IN') 및 시맨틱(semantic) 벡터(SEM')를 딥 러닝 네트워크(150)에 제공할 수 있고, 딥 러닝 네트워크(150)로부터 질의 응답 엔진 그룹(50)에 포함된 제1 내지 제n 질의 응답 엔진(QA1,..., QAn) 중 적어도 하나를 나타내는 인덱스(IDX)를 수신할 수 있다. 도 3, 도 4a 및 도 4b를 참조하여 후술되는 바와 같이, 질의 입력 벡터(Q_IN')는 질의 입력(Q_IN)에 포함된 토큰들에 대응하는 벡터들을 포함할 수 있고, 시맨틱 벡터(SEM')는 질의 입력(Q_IN)을 자연어 처리함으로써 생성된 시맨틱 데이터(SEM)에 포함된 지식 개체들에 대응하는 벡터들을 포함할 수 있다.
모델 검출부(130)는 시맨틱 데이터(SEM)를 획득하기 위하여, 자연어 처리부(20)에 질의 입력(Q_IN)을 제공할 수 있고, 자연어 처리부(20)는 지식 베이스(30)를 참조하여 질의 입력(Q_IN)으로부터 시맨틱 데이터(SEM)를 생성할 수 있다. 예를 들면, 자연어 처리부(20)는 질의 입력(Q_IN)에 포함된 토큰들에 대응하는 지식 개체들을 지식 베이스(30)에서 검출할 수 있고, 지식 개체들의 식별자들을 포함하는 시맨틱 데이터(SEM)를 생성할 수 있다. 자연어 처리부(20)의 예시는 도 2를 참조하여 후술될 것이다. 모델 검출부(130)는 딥 러닝 네트워크(150)로부터 수신된 인덱스(IDX)를 응답 생성부(190)에 제공할 수 있다.
딥 러닝 네트워크(150)는 질의 응답 엔진 그룹(50)에 포함된 제1 내지 제n 질의 응답 엔진(QA1,..., QAn) 중 질의에 적합한 적어도 하나의 질의 응답 엔진을 선정하도록, 딥 러닝 제어부(170)에 의해서 학습된 상태일 수 있다. 이에 따라, 딥 러닝 네트워크(150)는 질의 입력(Q_IN)으로부터 파생된 질의 입력 벡터(Q_IN') 및 시맨틱 벡터(SEM')에 기초하여 질의 입력(Q_IN)에 적합한 응답을 제공하는 적어도 하나의 질의 응답 엔진을 나타내는 인덱스(IDX)를 출력할 수 있다. 딥 러닝 네트워크(150)는 임의의 구조를 가질 수 있고, 예컨대 하드웨어 혹은 하드웨어와 소프트웨어의 조합으로서 구현될 수 있으며, 인공 신경망(artificial neural network; ANN)로서 지칭될 수 있다. 딥 러닝 네트워크(150)는, 비제한적인 예시로서 심층 신경망(Deep Neural Network; DNN), 합성곱 신경망(Convolution Neural Network; CNN), 순환 신경망(Recurrent Neural Network; RNN), 제한 볼츠만 머신(Restricted Boltzmann Machine; RBM), 심층 신뢰 신경망(Deep Belief Network; DBN), 심층 Q-네트워크(Deep Q-Network)를 포함할 수 있다.
딥 러닝 제어부(170)는 딥 러닝 네트워크(150)의 학습을 제어할 수 있다. 예를 들면, 딥 러닝 제어부(170)는 샘플 질의, 샘플 질의를 자연어 처리함으로써 생성된 샘플 시맨틱 데이터, 샘플 질의에 대하여 제1 내지 제n 질의 응답 엔진(QA1,..., QAn)이 제공하는 복수의 샘플 응답들에 기초하여 딥 러닝 네트워크(150)를 학습시킬 수 있다. 일부 실시예들에서, 딥 러닝 제어부(170)는 강화 학습(reinforcement learning; RL)에 기초하여 딥 러닝 네트워크(150)의 학습을 제어할 수 있다. 딥 러닝 제어부(170)에 의한 학습 동작의 예시는 도 5를 참조하여 후술될 것이다.
응답 생성부(190)는 모델 검출부(130)로부터 인덱스(IDX)를 수신할 수 있고, 인덱스(IDX)에 기초하여 제1 내지 제n 질의 응답 엔진(QA1,..., QAn) 중 적어도 하나의 질의 응답 엔진에 질의 입력(Q_IN)을 제공할 수 있고, 적어도 하나의 질의 응답 엔진으로부터 응답(ANS)을 수신할 수 있다. 일부 실시예들에서, 응답 생성부(190)는 질의 입력(Q_IN)을 대신하여 혹은 질의 입력(Q_IN)과 함께 시맨틱 데이터(SEM)를 제1 내지 제n 질의 응답 엔진(QA1,..., QAn) 중 적어도 하나의 질의 응답 엔진에 제공할 수도 있다. 또한, 응답 생성부(190)는 응답(ANS)을 자연어 생성부(40)에 제공할 수 있고, 자연어 생성부(40)에 의해서 응답(ANS)으로부터 생성된 자연어 응답(A_NA)을 수신할 수 있다. 응답 생성부(190)는 자연어 응답(A_NA)으로부터 응답 출력(A_OUT)을 생성하여 사용자 인터페이스(110)를 통해서 사용자(10)에 제공할 수 있다. 일부 실시예들에서, 자연어 생성부(40)는 생략될 수 있고, 응답 생성부(190)는 응답(ANS)에 기초하여, 예컨대 단답형의 응답을 포함하는 응답 출력(A_OUT)을 생성할 수도 있다. 응답 생성부(190)의 동작의 예시가 도 8을 참조하여 후술될 것이다.
제1 내지 제n 질의 응답 엔진(QA1,..., QAn)은 상이한 질의 응답 방식들에 따라 각각 구현될 수 있고, 이에 따라 상이한 특징들을 가질 수 있다. 예를 들면, 제1 질의 응답 엔진(QA1)은 질의-응답 쌍으로 구성된 문서에서 질의와 유사한 질의를 찾고 이에 대응하는 응답을 제공하는 검색 기반 엔진일 수 있다. 이에 따라 제1 질의 응답 엔진(QA1)은 문서 내의 질의와 유사한 질의가 발생하는 경우 응답을 용이하게 검색할 수 있는 한편, 질의에 포함된 문장의 형식, 예컨대 어순이나 표현방식이 변경되는 경우 유효한 응답을 제공하는 것이 용이하지 아니할 수 있다. 제2 질의 응답 엔진(QA2)은 질의와 관련된 문서를, 예컨대 딥 러닝 기술에 기초하여 검색하고, 검색된 문서에서 응답을 검색하도록 구성된 기술 독해 기반 질의 응답 엔진일 수 있다. 이에 따라, 제2 질의 응답 엔진(QA2)은 상대적으로 복잡한 구조의 질의에 대해서도 응답이 가능한 한편, 기계 독해를 위하여 방대한 질의 및 문서가 요구될 수 있다. 제n 질의 응답 엔진(QAn)은 지식 베이스(30)를 참조하여 응답을 제공하도록 구성된 지식 베이스 기반 질의 응답 엔진일 수 있다. 이에 따라, 제n 질의 응답 엔진(QAn)은 문장의 형식뿐만이 아니라 시맨틱 분석에 기초하는 점에서 보다 정확한 응답을 제공할 수 있고 추론을 통한 응답이 가능한 한편, 유용한 지식 베이스(30)의 구축에 좌우되는 성능을 가질 수 있다.
제1 내지 제n 질의 응답 엔진(QA1,..., QAn)의 상이한 특징들에 기인하여, 하나의 질의 응답 엔진이 모든 질의에 대하여 최적의 응답을 제공하는 것이 용이하지 아니할 수 있다. 이에 따라, 다수의 질의 응답 엔진들, 즉 제1 내지 제n 질의 응답 엔진(QA1,..., QAn) 중 질의 입력(Q_IN)에 대한 가장 적합한 응답을 제공하는 질의 응답 엔진에 기초하여 응답 출력(A_OUT)을 생성하는 구조가 요구될 수 있고, 이러한 구조는 앙상블 질의 응답으로 지칭될 수 있다.
앙상블 질의 응답을 위하여, 제1 내지 제n 질의 응답 엔진(QA1,..., QAn) 모두에 질의 입력(Q_IN)을 제공하고, 제1 내지 제n 질의 응답 엔진(QA1,..., QAn)으로부터 수신된 응답들을 평가함으로써(또는 순위를 매김으로써) 최종적으로 응답을 결정하는 응답 평가 방식이 고려될 수 있다. 그러나, 이와 같은 응답 평가 방식은 많은 시간이 소요될 뿐만 아니라 제1 내지 제n 질의 응답 엔진(QA1,..., QAn)을 모두 실행하기 위한 많은 리소스들을 요구할 수 있다. 다른 한편으로, 도 1의 앙상블 질의 응답 시스템(100)은 제1 내지 제n 질의 응답 엔진(QA1,..., QAn) 중 질의 입력(Q_IN)에 가장 적합한 적어도 하나의 질의 응답 엔진을 선택하고, 선택된 적어도 하나의 질의 응답 엔진에 의한 응답에 기초하여 응답 출력(A_OUT)을 생성함으로써, 높은 효율의 앙상블 질의 응답을 달성할 수 있다.
도 2는 본 발명의 예시적 실시예에 따른 자연어 처리부(20')를 나타내는 블록도이다. 도 1을 참조하여 전술된 바와 같이, 자연어 처리부(20')는 질의 입력(Q_IN)을 수신할 수 있고, 지식 베이스(30)를 참조하여 질의 입력(Q_IN)으로부터 시맨틱 데이터(SEM)를 생성할 수 있다. 본원과 동일한 출원인에 의해서 출원되고 본 명세서에 전체로서 참조되어 포함되는, 한국특허출원 제10-2018-0150093호에서 설명된 "자연어 이해부"와 같이, 도 2의 자연어 처리부(20')는 형태소 분석부(21), 구문 분석부(22), 개체명 분석부(23), 필터링 분석부(24), 의도 분석부(25), 도메인 분석부(26) 및 시맨틱 롤 라벨링(Semantic Role Labeling; SRL)부(27)를 포함할 수 있다. 이하에서, 도 2에 대한 설명 중 한국특허출원 제10-2018-0150093호에 설명된 "자연어 이해부"에 대한 내용과 중복되는 내용은 생략될 것이다. 또한, 도 2의 자연어 처리부(20')는 도 1의 자연어 처리부(20)의 일예에 불과하며, 도 1의 자연어 처리부(20)는 도 2의 자연어 처리부(20')와 상이한 구조를 가질 수 있는 점은 이해될 것이다.
형태소 분석부(21)는 질의 입력(Q_IN)을 수신할 수 있다. 형태소 분석부(21)는 어절, 즉 띄어쓰기를 기준으로 나눈 단위를 형태소 단위로 분할할 수 있고, 형태소는 어절을 유의미한 단위로 나눈 단위를 지칭할 수 있다. 예를 들면, 어절 "한국어에서"는 형태소 분석부(21)에 의해서 형태소 "한국어(명사)" 및 형태소 "에서(조사)"로 분할될 수 있다.
구문 분석부(22)는 문장을 형성하는 구성 성분들로 분해하고, 분해된 구성 성분들 사이 관계를 분석함으로써 문장의 구조를 분석할 수 있다. 예를 들면, 문장에 포함된 토큰들은, 용언구, 부사구, 체언구, 감탄사구, 관형사구 등과 같은 구문들 중 하나로 분류될 수 있고, 구문들 각각은 접속어, 체언 수식어, 목적어, 용언 수식어, 독립어, 주어, 보어 등의 기능을 담당할 수 있다.
개체명 분석부(23)는 형태소(예컨대, 명사)를 포괄하는 특정한 의미의 범주, 예컨대 사람, 회사, 지명, 지역, 영화, 날짜, 시간 등을 판정할 수 있다. 예를 들면, 형태소 "서울(명사)"는 범주 "지역"에 포함될 수 있다. 이를 위하여, 개체명 분석부(23)는 지식 베이스(30)에 포함된 지식 데이터를 참조할 수 있다.
필터링 분석부(24)는 형태소 분석부(21)에 의해서 분할된 형태소들 중 일부를 제거함으로써 간결화된 질의 패턴을 생성할 수 있다. 예를 들면, 필터링 분석부(24)는 질의 입력(Q_IN)로부터 분할된 형태소들 중 조사에 대응하는 형태소를 제거함으로써 간결화된 질의 패턴을 생성할 수 있다.
의도 분석부(25)는 질의 입력(Q_IN)의 의미 및 의도를 분석할 수 있다. 예를 들면, 질의 입력(Q_IN)으로서 "내일 서울 날씨 어때?"가 자연어 처리부(20')에 수신된 경우, 의도 분석부(25)는 필터링 분석부(24)로부터 제공된 간결화된 질의 패턴에 기초하여 "날씨 묻기"와 같은 의도를 분석할 수 있다.
도메인 분석부(26)는 질의 입력(Q_IN)이 속하는 분야, 즉 도메인을 분석할 수 있다. 예를 들면, 도메인 분석부(26)는 필터링 분석부(24)로부터 제공되는 간결화된 질의 패턴에 기초하여, 금융, 의료, IT, 정치, 일반상식 등과 같은 다수의 도메인들 중 적어도 하나를 검출할 수 있다.
시맨틱 롤 라벨링부(27)는 이상 분석된 토큰들을 지식 베이스(30)에 포함된 지식들과 맵핑할 수 있다. 예를 들면, 시맨틱 롤 라벨링부(27)는 질의 입력(Q_IN)을 형태소 분석, 구문 분석, 필터링 분석, 의도 분석, 도메인 분석한 결과들에 기초하여, 지식 베이스(30)에서 질의 입력(Q_IN)에 포함된 토큰에 대응하는 지식을 판정하고, 해당 지식, 즉 지식 개체의 고유 식별자를 토큰에 부여함으로써 토큰을 지식과 맵핑할 수 있다. 지식 개체의 고유 식별자는, 예컨대 통합 자원 식별자(Uniform Resource Identifier; URI)일 수 있다. 이에 따라, 시맨틱 데이터(SEM)는 질의 입력(Q_IN)에 포함된 토큰들의 지식 개체의 식별자들을 포함할 수 있다.
도 3은 본 발명의 예시적 실시예에 따라 모델 검출부(130) 및 딥 러닝 제어부(170)를 나타내는 블록도이다. 구체적으로, 도 3의 블록도는 워드 벡터 모델(60)을 참조하여 모델 검출부(130) 및 딥 러닝 제어부(170)가 워드 벡터들을 생성하는 동작의 예시를 나타낸다. 도 1을 참조하여 전술된 바와 같이, 모델 검출부(130)는 도 1의 딥 러닝 네트워크(150)와 통신함으로써 적어도 하나의 질의 응답 엔진을 선택할 수 있고, 딥 러닝 제어부(170)는 도 1의 딥 러닝 네트워크(150)의 학습을 제어할 수 있다. 이하에서, 도 3은 도 1을 참조하여 설명될 것이다.
워드 벡터 모델(60)은, 의미를 가지는 워드(혹은 토큰)가 하나의 좌표, 즉 워드 벡터로 표현되는 다차원 공간, 혹은 워드 벡터들을 포함하고 워드 벡터들을 갱신하는 시스템을 지칭할 수 있다. 의미상 유사한 워드들은 다차원 공간에서 인접하게 배치될 수 있고, 이에 따라 의미상 유사한 워드들에 대응하는 워드 벡터들은 유사한 값들을 가질 수 있다. 전술된 바와 같이, 딥 러닝 네트워크(150)가 질의에 적합한 질의 응답 엔진을 선정하기 위하여, 딥 러닝 네트워크(150)는 각각 의미를 가지는 토큰들에 대응하는 워드 벡터들을 수신할 수 있다. 일부 실시예들에서, 도 1의 앙상블 질의 응답 시스템(100)이 워드 벡터 모델(60)을 포함할 수도 있고, 일부 실시예들에서, 딥 러닝 제어부(170) 및 모델 검출부(130)는 도 1의 앙상블 질의 응답 시스템(100)의 외부에 있는 워드 벡터 모델(60)에 액세스할 수도 있다.
딥 러닝 제어부(170)는 샘플 질의(Q_SA), 샘플 질의(Q_SA)를 자연어 처리함으로써 생성된 샘플 시맨틱 데이터(S_SA) 및 샘플 질의(Q_SA)에 대한 제1 내지 제n 질의 응답 엔진(QA1,..., QAn)의 샘플 응답들(A_SA)을 수신할 수 있고, 워드 벡터 모델(60)을 참조하여 샘플 질의(Q_SA), 샘플 시맨틱 데이터(S_SA) 및 샘플 응답들(A_SA)에 각각 대응하는 샘플 질의 벡터(Q_SA'), 샘플 시맨틱 벡터(S_SA') 및 샘플 응답 벡터들(A_SA')을 출력할 수 있다. 딥 러닝 제어부(170)는 샘플 질의 벡터(Q_SA'), 샘플 시맨틱 벡터(S_SA') 및 샘플 응답 벡터들(A_SA')을 딥 러닝 네트워크(150)에 제공함으로써 딥 러닝 네트워크(150)의 학습을 제어할 수 있고, 이에 대한 예시는 도 5를 참조하여 후술될 것이다. 일부 실시예들에서, 샘플 질의(Q_SA), 샘플 시맨틱 데이터(S_SA) 및 샘플 응답들(A_SA)은 딥 러닝 네트워크(150)의 학습을 위하여 미리 준비될 수도 있고, 일부 실시예들에서 샘플 시맨틱 데이터(S_SA) 및 샘플 응답들(A_SA)은 학습 과정에서 샘플 질의(Q_SA)로부터 자연어 처리부(20) 및 질의 응답 엔진 그룹(50)에 의해서 생성될 수도 있다.
모델 검출부(130)는 질의 입력(Q_IN) 및 시맨틱 데이터(SEM)를 수신할 수 있고, 워드 벡터 모델(60)을 참조하여 질의 입력(Q_IN) 및 시맨틱 데이터(SEM)에 각각 대응하는 질의 입력 벡터(Q_IN') 및 시맨틱 벡터(SEM')를 출력할 수 있다. 모델 검출부(130)는 질의 입력 벡터(Q_IN') 및 시맨틱 벡터(SEM')를 딥 러닝 네트워크(150)에 제공함으로써 딥 러닝 네트워크(150)로부터 적어도 하나의 질의 응답 엔진을 나타내는 인덱스(IDX)를 수신할 수 있다. 일부 실시예들에서, 모델 검출부(130)는 질의 입력(Q_IN)으로부터 질의 입력 벡터(Q_IN')를 생성하기 위하여, 도 1의 자연어 생성부(40)로부터 질의 입력(Q_IN)에 대하여 형태소 분석, 구문 분석, 개체명 분석 및 필터링 분석을 수행된 결과를 수신할 수도 있다.
도 4a, 도 4b 및 도 4c는 본 발명의 예시적 실시예들에 따라 입력 질의에 대한 처리 동작의 예시를 나타내는 도면들이다. 구체적으로, 도 4a는 샘플 질의 벡터(Q_SA') 및/또는 질의 입력 벡터(Q_IN')가 생성되는 예시를 나타내고, 도 4b는 샘플 시맨틱 벡터(S_SA') 및/또는 시맨틱 벡터(SEM')가 생성되는 예시를 나타내며, 도 4c는 샘플 응답 벡터들(A_SA')이 생성되는 예시를 나타낸다. 이하에서, 도 4a 및 도 4b는 질의 입력(Q_IN) 및 그로부터 생성되는 시맨틱 데이터(SEM)를 참조하여 설명될 것이나, 샘플 질의(Q_SA) 및 샘플 시맨틱 데이터(S_SA)에서도 유사하게 적용될 수 있는 점은 이해될 것이다. 이하에서, 도 4a, 도 4b 및 도 4c에 대한 설명 중 상호 중복되는 내용은 생략될 것이며, 도 4a, 도 4b 및 도 4c는 도 1을 참조하여 설명될 것이다.
도 4a를 참조하면, 질의 입력(Q_IN)으로서 "소설 셜록홈즈의 작가는?"이 제공될 수 있고(41a), 질의 입력(Q_IN)은 모델 검출부(130)에 의해서 자연어 처리부(20)에 전달될 수 있다. 자연어 처리부(20)는, 도 2를 참조하여 전술된 바와 같이, 질의 입력(Q_IN)에 대하여 형태소 분석, 구문 분석, 개체명 분석 및 필터링 분석을 수행할 수 있고, 질의 입력(Q_IN)에 포함된 토큰들이 분석될 수 있다. 이에 따라, 질의 입력(Q_IN)의 토큰들에 형태소, 구문 등을 나타내는 태그들이 부가될 수 있다(42a). 그 다음에, 모델 검출부(130)는 태그 및 기호를 제거할 수 있고(43a), 워드 벡터 모델(60)을 참조하여 워드 벡터들, 즉 질의 입력 벡터(Q_IN')를 생성할 수 있다(44a).
도 4b를 참조하면, 질의 입력(Q_IN)으로서 "소설 셜록홈즈의 작가는?"이 제공될 수 있고(41b), 질의 입력(Q_IN)은 모델 검출부(130)에 의해서 자연어 처리부(20)에 전달될 수 있다. 자연어 처리부(20)는, 도 2를 참조하여 전술된 바와 같이, 질의 입력(Q_IN)에 대하여 형태소 분석, 구문 분석, 개체명 분석, 필터링 분석을 수행할 수 있고, 질의 입력(Q_IN)에 포함된 토큰들이 분석될 수 있다. 이에 따라, 질의 입력(Q_IN)의 토큰들에 형태소, 구문 등을 나타내는 태그들이 부가될 수 있다(42b). 그 다음에, 자연어 처리부(20)는 조사 및 기호 등을 제거할 수 있고(43b), 지식 베이스(30)를 검색하여 토큰에 대응하는 지식 개체의 고유 식별자, 예컨대 URI를 획득할 수 있다(44b). 모델 검출부(130)는 토큰들에 대응하는 URI들을 포함하는 시맨틱 데이터(SEM)를 자연어 처리부(20)로부터 수신할 수 있고, 워드 벡터 모델(60)을 참조하여 워드 벡터들, 즉 시맨틱 벡터(SEM')를 생성할 수 있다(45b). 일부 실시에들에서, 지식 베이스(30)의 지식 개체는 자신의 워드 벡터를 포함할 수 있고, 모델 검출부(130)는 토큰에 대응하는 URI를 사용하여 워드 벡터를 획득할 수도 있다.
도 4c를 참조하면, 샘플 질의(Q_SA)로서 "소설 셜록홈즈의 작가는?"에 대하여, 복수의 질의 응답 엔진들로부터 응답들이 생성될 수 있다. 예를 들면, 도 4c에 도시된 바와 같이, 제1 샘플 응답(A_SA1)으로서 "아서 코난 도일"이 획득될 수 있고, 제2 샘플 응답(A_SA2)으로서 "사이먼 킨버그, 안소니 페크험"이 획득될 수도 있으며, 제n 샘플 응답(A_SAn)으로서 "셜록 홈즈는 아서 코난 도일의 추리 소설에 등장하는 주인공이다"가 획득될 수도 있다. 딥 러닝 제어부(170)는 워드 벡터 모델(60)을 참조하여, 제1 샘플 응답(A_SA1), 제2 샘플 응답(A_SA2) 및 제n 샘플 응답(A_SAn)에 대응하는 제1 샘플 응답 벡터(A_SA1'), 제2 샘플 응답 벡터(A_SA2') 및 제n 샘플 응답 벡터(A_SAn')를 생성할 수 있다.
도 5는 본 발명의 예시적 실시예에 따라 딥 러닝 제어부의 동작을 설명하기 위한 블록도이다. 도 1 및 도 3을 참조하여 전술된 바와 같이, 딥 러닝 제어부(170)는 샘플 질의 벡터(Q_SA'), 샘플 시맨틱 벡터(S_SA') 및 샘플 응답 벡터들(A_SA')을 사용하여 딥 러닝 네트워크(150)의 학습을 제어할 수 있다. 이하에서, 도 5는 도 1 및 도 3을 참조하여 설명될 것이다.
딥 러닝 제어부(170)는 강화 학습(reinforcement learning; RL)에 기초하여 딥 러닝 네트워크(150)의 학습을 제어할 수 있다. 강화 학습은 정해진 데이터에 의해서 학습되는 것이 아니므로, 방대한 데이터 및 데이터에 대한 정확한 레이블이 없어도 스스로 경험을 통해서 자율적으로 학습할 수 있는 특징을 가진다. 딥 러닝 제어부(170)는 샘플 질의(Q_SA) 및 샘플 질의(Q_SA)에 대한 자연어 이해 결과, 즉 샘플 시맨틱 데이터(S_SA)를 입력으로 하여 딥 러닝 네트워크(150)가 선택된 질의 응답 엔진을 나타내는 인덱스(IDX)를 출력하도록 하고, 인덱스(IDX)가 적절한 질의 응답 엔진을 나타내는지 여부에 따라 보상(RWD)을 제공할 수 있다.
강화 학습은 환경(environment)에서 정의된 에이전트(agent)가 현재의 상태(sate)를 인식하고, 선택 가능한 행동(action)들 중 보상(reward)을 최대로 하는 행동 혹은 행동 순서를 선택하도록 학습시키는 것을 지칭할 수 있다. 여기서 에이전트는 행동을 취할 수 있는 대상을 지칭할 수 있고, 행동은 에이전트가 취할 수 있는 모든 행동을 지칭할 수 있으며, 환경은 에이전트가 활동할 수 있는 세계를 지칭할 수 있다. 상태는 행동을 취했을 때 에이전트의 상황을 지칭할 수 있고, 보상은 에이전트의 행동에 대한 성공이나 실패를 측정하는 피드백을 지칭할 수 있다. 정책(policy)은 현재 상태를 기준으로 다음 행동을 결정하는데 사용되는 전략을 지칭할 수 있으며, 에이전트는 특정 상태에서 보상을 최대화할 수 있는 행동을 선택할 수 있다.
도 5를 참조하면, 딥 러닝 제어부(170)는 딥 러닝 네트워크(150)의 강화 학습을 위하여 도 5의 상태(STA), 에이전트(AGE), 환경(ENV)을 구현할 수 있다. 상태(STA)는 샘플 질의 벡터(Q_SA'), 샘플 시맨틱 벡터(S_SA') 및 샘플 응답 벡터들(A_SA')일 수 있고, 행동은 복수의 질의 응답 엔진들 중 적어도 하나를 선택하는 것, 즉 인덱스(IDX)의 출력일 수 있고, 보상(RWD)은 선택된 질의 응답 엔진으로 수행한 답변이 정답인 경우 +1, 그렇지 아닌 경우 -1일 수 있으며, 환경(ENV)은 상태(STA)를 관찰할 수 있다. 일부 실시예들에서, 딥 러닝 제어부(170)는 시간-단계(time-step)에 따른 중요도를 반영하기 위하여, 할인 요소(discount factor)에 기초하여 보상을 조절할 수 있다.
도 6은 본 발명의 예시적 실시예에 따른 앙상블 질의 응답을 위한 방법을 나타내는 순서도이다. 일부 실시예들에서, 도 6의 방법은 도 1의 앙상블 질의 응답 시스템(100)에 의해서 수행될 수 있다. 도 6에 도시된 바와 같이, 앙상블 질의 응답을 위한 방법은 복수의 단계들(S20 내지 S70)을 포함할 수 있다. 이하에서, 도 6은 도 1을 참조하여 설명될 것이다.
단계 S20에서, 질의 입력(Q_IN)을 수신하는 동작이 수행될 수 있다. 예를 들면, 사용자(10)로부터 사용자 인터페이스(110)를 통해서 질의 입력(Q_IN)이 수신될 수 있다. 그 다음에 단계 S30에서, 질의 입력(Q_IN)의 시맨틱 데이터(SEM)를 획득하는 동작이 수행될 수 있다. 예를 들면, 모델 검출부(130)는 질의 입력(Q_IN)을 자연어 처리부(20)에 제공할 수 있고, 자연어 처리부(20)는 지식 베이스(30)를 참조하여 질의 입력(Q_IN)을 자연어 처리함으로써 생성된 시맨틱 데이터(SEM)를 생성할 수 있다.
단계 S40에서, 질의 입력(Q_IN) 및 시맨틱 데이터(SEM)를 딥 러닝 네트워크(150)에 제공하는 동작이 수행될 수 있다. 예를 들면, 모델 검출부(130)는 질의 입력(Q_IN) 및 시맨틱 데이터(SEM)로부터 생성된 질의 입력 벡터(Q_IN') 및 시맨틱 벡터(SEM')를 딥 러닝 네트워크(150)에 제공할 수 있다. 그 다음에 단계 S50에서, 질의 응답 엔진의 인덱스(IDX)를 획득하는 동작이 수행될 수 있다. 예를 들면, 모델 검출부(130)는 딥 러닝 네트워크(150)로부터 적어도 하나의 질의 응답 엔진을 나타내는 인덱스(IDX)를 수신할 수 있다.
단계 S60에서, 질의 입력(Q_IN)을 제공하고 응답(ANS)을 수신하는 동작이 수행될 수 있다. 예를 들면, 응답 생성부(190)는 인덱스(IDX)에 대응하는 질의 응답 엔진(QAx)에 질의 입력(Q_IN)을 제공할 수 있고, 질의 응답 엔진(QAx)으로부터 응답(ANS)을 수신할 수 있다. 그 다음에 단계 S70에서, 응답 출력(Q_OUT)을 생성하는 동작이 수행될 수 있다. 예를 들면, 응답 생성부(190)는 단계 S60에서 수신된 응답(ANS)에 기초하여 응답 출력(Q_OUT)을 생성할 수 있고, 응답 출력(Q_OUT)은 사용자 인터페이스(110)를 통해서 사용자(10)에 제공될 수 있다. 단계 S70의 예시는 도 8을 참조하여 후술될 것이다.
도 7은 본 발명의 예시적 실시예에 따른 앙상블 질의 응답을 위한 방법을 나타내는 순서도이다. 구체적으로, 도 7의 순서도는 복수의 질의 응답 엔진들 중 질의에 적합한 질의 응답 엔진을 선택하기 위하여 도 1의 딥 러닝 네트워크(150)를 학습시키는 방법을 나타낸다. 일부 실시예들에서, 도 7의 방법은 도 6의 단계 S20이 수행되기 전에 수행될 수 있고, 반복적으로 수행될 수 있으며, 도 1의 딥 러닝 제어부(170)에 의해서 수행될 수 있다. 도 7에 도시된 바와 같이, 딥 러닝 네트워크(150)를 학습시키는 방법은 단계 S11 및 단계 S12를 포함할 수 있고, 이하에서 도 7은 도 3 및 도 5를 참조하여 설명될 것이다.
단계 S11에서, 샘플 질의(Q_SA), 샘플 시맨틱 데이터(S_SA) 및 샘플 응답들(A_SA)의 워드 벡터들을 획득하는 동작이 수행될 수 있다. 예를 들면, 딥 러닝 제어부(170)는 워드 벡터 모델(60)을 참조하여, 샘플 질의(Q_SA), 샘플 시맨틱 데이터(S_SA) 및 샘플 응답들(A_SA)에 각각 대응하는 샘플 질의 벡터(Q_SA'), 샘플 시맨틱 벡터(S_SA') 및 샘플 응답 벡터들(A_SA')을 생성할 수 있다.
단계 S12에서, 강화 학습에 기초하여 딥 러닝 네트워크(150)를 학습시키는 동작이 수행될 수 있다. 예를 들면, 도 5를 참조하여 전술된 바와 같이, 딥 러닝 제어부(170)는 딥 러닝 네트워크(150)의 강화 학습을 위한 에이전트, 상태, 환경을 구현할 수 있고, 입력, 즉 샘플 질의 벡터(Q_SA'), 샘플 시맨틱 벡터(S_SA') 및 샘플 응답 벡터들(A_SA')에 응답하여 딥 러닝 네트워크(150)가 출력하는 인덱스(IDX)에 기초하여 보상(RWD)을 제공함으로써 딥 러닝 네트워크(150)를 학습시킬 수 있다.
도 8은 본 발명의 예시적 실시예에 따른 앙상블 질의 응답을 위한 방법을 나타내는 순서도이다. 구체적으로, 도 8의 순서도는 도 6의 단계 S70의 예시를 나타낸다. 도 6을 참조하여 전술된 바와 같이, 도 8의 단계 S70'에서, 응답 출력(Q_OUT)을 생성하는 동작이 수행될 수 있다. 도 8에 도시된 바와 같이, 단계 S70'은 단계 S71 및 단계 S72를 포함할 수 있고, 이하에서 도 8은 도 1을 참조하여 설명될 것이다.
단계 S71에서, 2이상의 질의 응답 엔진들에 질의 입력(Q_IN)을 제공하는 동작이 수행될 수 있다. 일부 실시예들에서, 딥 러닝 네트워크(150)는 2이상의 질의 응답 엔진들을 나타내는 인덱스(IDX)를 모델 검출부(130)에 제공할 수 있다. 예를 들면, 딥 러닝 네트워크(150)는 도 1의 제1 내지 제n 질의 응답 엔진(QA1,..., QAn)에 대하여 질의 입력(Q_IN)에 적합한 순서를 나타내는 랭킹 정보를 포함하는 인덱스(IDX)를 모델 검출부(130)에 제고할 수 있다. 모델 검출부(130)는 인덱스(IDX)에 기초하여 미리 정해진 개수의 상위 2이상의 질의 응답 엔진들을 선택할 수 있고, 응답 생성부(190)는 선택된 2이상의 질의 응답 엔진들에 질의 입력(Q_IN)을 제공할 수 있다. 일부 실시예들에서, 도 1을 참조하여 전술된 바와 같이, 응답 생성부(190)는 질의 입력(Q_IN)뿐만 아니라 질의 입력(Q_IN)으로부터 생성된 시맨틱 데이터(SEM)를 2이상의 질의 응답 엔진들에 제공할 수도 있다.
단계 S72에서, 하나의 응답을 선택하는 동작이 수행될 수 있다. 예를 들면, 응답 생성부(190)는 2이상의 질의 응답 엔진들로부터 제공되는 응답들 중 하나를 선택할 수 있다. 일부 실시예들에서, 응답 생성부(190)는 질의 응답 엔진으로부터 응답이 제공되는데 걸리는 시간, 질의 응답 엔진으로부터 제공되는 응답들의 개수, 수신된 응답들 사이 유사도 중 적어도 하나에 기초하여 하나의 응답을 선택할 수 있다. 예를 들면, 응답 생성부(190)는 미리 정의된 시간내에 수신되는 응답을 선택할 수 있고, 해당 시간을 초과한 질의 응답 엔진에 대해서는 응답 생성을 위한 동작을 중단시킬 수 있다. 또한, 응답 생성부(190)는 미리 정해진 개수를 이상의 응답들을 제공하는 질의 응답 엔진은 배제할 수 있다. 또한, 응답 생성부(190)는 복수의 응답들 상호간 유사도들을, 예컨대 도 3의 워드 벡터 모델(60) 및/또는 도 1의 지식 베이스(30)를 참조하여 각각 계산할 수 있고, 미리 정의된 기준 이상의 유사도를 갖는 응답들 중 하나를, 예컨대 인덱스(IDX)의 랭킹, 질의 입력(Q_IN)과의 유사도 등에 기초하여 선택할 수 있다. 이외에도, 응답 생성부(190)는, 본원과 동일한 출원인에 의해서 출원되고 본 명세서에 전체로서 참조되어 포함되는, 한국특허출원 제10-2017-0012965호에서 설명된 "응답 결정부"의 예시된 동작들에 따라 하나의 응답을 선택할 수도 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 발명의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (11)

  1. 사용자로부터 질의 입력을 수신하고 상기 사용자에 응답 출력을 제공하도록 구성된 사용자 인터페이스;
    복수의 질의 응답 엔진들 중 질의에 적합한 적어도 하나의 질의 응답 엔진을 선정하도록 학습된 딥 러닝(deep learning) 네트워크;
    상기 질의 입력 및 상기 질의 입력을 자연어 처리함으로써 생성된 시맨틱(semantic) 데이터를 상기 딥 러닝 네트워크에 제공하고, 복수의 질의 응답 엔진들 중 적어도 하나의 질의 응답 엔진에 대응하는 적어도 하나의 인덱스를 상기 딥 러닝 네트워크로부터 수신하는 모델 검출부; 및
    상기 적어도 하나의 질의 응답 엔진에 상기 질의 입력을 제공하고, 상기 적어도 하나의 응답 엔진으로부터 응답을 수신함으로써 상기 응답 출력을 생성하도록 구성된 응답 생성부를 포함하는 앙상블 질의 응답을 위한 시스템.
  2. 청구항 1에 있어서,
    샘플 질의, 상기 샘플 질의를 자연어 처리함으로써 생성된 샘플 시맨틱 데이터, 상기 샘플 질의에 대하여 상기 복수의 질의 응답 엔진들이 제공하는 복수의 샘플 응답들에 기초하여 상기 딥 러닝 네트워크의 학습을 제어하도록 구성된 딥 러닝 제어부를 더 포함하는 앙상블 질의 응답을 위한 시스템.
  3. 청구항 2에 있어서,
    상기 딥 러닝 제어부는, 상기 샘플 질의 상기 샘플 시맨틱 데이터 및 상기 복수의 샘플 응답들에 대응하는 벡터들을 워드 벡터 모델로부터 획득하고, 상기 벡터들을 상기 딥 러닝 네트워크에 제공하도록 구성된 것을 특징으로 하는 앙상블 질의 응답을 위한 시스템.
  4. 청구항 3에 있어서,
    상기 딥 러닝 제어부는, 강화 학습에 기초하여 상기 딥 러닝 네트워크의 학습을 제어하도록 구성되고,
    상기 강화 학습은, 상기 벡터들을 상태(state)로서 가지고, 상기 복수의 질의 응답 엔진들 중 적어도 하나를 선택하는 것을 행동(action)으로서 가지고, 선택된 적어도 하나의 질의 응답 엔진이 제공하는 응답의 정답 여부를 보상(reward)으로서 가지는 것을 특징으로 하는 앙상블 질의 응답을 위한 시스템.
  5. 청구항 1에 있어서,
    지식 베이스를 참조하여, 상기 질의 입력에 포함된 토큰들에 대응하는 지식 개체들의 식별자들을 포함하는 상기 시맨틱 데이터를 생성하도록 구성된 자연어 처리부를 더 포함하는 앙상블 질의 응답을 위한 시스템.
  6. 청구항 1에 있어서,
    상기 모델 검출부는, 상기 질의 입력 및 상기 시맨틱 데이터에 대응하는 벡터들을 워드 벡터 모델로부터 획득하고, 상기 벡터들을 상기 딥 러닝 네트워크에 제공하도록 구성된 것을 특징으로 하는 앙상블 질의 응답을 위한 시스템.
  7. 청구항 1에 있어서,
    상기 응답 생성부로부터 제공된 응답에 기초하여 자연어 응답을 생성하여 상기 응답 생성부에 제공하도록 구성된 자연어 생성부를 더 포함하는 앙상블 질의 응답을 위한 시스템.
  8. 청구항 1에 있어서,
    상기 응답 생성부는, 상기 적어도 하나의 인덱스에 따라 2이상의 질의 응답 엔진들에 상기 질의 입력을 제공하여 응답들을 수신하고, 수신된 응답들이 제공되는데 걸리는 시간, 수신된 응답들의 개수 및 수신된 응답들 사이 유사도 중 적어도 하나에 기초하여 하나의 응답을 선택하도록 구성된 것을 특징으로 하는 앙상블 질의 응답을 위한 시스템.
  9. 청구항 1에 있어서,
    상기 복수의 질의 응답 엔진들은,
    상기 질의 입력과 유사한 질의를 검색함으로써 응답을 제공하도록 구성된 검색 기반 엔진;
    지식 베이스를 참조하여 응답을 제공하도록 구성된 지식 베이스 기반 엔진; 및
    상기 질의 입력과 관련된 문서를 검색하고, 검색된 문서에서 응답을 검색하도록 구성된 기술 독해 기반 엔진을 포함하는 것을 특징으로 하는 앙상블 질의 응답을 위한 시스템.
  10. 사용자로부터 질의 입력을 수신하는 단계;
    상기 질의 입력을 자연어 처리함으로써 생성된 시맨틱 데이터를 획득하는 단계;
    복수의 질의 응답 엔진들 중 질의에 적합한 적어도 하나의 질의 엔진을 선정하도록 학습된 딥 러닝 네트워크에 상기 질의 입력 및 상기 시맨틱 데이터를 제공하는 단계;
    상기 딥 러닝 네트워크로부터 수신된 인덱스에 대응하는 적어도 하나의 질의 응답 엔진으로부터 응답을 수신하는 단계; 및
    수신된 상기 응답에 기초하여 응답 출력을 생성하여 상기 사용자에 제공하는 단계를 포함하는 앙상블 질의 응답을 위한 방법.
  11. 청구항 10에 있어서,
    강화 학습에 기초하여, 샘플 질의, 상기 샘플 질의를 자연어 처리함으로써 생성된 샘플 시맨틱 데이터, 상기 샘플 질의에 대하여 상기 복수의 질의 응답 엔진들이 제공하는 복수의 샘플 응답들을 사용하여 상기 딥 러닝 네트워크를 학습시키는 단계를 더 포함하는 앙상블 질의 응답을 위한 방법.
KR1020190111550A 2019-09-09 2019-09-09 앙상블 질의 응답을 위한 시스템 및 방법 KR102259390B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190111550A KR102259390B1 (ko) 2019-09-09 2019-09-09 앙상블 질의 응답을 위한 시스템 및 방법
US17/641,385 US20220343082A1 (en) 2019-09-09 2019-10-17 System and method for ensemble question answering
PCT/KR2019/013642 WO2021049706A1 (ko) 2019-09-09 2019-10-17 앙상블 질의 응답을 위한 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190111550A KR102259390B1 (ko) 2019-09-09 2019-09-09 앙상블 질의 응답을 위한 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20210030068A true KR20210030068A (ko) 2021-03-17
KR102259390B1 KR102259390B1 (ko) 2021-06-02

Family

ID=74865757

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190111550A KR102259390B1 (ko) 2019-09-09 2019-09-09 앙상블 질의 응답을 위한 시스템 및 방법

Country Status (3)

Country Link
US (1) US20220343082A1 (ko)
KR (1) KR102259390B1 (ko)
WO (1) WO2021049706A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102464333B1 (ko) * 2022-03-16 2022-11-09 한국원자력연구원 방사능 재난 대응 처리 방법 및 장치

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11531818B2 (en) * 2019-11-15 2022-12-20 42 Maru Inc. Device and method for machine reading comprehension question and answer
US11875119B2 (en) * 2020-02-19 2024-01-16 Korea Advanced Institute Of Science And Technology Memory-based reinforcement learning method for storing optional information in streaming data and system therefore
KR20230008509A (ko) 2021-07-07 2023-01-16 한국전력공사 다국어 질문 자동 생성 시스템 및 방법
WO2024015252A1 (en) * 2022-07-11 2024-01-18 Pryon Incorporated Supervised summarization and structuring of unstructured documents
CN116610776A (zh) * 2022-12-30 2023-08-18 摩斯智联科技有限公司 车联网智能问答系统
CN116028613B (zh) * 2023-03-29 2023-06-20 上海数字大脑科技研究院有限公司 常识问答方法、系统、计算机设备和存储介质
CN116431316B (zh) * 2023-06-06 2023-11-14 阿里巴巴(中国)有限公司 任务处理方法、系统、平台及自动问答方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170053023A (ko) * 2015-11-05 2017-05-15 주식회사 나눔기술 지능형 분산처리 시스템 및 방법
KR20180108400A (ko) * 2017-03-23 2018-10-04 삼성전자주식회사 전자 장치, 그의 제어 방법 및 비일시적 컴퓨터 판독가능 기록매체
KR20190062413A (ko) * 2016-10-05 2019-06-05 코쿠리츠켄큐카이하츠호진 죠호츠신켄큐키코 인과 관계 인식 장치 및 그것을 위한 컴퓨터 프로그램
US20190243900A1 (en) * 2017-03-03 2019-08-08 Tencent Technology (Shenzhen) Company Limited Automatic questioning and answering processing method and automatic questioning and answering system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102094934B1 (ko) * 2014-11-19 2020-03-31 한국전자통신연구원 자연어 질의 응답 시스템 및 방법
KR101916174B1 (ko) * 2016-08-22 2018-11-07 최준영 기계 학습 기반으로 언어를 처리하는 방법 및 장치
US11580350B2 (en) * 2016-12-21 2023-02-14 Microsoft Technology Licensing, Llc Systems and methods for an emotionally intelligent chat bot
KR102034646B1 (ko) * 2017-12-20 2019-10-22 주식회사 솔트룩스 복수의 질의 응답 모듈을 가지는 자동 질의 응답 시스템
KR102034647B1 (ko) * 2017-12-22 2019-10-22 주식회사 솔트룩스 복수의 질의 응답 모듈을 가지는 자동 질의 응답 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170053023A (ko) * 2015-11-05 2017-05-15 주식회사 나눔기술 지능형 분산처리 시스템 및 방법
KR20190062413A (ko) * 2016-10-05 2019-06-05 코쿠리츠켄큐카이하츠호진 죠호츠신켄큐키코 인과 관계 인식 장치 및 그것을 위한 컴퓨터 프로그램
US20190243900A1 (en) * 2017-03-03 2019-08-08 Tencent Technology (Shenzhen) Company Limited Automatic questioning and answering processing method and automatic questioning and answering system
KR20180108400A (ko) * 2017-03-23 2018-10-04 삼성전자주식회사 전자 장치, 그의 제어 방법 및 비일시적 컴퓨터 판독가능 기록매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
권순재 외 3인. 다중 기계학습 방법을 이용한 한국어 커뮤니티 기반 질의-응답 시스템. 정보과학회논문지 43(10), 2016.10, 1085-1093페이지. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102464333B1 (ko) * 2022-03-16 2022-11-09 한국원자력연구원 방사능 재난 대응 처리 방법 및 장치

Also Published As

Publication number Publication date
WO2021049706A1 (ko) 2021-03-18
KR102259390B1 (ko) 2021-06-02
US20220343082A1 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
KR102259390B1 (ko) 앙상블 질의 응답을 위한 시스템 및 방법
US10824658B2 (en) Implicit dialog approach for creating conversational access to web content
JP6414956B2 (ja) 質問文生成装置及びコンピュータプログラム
US20200042649A1 (en) Implicit dialog approach operating a conversational access interface to web content
US9607035B2 (en) Extensible validation framework for question and answer systems
JP7232831B2 (ja) 複雑な回答の補強証拠取り出し
CN106776532B (zh) 一种知识问答方法及装置
Damljanović et al. Improving habitability of natural language interfaces for querying ontologies with feedback and clarification dialogues
Park et al. Systematic review on chatbot techniques and applications
CN112685550B (zh) 智能问答方法、装置、服务器及计算机可读存储介质
Stancheva et al. A model for generation of test questions
Atapattu et al. Automated extraction of semantic concepts from semi-structured data: Supporting computer-based education through the analysis of lecture notes
Goh et al. A black-box approach for response quality evaluation of conversational agent systems
Huo RETRACTED ARTICLE: Analysis of intelligent evaluation algorithm based on english diagnostic system
Ciravegna et al. LODIE: Linked Open Data for Web-scale Information Extraction.
Damljanovic Natural language interfaces to conceptual models
Riza et al. Natural language processing and levenshtein distance for generating error identification typed questions on TOEFL
Tanwar et al. An effective reasoning algorithm for question answering system
Talita et al. Challenges in building domain ontology for minority languages
Gorenjak et al. A question answering system on domain specific knowledge with semantic web support
Effenberger Automatic question generation and adaptive practice
Clark et al. Constructing a textual kb from a biology textbook
Yuan et al. Robustness analysis on natural language processing based AI Q&A robots
Prajapati et al. Semantic network based cognitive, NLP powered question answering system for teaching electrical motor concepts
US11106717B2 (en) Automatic identification and clustering of patterns

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant