KR20190074828A - Automatic Question-Answering system having mutiple Question-Answering modules - Google Patents
Automatic Question-Answering system having mutiple Question-Answering modules Download PDFInfo
- Publication number
- KR20190074828A KR20190074828A KR1020170176480A KR20170176480A KR20190074828A KR 20190074828 A KR20190074828 A KR 20190074828A KR 1020170176480 A KR1020170176480 A KR 1020170176480A KR 20170176480 A KR20170176480 A KR 20170176480A KR 20190074828 A KR20190074828 A KR 20190074828A
- Authority
- KR
- South Korea
- Prior art keywords
- query
- module
- modules
- unit
- question
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G06F17/2755—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Abstract
Description
본 발명은 자동 질의 응답 시스템에 관한 것으로, 자세하게는 복수의 질의 응답(QA, Question-Answering) 모듈을 가지는 자동 질의 응답 시스템에 관한 것이다. The present invention relates to an automatic query response system, and more particularly to an automatic query response system having a plurality of QA (Question-Answering) modules.
본 발명은 과학기술정보통신부 SW컴퓨팅산업원천기술개발사업(SW)의 일환으로 (주)솔트룩스에서 주관하고 연구하여 수행된 연구로부터 도출된 것이다. [연구기간: 2017.03.01~2017.12.31, 연구관리 전문기관: 정보통신기술진흥센터, 연구과제명: WiseKB: 빅데이터 이해 기반 자가학습형 지식베이스 및 추론 기술 개발, 과제 고유번호: 2013-0-00109]The present invention is derived from research conducted and conducted by Saltlux Co., Ltd. as part of SW Technology Computing Industry Source Technology Development (SW) of Ministry of Science, Technology and Information. [Research period: 2017.03.01 ~ 2017.12.31] Research institute: Information and Communication Technology Promotion Center, Research title: WiseKB: Big data understanding based self-learning knowledge base and inference technology development, task number: 2013-0 -00109]
자동 질의 응답 시스템은 사용자의 질의에 대한 응답을 하기 위한 시스템으로, 사용자의 질의를 분석하여, 이에 대한 응답을 사용자에게 제공할 수 있다. 반면, 사용자의 다양한 질의에 대한 응답을 하기 위하여, 독자적으로 질의 응답을 수행할 수 있는 복수의 QA 모듈을 가지거나, 복수의 QA 모듈과 연결되는 자동 질의 응답 시스템이 요구되고 있다. The automatic question-and-answer system is a system for responding to a user's query, and can analyze the user's query and provide a response to the user. On the other hand, in order to respond to various queries of the user, there is a demand for an automatic question and answer system having a plurality of QA modules capable of performing a query response independently or connected to a plurality of QA modules.
그러나 복수의 QA 모듈을 가지거나 복수의 QA 모듈과 연결되는 자동 질의 응답 시스템은, 복수의 QA 모듈 각각이 독자적으로 질의 응답을 수행하므로, 복수의 QA 모듈 모두로부터 응답을 얻는 속도가 증가하고, 얻어진 응답에 대하여 랭킹을 하는데에 어려움이 있다. However, in the automatic question and answer system having a plurality of QA modules or connected to a plurality of QA modules, since each of the plurality of QA modules independently performs a query response, the speed of obtaining a response from all of the plurality of QA modules increases, There is a difficulty ranking in response.
본 발명의 기술적 과제는, 빠르게 정확한 질의 응답을 할 수 있는 자동 질의 응답 시스템을 제공하는 것이다. SUMMARY OF THE INVENTION It is an object of the present invention to provide an automatic question and answer system capable of quickly and accurately responding to queries.
상기 기술적 과제를 달성하기 위한 본 발명의 기술적 사상의 일측면에 따른 자동 질의 응답 시스템은 네트워크를 통하여 자연어 형태인 사용자의 질의를 사용자로부터 수신하고 응답을 송신하는 유저 인터페이스; 질의 응답을 수행할 수 있는 복수의 질의 응답(QA) 모듈을 가지는 적어도 하나의 모듈 서버; 상기 질의에 대한 자연어 분석을 수행하는 질의 분석부; 상기 질의의 자연어 분석 결과를 기초로 상기 복수의 QA 모듈 중 일부 개를 선택하는 모듈 선택 실행부; 및 상기 질의에 대한 상기 응답을 상기 유저 인터페이스를 통하여 상기 사용자에게 제공하는 질의 응답 결과 통합부;를 포함하며, 상기 모듈 선택 실행부는, 상기 질의의 자연어 분석 결과를 제공받아, 상기 질의에 대한 상기 복수의 QA 모듈별 질의 동작 적합도를 학습을 통해 예측하는 질의 응답 동작 예측부; 상기 복수의 QA 모듈별로 설정된 질의 응답 커버리지와 상기 질의 동작 적합도를 함께 참조하여, 상기 복수의 QA 모듈 중 일부 개를 선택하는 질의 응답 모듈 선택부; 및 상기 복수의 QA 모듈 중 상기 질의 응답 모듈 선택부에서 선택된 일부 개에 상기 질의의 자연어 분석 결과를 제공하여, 질의 응답을 수행하도록 하는 질의 응답 모듈 실행부;를 포함한다. According to an aspect of the present invention, there is provided an automatic query response system including: a user interface for receiving a user query in a natural language form through a network and transmitting a response; At least one module server having a plurality of QA modules capable of performing a query response; A query analyzer for performing a natural language analysis on the query; A module selection execution unit for selecting some of the plurality of QA modules based on a natural language analysis result of the query; And a query response result integration unit for providing the response to the query to the user through the user interface, wherein the module selection execution unit receives the natural language analysis result of the query, A query response operation predicting unit for predicting a query operation fitness of each QA module through learning; A query response module selection unit for selecting some of the plurality of QA modules with reference to the query response coverage set for each of the plurality of QA modules and the query operation suitability; And a query response module execution unit for providing a natural language analysis result of the query to some of the plurality of QA modules selected by the query response module selection unit to perform a query response.
본 발명에 따른 자동 질의 응답 시스템은, 복수의 QA 모듈 중 질의에 적합한 일부 개의 QA 모듈만을 선택하여 질의 응답을 수행하므로, 질의 응답 수행 및 응답 생성 과정 각각에서 부하를 최소화하고 시간을 단축하면서, 동시에 정확한 응답을 사용자에게 제공할 수 있다. The automatic query response system according to the present invention selects only a part of QA modules suitable for a query among a plurality of QA modules and performs a query response, so that the load is minimized and the time is shortened in both the query response execution and the response generation process, An accurate response can be provided to the user.
도 1은 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템을 나타내는 블록도이다.
도 2는 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템의 질의 분석부의 동작을 설명하기 위한 블록도이다.
도 3은 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템의 모듈 선택 실행부의 동작을 설명하기 위한 블록도이다.
도 4는 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템의 질의 응답 동작 예측부 및 질의 응답 모듈 선택부의 동작을 설명하기 위한 블록도이다.
도 5는 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템을 나타내는 블록도이다.
도 6은 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템의 도메인 모듈 서버와 도메인 DB부를 상세히 나타내는 블록도이다.
도 7은 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템의 플러그인 모듈 서버를 상세히 나타내는 블록도이다.
도 8은 본 발명의 예시적 실시 예에 따른 외부 서비스 모듈 서브와 이에 연결되는 외부 서비스/DB를 상세히 나타내는 블록도이다.1 is a block diagram illustrating an automatic question-and-answer system in accordance with an exemplary embodiment of the present invention.
2 is a block diagram illustrating an operation of a query analyzing unit of an automatic question-answering system according to an exemplary embodiment of the present invention.
3 is a block diagram illustrating the operation of the module selection execution unit of the automatic question answering system according to an exemplary embodiment of the present invention.
4 is a block diagram for explaining the operation of the query response operation predicting unit and the query response module selecting unit of the automatic question and answer system according to the exemplary embodiment of the present invention.
5 is a block diagram illustrating an automated query response system in accordance with an exemplary embodiment of the present invention.
6 is a detailed block diagram illustrating a domain module server and a domain DB unit of the automatic question and answer system according to an exemplary embodiment of the present invention.
7 is a block diagram illustrating the plug-in module server of the automatic question-answering system according to an exemplary embodiment of the present invention in detail.
8 is a block diagram illustrating in detail an external service module sub and an external service / DB coupled thereto according to an exemplary embodiment of the present invention.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Embodiments of the present invention are provided to more fully describe the present invention to those skilled in the art. The present invention is capable of various modifications and various forms, and specific embodiments are illustrated and described in detail in the drawings. It should be understood, however, that the invention is not intended to be limited to the particular forms disclosed, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for similar elements in describing each drawing. In the accompanying drawings, the dimensions of the structures are enlarged or reduced from the actual dimensions for the sake of clarity of the present invention.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprises", "having", and the like are used to specify that a feature, a number, a step, an operation, an element, a part or a combination thereof is described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be construed to have meanings consistent with the contextual meanings of the related art and are not to be construed as ideal or overly formal meanings as are expressly defined in the present application .
이하 도면 및 설명에서, 하나의 블록으로 표시 또는 설명되는 구성요소는 하드웨어 블록 또는 소프트웨어 블록일 수 있다. 예를 들면, 구성요소들 각각은 서로 신호를 주고 받는 독립적인 하드웨어 블록일 수도 있고, 또는 하나의 프로세서에서 실행되는 소프트웨어 블록일 수도 있다.In the drawings and the description below, the components indicated or described as one block may be a hardware block or a software block. For example, each of the components may be an independent hardware block that sends and receives signals to each other, or may be a software block that executes on one processor.
본 발명의 구성 및 효과를 충분히 이해하기 위하여, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예들을 설명한다. In order to fully understand the structure and effects of the present invention, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
도 1은 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템을 나타내는 블록도이다.1 is a block diagram illustrating an automatic question-and-answer system in accordance with an exemplary embodiment of the present invention.
도 1을 참조하면, 자동 질의 응답 시스템(1)은 네트워크(20)를 통하여 사용자(10)로부터 질의를 수신하고, 응답을 송신하는 유저 인터페이스(UI, 100)를 포함한다. 네트워크(20)는 유선 인터넷 서비스, 근거리 통신망(LAN), 광대역 통신망(WAN), 인트라넷, 무선 인터넷 서비스, 이동 컴퓨팅 서비스, 무선 데이터 통신 서비스, 무선 인터넷 접속 서비스, 위성 통신 서비스, 무선 랜, 블루투스 등 유/무선을 통하여 데이터를 주고 받을 수 있는 것을 모두 포함할 수 있다. 네트워크(20)이 스마트폰 또는 태블릿 등과 연결되는 경우, 네트워크(20)은 3G, 4G, 5G 등의 무선 데이터 통신 서비스, 와이파이(Wi-Fi) 등의 무선 랜, 블루투스 등일 수 있다. Referring to Figure 1, an automatic question and
유저 인터페이스(100)는 사용자(10)가 사용하는 단말기 등을 통하여 자동 질의 응답 시스템(1)에 엑세스하기 위한 인터페이스를 제공할 수 있다. 사용자(10)는 유저 인터페이스(100)를 통하여 자동 질의 응답 시스템(1)에 질의를 전송할 수 있고, 유저 인터페이스(100)를 통하여 자동 질의 응답 시스템(1)의 제공하는 질의에 대한 응답을 수신할 수 있다. The
자동 질의 응답 시스템(1)은 유저 인터페이스(100)와 연결되어 사용자(10)로부터 질의를 전달받고, 응답을 결정하여 유저 인터페이스(100)를 통하여 사용자(10)에게 응답을 전달하는 질의 응답 관리자(200)를 포함한다. 또한 질의 응답 관리(200)에 의하여 자동 질의 응답 시스템(1)이 포함하는 구성 요소들을 제어할 수 있다. The automatic question and
자동 질의 응답 시스템(1)은 질의 응답 관리자(200)가 전달받은 자연어 형태의 질의를 분석할 수 있도록 하는 자연어 이해부(300), 자연어 이해부(300)를 참조하여 분석된 질의를 질의 응답 관리자(200)로부터 전달받아 질의에 대한 응답을 각각 제공할 수 있는 복수의 모듈(510, 520, 530, 540, 610, 620, 630, 710, 720, 730)을 가지는 모듈 서버(500, 600, 700)를 더 포함할 수 있다. The automatic question-
예를 들면, 모듈 서브(500, 600, 700)는 도메인 모듈 서버(500), 플러그인 모듈 서버(600) 및 외부 서비스 모듈 서버(700) 중 적어도 하나를 포함할 수 있다. 예를 들면 복수의 모듈(510, 520, 530, 540, 610, 620, 630, 710, 720, 730)은 복수의 도메인 모듈(510, 520, 530, 540), 복수의 플러그인 모듈(610, 620, 630), 복수의 API 모듈(710, 720, 730) 중 적어도 일부 개를 포함할 수 있다. 일부 실시 예에서, 복수의 도메인 모듈(510, 520, 530, 540)은 제1 도메인 모듈(510), 제2 도메인 모듈(520), 제3 도메인 모듈(530), 및 제4 도메인 모듈(540)을 포함하고, 복수의 플러그인 모듈(610, 620, 630)은 제1 플러그인 모듈(610) 제2 플러그인 모듈(620), 및 제3 플러그인 모듈(630)을 포함하고, 복수의 API 모듈(710, 720, 730)은 제1 API 모듈(710), 제2 API 모듈(720), 및 제3 API 모듈(73)을 포함할 수 있으나, 모듈의 개수는 이에 한정되지 않는다. For example, the
본 명세서에서 "모듈"이란, QA 모듈을 의미하는 것으로, 불특정 다수의 정보를 선택하고 조합하여 주어진 문제의 시간과 공간에 적합한 해결책으로 활용이 가능한 것인 지식, 또는 지식을 구현하기 위하여 필요한 개체들 및 이들 사이의 관계를 가지고 있는 데이터인 지식데이터가 축적된 지식베이스(knowledge base)를 참조하여 QA(질의 응답)를 독자적으로 수행할 수 있는 도메인 모듈, 수학연산, 단위변환 등과 같이 지식베이스를 참조하지 않고 자체적으로 QA를 수행할 수 있도록 구성되어 자동 질의 응답 시스템(1)에 선택적으로 탑재될 수 있는 플러그인 모듈, QA를 제공할 수 있는 외부 서비스와 연결시켜줄 수 API(application programming interface)를 가지는 API 모듈을 의미한다. 각 QA 모듈은 도메인 모듈, 플러그인 모듈, 또는 API 모듈 중 어느 하나일 수 있다. 예를 들면, QA 모듈은 지식 베이스 기반 QA 모듈인 도메인 모듈, 수학연산 플러그인, 단위변환 플러그인, 시간날짜 플러그인과 같은 플러그인 모듈, 지리날씨 서비스, 환율변환 서비스, 검색 서비스 등 QA 모듈, 날씨 QA 모듈, 환율 QA 모듈, DB기반 QA 모듈, 검색기반 QA 모듈 등과 연결할 수 있는 API 모듈일 수 있다. The term "module" as used herein means a QA module. It is a module that selects and combines an unspecified number of pieces of information to form a knowledge or knowledge that can be utilized as a suitable solution for a given time and space. And a knowledge base such as a domain module, a mathematical operation, a unit conversion, and the like, which can independently perform a QA (query response) by referring to a knowledge base in which knowledge data is stored, A plug-in module that can be selectively loaded in the automatic question and
즉, 도메인 모듈, 플러그인 모듈, 및 API 모듈은 각각이 독립적으로 자동 질의 응답 시스템(1) 내에서 QA를 수행할 수 있도록 구성된 것들을 의미한다. 또한 본 명세서에서는 설명의 편의를 위하여, 복수의 도메인 모듈(510, 520, 530, 540)을 관리하는 도메인 모듈 서버(500), 복수의 플러그인 모듈(610, 620, 630)을 관리하는 플러그인 모듈 서버(600), 및 복수의 API 모듈(710, 720, 730)을 관리하는 외부 서비스 모듈 서버(700)가 독자적으로 구비된 것으로 도시되었으나, 이에 한정되지 않으며, 복수의 도메인 모듈(510, 520, 530, 540), 복수의 플러그인 모듈(610, 620, 630) 및 복수의 API 모듈(710, 720, 730)을 관리하는 하나의 모듈 서버가 구비되거나, 복수의 도메인 모듈(510, 520, 530, 540), 복수의 플러그인 모듈(610, 620, 630) 및 복수의 API 모듈(710, 720, 730) 중 서로 다른 일부개의 모듈을 관리하는 2개 이상의 모듈 서버가 구비될 수도 있다. That is, the domain module, the plug-in module, and the API module are configured so that they can independently perform the QA in the automatic question-and-
본 명세서에서, "응답"이란, 사용자(10)의 질의에 대하여 자동 질의 응답 시스템(1)이 제공하는 결과물, 예컨대, 사용자(10)의 질의라는 질문에 대한 정답, 또는 복수의 도메인 모듈(510, 520, 530, 540), 복수의 플러그인 모듈(610, 620, 630) 및 복수의 API 모듈(710, 720, 730) 각각에서 제공하는 분석 결과, 예컨태, 사용자(10)의 질의라는 질문에 대한 복수의 도메인 모듈(510, 520, 530, 540), 복수의 플러그인 모듈(610, 620, 630) 및 복수의 API 모듈(710, 720, 730) 각각이 가답안을 의미할 수도 있다. 다만, 사용자(10)의 질의에 대한 정답인 자동 질의 응답 시스템(1)의 "응답"과 구분하기 위하여, 복수의 도메인 모듈(510, 520, 530, 540), 복수의 플러그인 모듈(610, 620, 630) 및 복수의 API 모듈(710, 720, 730) 각각이 가답안은 "답변"이라고 호칭할 수도 있다. In this specification, the term "response" refers to an answer provided by the automatic question and
자동 질의 응답 시스템(1)은 자연어 생성부(400)를 더 포함하여, 질의 응답 관리자(200)가 사용자(10)에게 자연어 형태의 응답을 제공하도록 할 수 있다. The automatic question and
즉, 자동 질의 응답 시스템(1)은, 자연어 형태인 사용자(10)의 질의에 대하여 자연어 이해부(300)를 참조하여 질의 분석부(210)에서 분석한 후, 이를 토대로 복수의 도메인 모듈(510, 520, 530, 540), 복수의 플러그인 모듈(610, 620, 630) 및 복수의 API 모듈(710, 720, 730) 중 일부개의 모듈에서 분석하고, 그 분석 결과를 자연어 생성부(400)의 도움을 받아 질의 응답 관리자(200)에서 자연어 형태인 응답으로 생성하여 사용자(10)에게 제공할 수 있다. That is, the automatic question-
질의 응답 관리자(200)는 질의 분석부(210), 모듈 선택 실행부(220), 및 질의 응답 결과 통합부(230)를 포함한다. 질의 분석부(210)는 자연어 이해부(300)를 참조하여 사용자(10)의 질의에 대한 자연어 분석을 수행할 수 있다. The
예를 들면, 자연어 이해부(300)는 질의에 대하여, 시맨틱 롤 라벨링(Semantic Role Labeling), 형태소 분석, 구문 분석, 개체명 분석, 필터링 분석, 의도 분류, 및 도메인 분석 등의 복수의 단위 분석 과정을 수행할 수 있다. 상기 복수의 단위 분석 과정 중 일부는 병렬적으로 수행될 수 있다. 상기 복수의 단위 분석 과정 중 일부는 순차적으로 수행될 수 있다. For example, the natural language understanding
일부 실시 예에서, 자연어 이해부(300)는 질의에 대한 자연어 분석 결과를 테이블(table) 구조 또는 트리(tree) 구조를 가지는 정형 데이터로 제공하도록 할 수 있다. 자연어 이해부(300)에 의하여 제공될 수 있는 정형 데이터는 예를 들면, RDB(Relation DateBase), CSV(Comma-Seperated Variables), XML(eXtensible Markup Language), JSON(JavaScript Object Notation) 등일 수 있으나, 이에 한정되지 않는다. In some embodiments, the natural language understanding
질의 분석부(210)는 자연어 이해부(300)에서 수행되는 시맨틱 롤 라벨링, 형태소 분석, 구문 분석, 개체명 분석, 필터링 분석, 의도 분류, 및 도메인 분석 등의 복수의 단위 분석 과정 중 적어도 일부를 수행하도록 하여, 질의에 대한 자연어 분석 결과를 생성할 수 있다. 또한 질의 분석부(210)는 질의에 대한 자연어 분석 결과를 모듈 선택 실행부(220)로 전달할 수 있다. The
모듈 선택 실행부(220)는 질의에 대한 자연어 분석 결과를 참조하여, 복수의 모듈(510, 520, 530, 540, 610, 620, 630, 710, 720, 730) 중 일부 개를 선택하여 QA를 수행하도록 실행할 수 있다. 즉, 모듈 선택 실행부(220)는 자동 질의 응답 시스템(1)이 가지거나 연결할 수 있는 복수의 모듈(510, 520, 530, 540, 610, 620, 630, 710, 720, 730) 중 질의에 대한 자연어 분석 결과를 참조하여 선택된 일부 개의 모듈에서만 QA를 수행하도록 할 수 있다. The module
따라서 복수의 모듈(510, 520, 530, 540, 610, 620, 630, 710, 720, 730) 중 적합한 일부 개의 모듈에서만 QA를 수행할 수 있어 자동 질의 응답 시스템(1)의 부하가 최소화되어 사용자(10)의 질의에 대한 응답을 구하는 시간이 단축될 수 있다. Therefore, QA can be performed only by a suitable one of the plurality of
모듈 선택 실행부(220)는 복수의 모듈(510, 520, 530, 540, 610, 620, 630, 710, 720, 730) 중 선택된 일부 개의 모듈에서 수행된 QA 결과를 수신한 후, 질의 응답 결과 통합부(230)에 전달할 수 있다. The module
질의 응답 결과 통합부(230)는 선택된 일부 개의 모듈에서 수행된 QA 결과를 통합하여 사용자(10)에게 유저 인터페이스(100)를 통하여 응답을 제공할 수 있다. 질의 응답 결과 통합부(230)는 자연어 생성부(400)를 참조하여, 자연어 형태로 응답을 사용자(10)에게 제공할 수 있다. The query response
모듈 선택 실행부(220)에서 사용자(10)의 질의에 적합한 일부 개의 모듈만을 선택하여 QA를 수행할 수 있다. 따라서, 일부 실시 예에서 질의 응답 결과 통합부(230)는 선택된 일부 개의 모듈에서 수행된 QA 결과를 그대로 자연어 생성부(400)를 참조하여 자연어 형태로 생성한 후, 사용자(10)에게 유저 인터페이스(100)를 통하여 응답을 제공할 수 있다. 또는 일부 실시 예에서, 질의 응답 결과 통합부(230)는 선택된 일부 개의 모듈에서 수행된 QA 결과에 대한 랭킹을 정한 후, 랭킹이 높은 결과를 선정하여 사용자(10)에게 유저 인터페이스(100)를 통하여 응답을 제공할 수 있다. 일부 실시 예에서, 질의 응답 결과 통합부(230)는 선택된 일부 개의 모듈에서 수행된 QA 결과 중 유사성이 높은 결과가 2개 이상이 수신되는 경우, 해당 답변을 응답으로 선정하여 유저 인터페이스(100)를 통하여 사용자(10)에게 제공할 수 있다. The module
이와 같은 본 발명의 일 실시 예에 따른 자동 질의 응답 시스템(1)은 QA 수행 및 응답 생성 과정 각각에서, 부하를 최소화하고 시간을 단축하면서, 동시에 정확한 응답을 사용자(10)에게 제공할 수 있다. The automatic
도 2는 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템의 질의 분석부의 동작을 설명하기 위한 블록도이다.2 is a block diagram illustrating an operation of a query analyzing unit of an automatic question-answering system according to an exemplary embodiment of the present invention.
도 2를 참조하면, 질의 분석부(210)는 자연어 이해부(300)를 참조하여, 사용자(도 1의 10 참조)의 질의에 대한 자연어 분석을 수행할 수 있다. 질의 분석부(210)는 독자적으로 자연어 이해부(300)를 참조하여 질의에 대한 자연어 분석을 수행할 수도 있고, 자연어 이해부(300)에서 자연어 분석을 수행하도록 한 후 그 결과를 관리할 수도 있다. Referring to FIG. 2, the
자연어 이해부(300)는 시맨틱 롤 라벨링부(SRL, 310), 형태소 분석부(320), 구문 분석부(330), 개체명 분석부(340), 필터링 분석부(350), 의도 분류부(360) 및 도메인 분석부(370)를 포함할 수 있다. 시맨틱 롤 라벨링부(310)는 질의에 대한 의미 역할(Semantic Role)을 부여할 수 있다. 형태소 분석부(320)는 의미 역할이 부여된 질의를 형태소 단위로 분리할 수 있다. 구문 분석부(330) 및 개체명 분석부(340)는 각각 형태소 단위로 분리된 질의에 구문 분석 및 개체명 분석을 할 수 있다. 필터링 분석부(350)는 질의에 포함된 불필요한 피쳐(feature)를 제거하여 간결화된 질문 패턴을 생성할 수 있다. 의도 분류부(360) 및 도메인 분석부(370)는 필터링 분석부(350)에서 생성한 간결화된 질문 패턴을 기초로 의미 역할이 부여된 질의의 의도(intention) 분류 및 도메인 분석을 할 수 있다. The natural
일부 실시 예에서 자연어 이해부(300)는 어학 사전 정보(800)를 참조하여, 형태소 분석부(320)에서 분리된 형태소에 어깨 번호를 부여할 수 있다. 구체적으로, 의도 분류부(360)는 어학 사전 정보(800)를 참조하여, 동음이의어의 의미를 구분하는 어깨 번호를 분리된 형태소에 부여할 수 있다. In some embodiments, the natural
질의 분석부(210)는 자연어 이해부(300)를 참조한 자연어 분석을 통하여, 형태소 정보, 구문 정보, 질의 패턴 정보, 시공간 정보, 고유 명사 정보, 의도 정보, 어깨 번호 정보, 숫자 정보, 서수 정보, 및 도메인 정보 중 적어도 일부를 포함하는 자연어 분석 결과를 생성하여 모듈 선택 실행부(220)에 제공할 수 있다. 일부 실시 예에서, 의도 정보는 유하원칙(5W1H, 누가(who), 언제(when), 어디서(where), 무엇을(what), 어떻게(how), 왜(why))을 기초로 생성될 수 있으며, 의도 정보는 어깨 번호 정보를 가지고 있을 수 있다. The
도 3은 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템의 모듈 선택 실행부의 동작을 설명하기 위한 블록도이다.3 is a block diagram illustrating the operation of the module selection execution unit of the automatic question answering system according to an exemplary embodiment of the present invention.
도 3을 참조하면, 모듈 선택 실행부(220)는 질의 응답 동작 예측부(221), 질의 응답 모듈 선택부(222) 및 질의 응답 모듈 실행부(223)를 포함할 수 있다. 3, the module
질의 응답 동작 예측부(221)는 질의 분석부(210)로부터 자연어 분석 결과를 제공받아, 질의 응답 모듈 선택 모델 학습기(224)를 통해 학습된 질의 응답 모듈 동작 예측 모델(225)과 관리자로부터 입력되어 기설정된 질의 응답 모듈 동작 규칙(226)을 기반으로 모듈들의 질의에 대한 적합도인 질의 동작 적합도를 예측할 수 있다. 예를 들면, "1+1=?"이라는 질의에 질의 응답 동작 예측부(221)는 수학 QA모듈이 100%, 다른 QA 모듈은 0%로 질의 동작 적합도를 예측할 수 있다. 예를 들면, "이순신이 태어난 나라는?"이란 질의에는 질의 응답 동작 예측부(221)는 지식 베이스 기반 QA 모듈이 80%, 검색 서비스가 50%로 질의 동작 적합도를 예측할 수 있다. The query response
질의 응답 모듈 선택 모델 학습기(224)는 각 모듈에서 생성된 질의 응답 결과 및/또는 질의 응답 결과에 대한 사용자(10)의 피드백을 가지는 질의 응답 모듈 로그(227), 및 관리자에 의해 입력된 질의 응답 학습 셋(228)을 사용하여, 질의 응답 모듈 동작 예측 모델(225)을 학습할 수 있다. 질의 응답 모듈 선택 모델 학습기(224)는 예를 들면, 선형 회귀(Linear Regression), 로지스틱 회귀(Logistic Regression), 정규화(Regularization) 등의 기계 학습 알고리즘 또는 DNN(Deep Neural Network), CNN(Convolutional Neural Network), RNN(Recurrent Neural Network) 등의 딥 러닝(deep learing)을 사용하여 질의 응답 모듈 동작 예측 모델(225)을 학습할 수 있다. The question and answer module selection
질의 응답 모듈 선택부(222)는 질의 응답 모듈 특성 저장부(229)에 저장된 모듈 특성과 질의 응답 동작 예측부(221)에서 예측한 질의 동작 적합도를 함께 참조하여, QA를 수행할 모듈을 선택할 수 있다. The query response
질의 응답 모듈 특성 저장부(229)는 모듈 서버(500, 600, 700)가 가지는 복수의 모듈(도 1의 510, 520, 530, 540, 610, 620, 630, 710, 720, 730) 각각의 모듈 특성이 저장될 수 있다. 모듈 특성은 해당 모듈에서 수행할 수 있는 QA에 대한 커버리지인 질의 응답 커버리지(coverage)일 수 있다. 예를 들면, 모듈 특성은 피쳐 정보, 도메인 정보, 질의 패턴, 숫자(개수) 정보, 서수 정보, 정렬 정보 등 각각에 대한 QA 수행 유무 또는 QA 수행 확률 등의 정보를 가질 수 있다. The query response module
따라서 질의 응답 모듈 선택부(222)는 학습을 통해 얻어진 질의에 대한 각 모듈별 질의 동작 적합도, 및 각 모듈별로 설정된 질의 응답 커버리지인 모듈 특성을 함께 참조하여, QA를 수행할 모듈을 선택할 수 있다. Therefore, the query response
질의 응답 모듈 실행부(223)는 복수의 모듈(510, 520, 530, 540, 610, 620, 630, 710, 720, 730) 중 질의 응답 모듈 선택부(222)에서 선택된 모듈에만 질의에 대한 자연어 분석 결과를 제공하여, QA를 수행하도록 할 수 있다. The question and answer
도 4는 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템의 질의 응답 동작 예측부 및 질의 응답 모듈 선택부의 동작을 설명하기 위한 블록도이다.4 is a block diagram for explaining the operation of the query response operation predicting unit and the query response module selecting unit of the automatic question and answer system according to the exemplary embodiment of the present invention.
도 4를 도 3과 함께 참조하면, 질의 응답 동작 예측부(221)는 질의 응답 모듈 동작 예측 모델(225)로부터, 사용자(10)의 질의에 대한 모듈별 질의 동작 적합도를 구할 수 있다. 또한 질의 응답 모듈 선택부(222)는 모듈별 질의 동작 적합도, 및 질의 응답 모듈 특성 저장부(229)가 가지는 모듈별 질의 응답 커버리지를 함께 참조하여, QA를 수행할 모듈을 선택할 수 있다. Referring to FIG. 4 together with FIG. 3, the query response
예를 들면, 질의 응답 모듈 선택부(222)가 질의 동작 적합도 및 질의 응답 커버리지 각각에 대하여 60%의 문턱값(threshold)을 가지도록 설정된 경우, 질의 동작 적합도 및 질의 응답 커버리지가 모두 문턱값 이상인 모듈이 일정 개수 이상 있는 경우, 해당 모듈을 선택하여 QA를 수행하도록 할 수 있다. 반면, 질의 동작 적합도 및 질의 응답 커버리지가 모두 문턱값 이상인 모듈이 없으나, 질의 동작 적합도 및 질의 응답 커버리지 중 하나가 문턱값 이상인 모듈이 있는 경우, 해당 모듈을 선택하여 QA를 수행하도록 할 수 있다. 또는 질의 동작 적합도 및 질의 응답 커버리지가 모두 문턱값 이상인 모듈이 일정 개수 미만만 있는 경우, 질의 동작 적합도 및 질의 응답 커버리지가 모두 문턱값 이상인 모듈, 및 질의 동작 적합도 및 질의 응답 커버리지 중 하나가 문턱값 이상인 모듈을 함께 선택하여 QA를 수행하도록 할 수 있다. For example, if the query
이때, 질의 동작 적합도 및 질의 응답 커버리지 각각에 대한 문턱값은 동일하게 설정될 수도 있으나, 서로 다르게 설정될 수도 있다. 또한 질의 응답 모듈 선택부(222)가 QA를 수행하도록 선택할 모듈의 최소 개수는 자동 질의 응답 시스템(도 1의 1)의 부하 및 모듈 서버(500, 600, 700)가 가지는 모듈의 개수를 고려하여, 양의 정수(1, 또는 2 이상) 중에서 선택될 수 있다. At this time, the thresholds for the query operation suitability and the query response coverage may be set to the same value, but they may be set to be different from each other. The minimum number of modules to be selected by the QA
다시 도 3을 참조하면, 질의 응답 모듈 선택부(222)에서 선택된 모듈 각각에서 수행된 QA 결과는 질의 응답 결과 통합부(230)에서 통합되어, 사용자(10)에게 유저 인터페이스(100)를 통하여 응답으로 제공될 수 있다. 3, the QA results of the modules selected by the QA
또한 사용자(10)가 제공받은 응답에 대한 피드백을 유저 인터페이스(100)를 통하여 입력하면, 질의 응답 모듈 로그(227)에 저장되어, 질의 응답 모듈 선택 모델 학습기(224)에서 질의 응답 모듈 동작 예측 모델(225)을 학습하는데 사용될 수 있다. When the feedback of the response provided by the
도 5는 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템을 나타내는 블록도이다.5 is a block diagram illustrating an automated query response system in accordance with an exemplary embodiment of the present invention.
도 5를 참조하면, 자동 질의 응답 시스템(2)은 네트워크(20)를 통하여 사용자(10)로부터 질의를 수신하고, 응답을 송신하는 유저 인터페이스(100), 질의 응답 관리자(200), 자연어 이해부(300), 자연어 생성부(400), 모듈 서버(500, 600, 700), 및 도메인 DB부(550)를 포함한다. 일부 실시 예에서, 자동 질의 응답 시스템(2)은 모듈 모델(900)을 더 포함할 수 있다. 5, the automatic question-and-
질의 응답 관리자(200)는 질의 분석부(210), 모듈 선택 실행(220), 및 질의 응답 결과 통합부(230)를 포함할 수 있다. 자연어 형태인 사용자(10)의 질의에 대하여 자연어 이해부(300)를 참조하여 질의 분석부(210)에서 분석한 후, 이를 토대로 모듈 선택 실행부(220)에서 복수의 도메인 모듈(510, 520, 530, 540), 복수의 플러그인 모듈(610, 620, 630) 및 복수의 API 모듈(710, 720, 730) 중 일부개의 모듈을 선택하여 QA를 수행하도록 실행하고, 그 QA 결과를 자연어 생성부(400)의 자연어 생성 규칙부(410)를 참조하여 질의 응답 결과 통합부(230)에서 자연어 형태인 응답으로 생성하여 사용자(10)에게 제공할 수 있다. 사용자(10)가 제공받은 응답에 대한 피드백을 유저 인터페이스(100)를 통하여 입력하면 질의 응답 결과 통합부(230)는 질의에 대한 응답과 함께 사용자(10)의 피드백을 모듈 선택 실행부(220)에 전달할 수 있다. The
자연어 이해부(300)는 시맨틱 롤 라벨링부(SRL, 310), 형태소 분석부(320), 구문 분석부(330), 개체명 분석부(340), 필터링 분석부(350), 의도 분류부(360) 및 도메인 분석부(370)를 포함할 수 있다. 시맨틱 롤 라벨링부(310)는 질의에 대한 의미 역할(Semantic Role)을 부여할 수 있다. 형태소 분석부(320)는 의미 역할이 부여된 질의를 형태소 단위로 분리할 수 있다. 구문 분석부(330) 및 개체명 분석부(340)는 각각 형태소 단위로 분리된 질의에 구문 분석 및 개체명 분석을 할 수 있다. 필터링 분석부(350)는 질의에 포함된 불필요한 피쳐(feature)를 제거하여 간결화된 질문 패턴을 생성할 수 있다. 의도 분류부(360) 및 도메인 분석부(370)는 필터링 분석부(350)에서 생성한 간결화된 질문 패턴을 기초로 의미 역할이 부여된 질의의 의도(intention) 분류 및 도메인 분석을 할 수 있다. The natural
자연어 생성부(400)는 자연어 생성 규칙부(410)를 포함할 수 있다. 질의 응답 결과 통합부(230)는 자연어 생성 규칙부(410)를 참조하여, 자연어 형태의 응답을 생성할 수 있다. The natural
모듈 서브(500, 600, 700)는 예를 들면, 도메인 모듈 서버(500), 플러그인 모듈 서버(600) 및 외부 서비스 모듈 서버(700) 중 적어도 하나를 포함할 수 있다.
도메인 모듈 서버(500)가 가지는 제1 내지 제4 도메인 모듈(510, 520, 530, 540)은 예를 들면, FBQA(Factoid Based Question Answering) 모듈, TBQA(Template Based Question Answering) 모듈, GBQA(Generated Based Question Answering) 모듈, DNQA(Deep Neural Based Question Answering), 또는 IRQA(Informationu Retrievalu Based Question Answering) 모듈일 수 있다. The first to
도메인 모듈 서버(500)가 가지는 제1 내지 제4 도메인 모듈(510, 520, 530, 540)은 도메인 DB부(550)가 가지는 복수의 도메인 DB(551, 552, 553, 554) 중 적어도 하나의 도메인 DB를 참조하여, 답변을 생성할 수 있다. 복수의 도메인 DB(551, 552, 553, 554)은 지식 데이터가 축적된 지식베이스일 수 있다. 도메인 DB(551, 552, 553, 554)은 예를 들면, 일반 상식 지식베이스, 역사 도메인 지식베이스, 인물 도메인 지식베이스, 영화 도메인 지식베이스, 음악 도메인 지식베이스, 헬스 도메인 지식베이스, 퍼스널 어시스턴트 도메인 지식베이스, 또는 음식 식당 도메인 지식베이스일 수 있다. The first to
플러그인 모듈 서버(600)가 가지는 제1 내지 제3 플러그인 모듈(610, 620, 630)은 지식베이스를 참조하지 않고 자체적으로 QA를 수행할 수 있도록 구성되어 자동 질의 응답 시스템(2)에 탑재될 수 있다. 제1 내지 제3 플러그인 모듈(610, 620, 630)은 예를 들면, 수학연산 플러그인, 단위변환 플러그인, 시간날짜 플러그인, 거리계산 플러그인, 또는 환율변환 플러그인일 수 있다. The first to third plug-in
자동 질의 응답 시스템(2)은 외부 서비스 모듈 서버(700)와 네트워크(20a)를 통하여 외부 서비스/DB(750)와 연결될 수 있다. 네트워크(20a)는 사용자(10)가 유저 인터페이스(100)와 질의 응답을 송수신하는 네트워크(20)와 동일한 종류일 수 있는 바, 자세한 설명은 생략한다. 외부 서비스 모듈 서버(700)가 가지는 제1 내지 제3 API 모듈(710, 720, 730)은 QA를 수행할 수 있는 외부 서비스(751, 753, 755)를 연결할 수 있는 API를 가질 수 있다. 예를 들면, 외부 서비스 모듈 서버(700)는 제1 API 모듈(710), 제2 API 모듈(720), 및 제3 API 모듈(730)을 포함할 수 있고, 제1 API 모듈(710), 제2 API 모듈(720), 및 제3 API 모듈(730) 각각은 네트워크(20a)를 통하여 제1 서비스(751), 제2 서비스(753), 및 제3 서비스(755)와 연결될 수 있다. 제1 서비스(751), 제2 서비스(753), 및 제3 서비스(755)는 각각 독자적인 제1 외부 DB(752), 제2 외부 DB(754), 및 제3 외부 DB(756)와 연결되거나, 이를 포함할 수 있다. 예를 들면, 제1 서비스(751), 제2 서비스(753), 및 제3 서비스(755)는 지리날씨 서비스, 환율변환 서비스, 또는 검색 서비스일 수 있으며, 제1 외부 DB(752), 제2 외부 DB(754), 및 제3 외부 DB(756)는 지리날씨 DB, 환율정보 DB, 또는 검색 DB일 수 있다. The automatic question and
모듈 모델(900)은 질의 응답 로직(910), 질의 응답 실행조건(920) 및 자연어 생성 룰(NLG Rule, 930)을 포함할 수 있다. 질의 응답 로직(910)은 복수의 도메인 모듈(510, 520, 530, 540) 및 복수의 플러그인 모듈(610, 620, 630)에서, 질의에 대한 단위 자연어 분석 결과로부터 답변을 생성하기 위한 논리를 제공할 수 있다. 질의 응답 실행조건(920)은 복수의 도메인 모듈(510, 520, 530, 540), 복수의 플러그인 모듈(610, 620, 630)에서, 질의에 대한 단위 자연어 분석 결과로부터 답변을 생성하는 과정에서 참조해야하는 조건들을 제공할 수 있다. 자연어 생성 룰(930)은 복수의 도메인 모듈(510, 520, 530, 540), 복수의 플러그인 모듈(610, 620, 630)에서 수행된 QA 결과로부터 자연어 생성 규칙부(410)를 참조하여, 자연어 형태의 답변을 생성하기 위한 규칙을 제공할 수 있다.
도 6은 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템의 도메인 모듈 서버와 도메인 DB부를 상세히 나타내는 블록도이다.6 is a detailed block diagram illustrating a domain module server and a domain DB unit of the automatic question and answer system according to an exemplary embodiment of the present invention.
도 6을 참조하면, 도메인 모듈 서버(500)는 복수의 도메인 모듈(510a, 520a, 530a, 540a)을 가지는 도메인 모듈부(580) 및, 도메인 모듈부(580)가 가지는 복수의 도메인 모듈(510a, 520a, 530a, 540a) 각각에 대한 정보를 가지는 도메인 모듈 등록부(590)를 포함한다. 도메인 모듈 등록부(590)는 복수의 도메인 모듈(510a, 520a, 530a, 540a) 각각에 대한 질의 응답 커버리지를 가질 수 있다. 6, the
복수의 도메인 모듈(510a, 520a, 530a, 540a)은 각각 FBQA 모듈(510a), TBQA 모듈(520a), GBQA 모듈(530a), DNQA 모듈(540a)일 수 있다. FBQA 모듈(510a)은 단문 형태의 질의를 키워드 기반의 패턴 매칭을 통하여, 자동으로 SPARQL 형태의 질의를 생성한 후, 도메인 DB부(550), 즉 지식베이스에 질의하여 답변을 생성할 수 있다. TBQA 모듈(520a)은 미리 작성된 템플릿들을 기반으로, 질의로부터 템플릿 매핑을 하여 템플릿에 기초한 질의를 완성한 후, 도메인 DB부(550), 즉 지식베이스에 질의하여 답변을 생성할 수 있다. GBQA 모듈(530a)은 단문보다 복잡한 형태의 질의들을 구문분석 등을 활용하여 분석해서, 자동으로 SPARQL 형태의 질의를 생성하고, 도메인 DB부(550), 즉 지식베이스에 질의하여 답변을 생성할 수 있다. DNQA 모듈(540a)은 딥 러닝 신경망(Neural Network)을 사용하여 질의를 생성하고, 도메인 DB부(550), 즉 지식베이스에 질의하여 답변을 생성할 수 있다. The plurality of
일부 실시 예에서, 도메인 모듈부(580)는 IRQA 모듈을 더 포함할 수 있다. IRAQ 모듈은 질의에 대하여 검색 기반으로 답변을 생성할 수 있다. In some embodiments, the
도메인 DB부(550)는 예를 들면, 일반 상식 지식베이스(551a), 역사 도메인 지식베이스(552a), 인물 도메인 지식 베이스(553a), 영화 도메인 지식베이스(554a)등 각 도메인에 해당하는 별도의 지식베이스를 포함할 수 있다. 일부 실시 예에서, 도메인 DB부(550)는 음악 도메인 지식베이스, 헬스 도메인 지식베이스와 같은 지식 베이스를 더 포함할 수 있다. The
구체적으로, FBQA 모듈(510a)은 단문 형태의 질의에 대해 처리가 가능하며, 예로 "한라산의 높이는?"과 같은 형태의 질의로부터 "한라산 = class:Mountain", "높이=property:altitude"와 같이 엔티티(entity)와 프로퍼티(property) 등의 클래스(class)를 찾아내고, 해당 클래스들을 가지는 패턴(EP)에 맞는 미리 정의된 SPARQL을 통해 질의에 대한 답변을 생성할 수 있다. 예를 들면, 자연어 생성 룰(도 5의 930)에서 해당 EP 패턴에 대하여 제공하는 규칙이 단답형인 경우 1950m라는 답변을 생성하게 된다. FBQA 모듈(510a)은 EP(Entity, Property) 패턴, EPP(Entity, 2 Property) 패턴(예를 들면, 영화 명량(class:Movie)을 만든(property:create) 감독(property:director)은?), EPQ(Entity, Property, Quntity) 패턴(예를 들면, I.O.I(class:Artist)의 멤버(property:member)는 몇 명(quantity)인가?) 등 질의에 따라 다양하게 정의된 패턴을 가질 수 있다. Specifically, the
구체적으로, TBQA 모듈(520a)은 단문 보다는 좀 더 복잡한 형태의 QA를 수행하며, 도메인에 따라 질의의 의도(intention)를 분류하고, 각 의도에 미리 정의된 SPARQL 템플릿에 맵핑하여 SPARQL을 생성하여, 질의에 대한 답변을 생성할 수 있다. 즉, TBAQ 모듈(520a)은 특정 도메인에 특화된 질의들을 처리할 수 있다. 예를 들면, "바람과 함께 사라지다의 여자 주인공은?"과 같은 질의에 대해서는 해당 질의의 의도에 미리 정의된 SPARQL 템플릿에 매핑하여 해당 질의에 대한 SPARQL을 생성한 후, 영화 도메인 지식베이스(720a)를 참조하여 답변을 생성할 수 있다. Specifically, the
예를 들면, 영화 도메인에 특화된 질의 중 질의의 의도가 영화 내용에 관한 것인지, 영화 배우에 관한 것인지, 영화 상영(극장, 시간 등)에 관한 것인지 등에 따라서, TBQA 모듈(520a)은 각각 정의된 복수의 SPARQL 템플릿을 가질 수 있으며, 세부적인 질의의 의도에 따라서, 더욱 다양한 SPARQL 템플릿을 가질 수 있다. For example, the
따라서 도메인 모듈부(580)가 가지는 복수의 도메인 모듈(510a, 520a, 530a, 540a)들은, 자연어 이해부(도 5의 300)의 질의에 대한 분석 결과에 따라서 질의 동작 적합도가 다를 수 있다. Therefore, the plurality of
도 7은 본 발명의 예시적 실시 예에 따른 자동 질의 응답 시스템의 플러그인 모듈 서버를 상세히 나타내는 블록도이다.7 is a block diagram illustrating the plug-in module server of the automatic question-answering system according to an exemplary embodiment of the present invention in detail.
도 7을 참조하면, 플로그인 모듈 서버(600)는 복수의 플러그인(610a, 620a, 630a)을 가지는 플러그인 모듈부(680), 및 플러그인 모듈부(680)가 가지는 복수의 플러그인(610a, 620a, 630a) 각각에 대한 정보를 가지는 플러그인 등록부(690)를 포함한다. 플러그인 등록부(690)는 복수의 플러그인(610a, 620a, 630a) 각각에 대한 질의 응답 커버리지를 가질 수 있다. 7, the plug-in
복수의 플러그인(610a, 620a, 630a)은 각각 수학연산 플러그인(610a), 단위변환 플러그인(620a), 시간날짜 플러그인(630a)일 수 있다. The plurality of plugins 610a, 620a, and 630a may be a mathematical operation plug-in 610a, a unit conversion plug-in 620a, and a time date plug-in 630a, respectively.
수학연산 플러그인(610a)은 사칙연산 등 수학연산에 관한 질의에 대한 답변을 자체적으로 생성할 수 있다. 단위변환 플러그인(620a)은 단위 변환에 관한 질의에 대한 답변을 자체적으로 생성할 수 있다. 시간날짜 플러그인(650a)은 시간, 날짜에 대한 질의, 세계 시계, 양음력 변환 등과 같은 질의에 대한 답변을 자체적으로 생성할 수 있다. The mathematical operation plug-in 610a can itself generate an answer to a query regarding mathematical operations such as arithmetic operations. The unit conversion plug-in 620a can itself generate an answer to the inquiry about the unit conversion. The time date plug-in 650a can itself generate responses to queries such as time, date queries, world clocks, volume transitions, and the like.
따라서 플러그인 모듈부(680)가 가지는 복수의 플러그인(610a, 620a, 630a)들은, 자연어 이해부(도 5의 300)의 질의에 대한 분석 결과, 즉 지식베이스를 참조하지 않고 자체적으로 답변을 생성할 수 있는지에 따라서 질의 동작 적합도가 다를 수 있다. Therefore, the plurality of plug-
도 8은 본 발명의 예시적 실시 예에 따른 외부 서비스 모듈 서브와 이에 연결되는 외부 서비스/DB를 상세히 나타내는 블록도이다.8 is a block diagram illustrating in detail an external service module sub and an external service / DB coupled thereto according to an exemplary embodiment of the present invention.
도 8을 참조하면, 외부 서비스 모듈 서버(700)는 복수의 API 모듈(710a, 720a, 730a)을 가지는 API 모듈부(780), 및 API 모듈부(780)가 가지는 복수의 API 모듈(710a, 720a, 730a) 각각에 대한 정보를 가지는 외부 서비스 모듈 등록부(790)를 포함한다. 외부 서비스 모듈 등록부(790)는 복수의 API 모듈(710a, 720a, 730a) 각각과 연결되어 QA를 수행할 수 있는 복수의 외부 서비스(751a, 753a, 755a) 각각에 대한 질의 응답 커버리지를 가질 수 있다. 8, the external
복수의 API 모듈(710a, 720a, 730a)은 외부 서비스/DB(750)와 네트워크(20a)를 통하여 연결될 수 있다. The plurality of
복수의 API 모듈(710a, 720a, 730a)은 지리날씨 서비스 API(710a), 환율변환 서비스 API(720a), 검색 서비스 API(730a)일 수 있으나, 이에 한정되지 않는다. The plurality of
외부 서비스/DB(750)는 예를 들면, 지리날씨 서비스(751a) 및 이와 연결되거나 이에 포함되는 지리날씨 DB(752a), 환율변환 서비스(753a) 및 이와 연결되거나 이에 포함되는 환율정보 DB(754a), 및 검색 서비스(755a) 및 이와 연결되거나 이에 포함되는 검색 DB(756a) 중 적어도 하나일 수 있으나, 이에 한정되지 않는다. The external service /
지리날씨 서비스 API(710a)는 지리날씨 서비스(751a)와 연결되기 위한 API를 가질 수 있으며, 지리날씨 서비스(751a)를 통하여 두지역 사이의 거리 또는 경로, 특정 지역의 현재 날씨, 날씨 예보, 과거 날씨 등과 같은 질의에 대한 답변을 생성할 수 있다. 환율변환 서비스 API(720a)는 환율변환 서비스(753a)와 연결되기 위한 API를 가질 수 있으며, 환율변환 서비스(753a)를 통하여 현재 환율, 다른 화폐 사이의 환율 변환 등과 같은 질의에 대한 답변을 생성할 수 있다. 검색 서비스 API(730a)는 검색 서비스(755a)와 연결되기 위한 API를 가질 수 있으며, 검색 서비스(755a)를 통하여 검색을 통하여 질의에 대한 답변을 생성할 수 있다. The geography
따라서 API 모듈부(780)가 가지는 복수의 API 모듈(710a, 720a, 730a)들은, 자연어 이해부(도 5의 300)의 질의에 대한 분석 결과, 외부 서비스/DB를 참조하여 자체적으로 답변을 구할 수 있는지에 따라서 질의 동작 적합도가 다를 수 있다. Therefore, the plurality of
이상, 본 발명을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상 및 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, This is possible.
1, 2 : 자동 질의 응답 시스템, 10 : 사용자, 20, 20a : 네트워크, 100 : 유저 인터페이스, 200 : 질의 응답 관리자, 300 : 자연어 이해부, 400 : 자연어 생성부, 500 : 도메인 모듈 서버, 550 : 도메인 DB부, 600 : 플러그인 모듈 서버, 700 : 외부 서비스 모듈 서버, 900 : 모듈/플러그인 모델The present invention relates to an automatic query response system and a method and system for automatically inquiring response to a questionnaire response message in response to a request from a user, Domain DB unit 600: plug-in module server 700: external service module server 900: module / plug-in model
Claims (10)
질의 응답을 수행할 수 있는 복수의 질의 응답(QA) 모듈을 가지는 적어도 하나의 모듈 서버;
상기 질의에 대한 자연어 분석을 수행하는 질의 분석부;
상기 질의의 자연어 분석 결과를 기초로 상기 복수의 QA 모듈 중 일부 개를 선택하는 모듈 선택 실행부; 및
상기 질의에 대한 상기 응답을 상기 유저 인터페이스를 통하여 상기 사용자에게 제공하는 질의 응답 결과 통합부;를 포함하며,
상기 모듈 선택 실행부는,
상기 질의의 자연어 분석 결과를 제공받아, 상기 질의에 대한 상기 복수의 QA 모듈별 질의 동작 적합도를 학습을 통해 예측하는 질의 응답 동작 예측부;
상기 복수의 QA 모듈별로 설정된 질의 응답 커버리지와 상기 질의 동작 적합도를 함께 참조하여, 상기 복수의 QA 모듈 중 일부 개를 선택하는 질의 응답 모듈 선택부; 및
상기 복수의 QA 모듈 중 상기 질의 응답 모듈 선택부에서 선택된 일부 개에 상기 질의의 자연어 분석 결과를 제공하여, 질의 응답을 수행하도록 하는 질의 응답 모듈 실행부;를 포함하는 자동 질의 응답 시스템.A user interface for receiving a query in natural language form from a user via a network and sending a response;
At least one module server having a plurality of QA modules capable of performing a query response;
A query analyzer for performing a natural language analysis on the query;
A module selection execution unit for selecting some of the plurality of QA modules based on a natural language analysis result of the query; And
And a query response result integration unit for providing the response to the query to the user via the user interface,
Wherein the module selection execution unit comprises:
A query response operation predicting unit that receives a natural language analysis result of the query and predicts a query operation fitness for each of the plurality of QA modules for the query through learning;
A query response module selection unit for selecting some of the plurality of QA modules with reference to the query response coverage set for each of the plurality of QA modules and the query operation suitability; And
And a query response module executing unit for providing a natural language analysis result of the query to some of the plurality of QA modules selected by the query response module selection unit to perform a query response.
상기 모듈 선택 실행부는 질의 응답 모듈 동작 예측 모델을 학습하는 질의 응답 모듈 선택 모델 학습기를 더 포함하고,
상기 질의 응답 동작 예측부는, 학습된 상기 질의 응답 모듈 동작 예측 모델기설정된 질의 응답 모듈 동작 규칙을 기반으로 상기 복수의 QA 모듈별 질의 동작 적합도를 예측하는 것을 특징으로 하는 자동 질의 응답 시스템.The method according to claim 1,
Wherein the module selection execution unit further comprises a query response module selection model learning unit that learns a query response module operation prediction model,
Wherein the query response operation predicting unit predicts the query operation fitness for each of the plurality of QA modules based on the learned query response module operation prediction model and the query response module operation rule set in advance.
상기 질의 응답 모듈 선택 모델 학습기는,
상기 복수의 QA 모듈 각각에서 수행된 질의 응답 결과, 및 상기 사용자의 상기 응답에 대한 피드백을 사용하여, 상기 질의 응답 모듈 동작 예측 모델을 학습하는 것을 특징으로 하는 자동 질의 응답 시스템.3. The method of claim 2,
Wherein the query response module selection model learning device comprises:
Wherein the learning model learning unit learns the query response module operation prediction model using the query response result performed in each of the plurality of QA modules and the feedback on the response of the user.
각각 지식데이터가 축적된 지식베이스인 복수의 도메인 DB를 더 포함하며,
상기 복수의 QA 모듈 중 일부 개는 상기 복수의 도메인 DB 중 적어도 하나를 참조하여 답변을 생성하는 것을 특징으로 하는 자동 질의 응답 시스템.The method according to claim 1,
Further comprising a plurality of domain DBs each of which is a knowledge base on which knowledge data is accumulated,
Wherein some of the plurality of QA modules generate an answer with reference to at least one of the plurality of domain DBs.
상기 복수의 QA 모듈 중 다른 일부 개는 상기 복수의 도메인 DB를 참조하지 않고 자체적으로 답변을 생성하는 플러그인 모듈인 것을 특징으로 하는 자동 질의 응답 시스템. 5. The method of claim 4,
Wherein the plurality of QA modules are plug-in modules that generate their own responses without referring to the plurality of domain DBs.
상기 복수의 QA 모듈 중 다른 일부 개는 네트워크를 통하여 외부 서비스와 연결되어 답변을 생성하는 것을 특징으로 하는 자동 질의 응답 시스템.5. The method of claim 4,
Wherein some of the plurality of QA modules are connected to an external service through a network to generate an answer.
상기 복수의 QA 중 모듈 중 상기 복수의 도메인 DB 중 적어도 하나를 참조하는 일부개는, 상기 사용자의 질의를 키워드 기반의 패턴 매칭을 통하여 SPARQL 형태의 질의를 생성하여 답변을 생성하는 FBQA 모듈, 미리 작성된 템플릿들을 기반으로 상기 사용자의 질의로부터 템플릿 매핑을 하여 템플릿에 기초한 질의를 생성하하여 답변을 생성하는 TBQA 모듈, 상기 사용자의 질의를 구문분석으로 분석하여 SPARQL 형태의 질의를 생성하여 답변을 생성하는 GBQA 모듈, 및 딥 러닝 신경망(Neural Network)을 사용하여 질의를 생성하여 답변을 생성하는 DNQA 모듈을 포함하는 것을 특징으로 하는 자동 질의 응답 시스템.5. The method of claim 4,
Some of the modules referring to at least one of the plurality of domain DBs among the plurality of QA modules include an FBQA module for generating a SPARQL type query through pattern matching of a keyword based on the user's query to generate a response, A TBQA module for generating a query based on a template by performing template mapping from the user's query based on the templates, a TBQA module for analyzing the user's query by parsing to generate a SPARQL-type query, Module, and a DNQA module for generating a query using a Deep Learning Neural Network to generate an answer.
상기 질의 분석부가 참조하는 자연어 이해부를 더 포함하며,
상기 자연어 이해부는, 시맨틱 롤 라벨링, 형태소 분석, 구문 분석, 개체명 분석, 필터링 분석, 의도 분류, 및 도메인 분석을 수행하는 것을 특징으로 하는 자동 질의 응답 시스템.The method according to claim 1,
Further comprising a natural language understanding unit referenced by said query analysis unit,
Wherein the natural language understanding unit performs semantic role labeling, morphological analysis, syntax analysis, object name analysis, filtering analysis, intent classification, and domain analysis.
상기 질의의 자연어 분석 결과는, 상기 의도 분류에 의한 의도 정보를 포함하며,
상기 의도 정보는, 상기 형태소 분석을 통하여 분리된 형태소에 어학 사전 정보를 참조하여 부여되며 동음이의어의 의미를 구분하는 어깨 번호를 가지는 것을 특징으로 하는 자동 질의 응답 시스템.9. The method of claim 8,
Wherein the natural language analysis result of the query includes intention information based on the intention classification,
Wherein the intention information is assigned with reference to language dictionary information in the morpheme separated through the morphological analysis and has a shoulder number for distinguishing the meaning of the homonym.
상기 질의 응답 모듈 선택부는,
상기 복수의 QA 모듈 중, 상기 질의 응답 커버리지 및 상기 질의 동작 적합도 중 적어도 하나가 설정된 문턱값 이상인 일부 개를 선택하는 것을 특징으로 하는 자동 질의 응답 시스템.The method according to claim 1,
Wherein the query response module selection unit comprises:
Wherein at least one of the query response coverage and the query operation fitness among the plurality of QA modules is selected to be equal to or larger than a set threshold value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170176480A KR102034646B1 (en) | 2017-12-20 | 2017-12-20 | Automatic Question-Answering system having mutiple Question-Answering modules |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170176480A KR102034646B1 (en) | 2017-12-20 | 2017-12-20 | Automatic Question-Answering system having mutiple Question-Answering modules |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190074828A true KR20190074828A (en) | 2019-06-28 |
KR102034646B1 KR102034646B1 (en) | 2019-10-22 |
Family
ID=67066263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170176480A KR102034646B1 (en) | 2017-12-20 | 2017-12-20 | Automatic Question-Answering system having mutiple Question-Answering modules |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102034646B1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021049706A1 (en) * | 2019-09-09 | 2021-03-18 | 주식회사 솔트룩스 | System and method for ensemble question answering |
KR20210033782A (en) * | 2019-09-19 | 2021-03-29 | 에스케이텔레콤 주식회사 | System and Method for Robust and Scalable Dialogue |
KR20210051519A (en) * | 2019-10-30 | 2021-05-10 | 주식회사 솔트룩스 | Multi-lingual support question-answering system |
KR20210085728A (en) * | 2019-12-31 | 2021-07-08 | (주)위드캣 | A method and apparatus for question-answering on educational contents in interactive query system |
KR20220030088A (en) | 2020-09-02 | 2022-03-10 | 고려대학교 산학협력단 | Apparatus, method and system for determining answer regarding question |
WO2022065561A1 (en) * | 2020-09-28 | 2022-03-31 | 주식회사 마인즈랩 | Method for classifying intention of character string and computer program |
KR20220042941A (en) * | 2020-09-28 | 2022-04-05 | 주식회사 마인즈랩 | Intent classifier creation interface provision method and computer program |
GB2619971A (en) * | 2022-06-24 | 2023-12-27 | Ieso Digital Health Ltd | A computer-implemented method for providing care |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220058180A (en) | 2020-10-30 | 2022-05-09 | 주식회사 케이티 | Apparatus, method and computer program for providing question answering service |
KR102492277B1 (en) | 2022-06-28 | 2023-01-26 | (주)액션파워 | Method for qa with multi-modal information |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120061133A (en) * | 2010-10-25 | 2012-06-13 | 한국전자통신연구원 | Question type and domain identifying apparatus and method |
KR20170053023A (en) * | 2015-11-05 | 2017-05-15 | 주식회사 나눔기술 | Intelligent peripheral)distributed processing system and method |
-
2017
- 2017-12-20 KR KR1020170176480A patent/KR102034646B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120061133A (en) * | 2010-10-25 | 2012-06-13 | 한국전자통신연구원 | Question type and domain identifying apparatus and method |
KR20170053023A (en) * | 2015-11-05 | 2017-05-15 | 주식회사 나눔기술 | Intelligent peripheral)distributed processing system and method |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021049706A1 (en) * | 2019-09-09 | 2021-03-18 | 주식회사 솔트룩스 | System and method for ensemble question answering |
KR20210033782A (en) * | 2019-09-19 | 2021-03-29 | 에스케이텔레콤 주식회사 | System and Method for Robust and Scalable Dialogue |
KR20210051519A (en) * | 2019-10-30 | 2021-05-10 | 주식회사 솔트룩스 | Multi-lingual support question-answering system |
KR20210085728A (en) * | 2019-12-31 | 2021-07-08 | (주)위드캣 | A method and apparatus for question-answering on educational contents in interactive query system |
KR20220030088A (en) | 2020-09-02 | 2022-03-10 | 고려대학교 산학협력단 | Apparatus, method and system for determining answer regarding question |
WO2022065561A1 (en) * | 2020-09-28 | 2022-03-31 | 주식회사 마인즈랩 | Method for classifying intention of character string and computer program |
KR20220042940A (en) * | 2020-09-28 | 2022-04-05 | 주식회사 마인즈랩 | Method and computer program for classifying the intent of strings |
KR20220042941A (en) * | 2020-09-28 | 2022-04-05 | 주식회사 마인즈랩 | Intent classifier creation interface provision method and computer program |
GB2619971A (en) * | 2022-06-24 | 2023-12-27 | Ieso Digital Health Ltd | A computer-implemented method for providing care |
Also Published As
Publication number | Publication date |
---|---|
KR102034646B1 (en) | 2019-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190074828A (en) | Automatic Question-Answering system having mutiple Question-Answering modules | |
Battle et al. | Characterizing exploratory visual analysis: A literature review and evaluation of analytic provenance in tableau | |
US10671620B2 (en) | Method for recommending a teacher in a network teaching system | |
US9053436B2 (en) | Methods and system for providing simultaneous multi-task ensemble learning | |
KR101915778B1 (en) | Automatic Question-Answering System | |
Mokryn et al. | Help Me: Opportunistic smart rescue application and system | |
Qiu et al. | Hierarchical query graph generation for complex question answering over knowledge graph | |
US20220188661A1 (en) | Stateful, Real-Time, Interactive, and Predictive Knowledge Pattern Machine | |
KR101849750B1 (en) | Interactive Automatic Question-Answering System | |
Fernández et al. | A system for relevance analysis of performance indicators in higher education using Bayesian networks | |
KR20190023316A (en) | Question-answering system based dialogue model | |
Wang | Fuzzy comprehensive evaluation of physical education based on high dimensional data mining | |
KR20190076712A (en) | Automatic Question-Answering System multiple Question-Answering modules | |
Costa et al. | Adaptive learning for dynamic environments: A comparative approach | |
Dan | Intelligent English resource recommendation and teaching effect based on symmetric SDAE collaborative filtering algorithm | |
US11599814B2 (en) | Automated exception featurization and search | |
US20230185812A1 (en) | Relevance-independent position effects estimator for digital item ranking | |
KR20160093489A (en) | Content collection and recommendation system and method | |
Guimarães et al. | Identifying journalistically relevant social media texts using human and automatic methodologies | |
Yuan et al. | A Survey on spatiotemporal and semantic data mining | |
Vijjapu | Machine Learning based Recommendations to aid Educational Planning and academic advising through the Virtual Academic Advisor System | |
Ducasse et al. | Finding it now: Construction and configuration of networked classifiers in real-time stream mining systems | |
Tikhonova et al. | Detection the relevance of urban functions for value-based smart city management | |
Maia et al. | TweeProfiles3: visualization of spatio-temporal patterns on Twitter | |
Zhou | Data-driven cyber-physical-social system for knowledge discovery in smart cities. |
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 |