KR20210044697A - Ai based question and answer system and method - Google Patents
Ai based question and answer system and method Download PDFInfo
- Publication number
- KR20210044697A KR20210044697A KR1020200128050A KR20200128050A KR20210044697A KR 20210044697 A KR20210044697 A KR 20210044697A KR 1020200128050 A KR1020200128050 A KR 1020200128050A KR 20200128050 A KR20200128050 A KR 20200128050A KR 20210044697 A KR20210044697 A KR 20210044697A
- Authority
- KR
- South Korea
- Prior art keywords
- query
- answer
- type
- user
- comparison
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 161
- 239000013598 vector Substances 0.000 claims abstract description 59
- 238000006243 chemical reaction Methods 0.000 claims abstract description 31
- 238000013145 classification model Methods 0.000 claims abstract description 24
- 230000015654 memory Effects 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims description 113
- 238000004458 analytical method Methods 0.000 claims description 76
- 230000009466 transformation Effects 0.000 claims description 71
- 230000006870 function Effects 0.000 claims description 37
- 238000012549 training Methods 0.000 claims description 22
- 238000010801 machine learning Methods 0.000 claims description 17
- 238000012805 post-processing Methods 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 230000006403 short-term memory Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
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
-
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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/335—Filtering based on additional data, e.g. user or group profiles
- G06F16/337—Profile generation, learning or modification
-
- 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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
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)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 발명은 AI 기반 질의응답 시스템 및 방법에 관한 것으로, 보다 상세하게는 서술형 답변이 가능하고, 사실 문의형 질의 외의 다양한 질의에 대한 답변이 가능한 AI 기반 질의응답 시스템 및 방법에 관한 것이다.The present invention relates to an AI-based question-and-answer system and method, and more particularly, to an AI-based question-and-answer system and method that enables narrative answers and answers to various inquiries other than in fact inquiry-type queries.
최근 자동 질의 응답 시스템이 많이 이용되면서, 질의응답 시스템을 구축하기 위해 FAQ에 대한 정보검색, 온톨리지 구축과 SPAQL을 통한 정보탐색, 기계학습을 통한 답변 자동 생성 등 다양한 기술들이 연구 개발되고 있다.In recent years, as the automatic Q&A system is widely used, various technologies such as information search for FAQ, ontology construction and information search through SPAQL, and automatic answer generation through machine learning have been researched and developed to build a Q&A system.
최근 이용되고 있는 방법들 중 정보검색 방법은 키워드들을 추출하여 색인하고 사용자가 입력한 질의문에서도 키워드를 추출하여 검색어로 활용하여 원하는 답변을 찾는 방법이며, 하나의 정답이 아닌 여러 답변들을 랭킹알고리즘에 의해 순위화해서 제시한다. 준비된 Q&A 가 적다면 원하는 답변이 없을 가능성이 높고 너무 많다면 검색된 결과가 많아 사용자가 결과에서 다시 탐색해야 한다. Among the recently used methods, the information search method is a method of extracting and indexing keywords, extracting keywords from the query entered by the user, and using it as a search word to find the desired answer. It is ranked by and presented. If there are few prepared Q&As, it is likely that there will be no desired answer, and if there are too many, the search results are large and the user has to search again in the results.
온톨로지를 이용한 방법은 준비된 Q&A를 기반으로 Triple구조의 온톨로지 DB를 구축하고 사용자의 질의를 분석하여 질의를 SPAQL로 변환하여 Q&A 온톨로지 DB를 탐색해서 답변을 찾아 제공한다. 정보검색 방법에 비해 정확도가 높지만 일명 지식구축이라고 하는 대용량의 온톨로지 입력 작업이 필요하여 시스템 구축에 많은 비용이 든다.The method using the ontology builds an ontology DB of triple structure based on the prepared Q&A, analyzes the user's query, converts the query to SPAQL, searches the Q&A ontology DB, and provides the answer. Although it has higher accuracy than the information retrieval method, it requires a large amount of ontology input work called knowledge building, which incurs a lot of cost to build the system.
마지막 방법은 Q&A와 문서쌍을 학습하여 모델을 만들고 사용자의 질의와 문서를 입력으로 받아 학습된 모델을 통해 정답을 찾아 제공하는 인공신경망(ANN, Artificial Neural Network) 기계학습 기반의 기계문서이해(MRC, Machine Reading Comprehension) 기술이다. 이는 학습만 잘 시키면 미리 답변을 만들지 않고도 많은 질문들에 대해서 꽤 높은 정확도로 정답을 찾아 준다는 점에서 많은 관심을 받고 있다. 그러나, MRC를 이용한 방법은 가장 진보한 방법임에도 불구하고 질문시에 정답이 있는 문서를 미리 찾아서 질문과 함께 MRC엔진에 제공해 주어야 하고, 결과로 문서내 정답의 위치만을 결과로 제시하기 때문에 서술형 답변이 어려우며, MRC 기술은 사실문의형(Wh-질의) 질문에만 사용할 수 있어 기타 다른 질의(비교 질의, Yes/No 질의 등)들에 대한 처리를 할 수 없다는 문제점이 있다.The last method is an artificial neural network (ANN) that learns Q&A and document pairs to create a model, receives the user's query and document as input, and provides the correct answer through the learned model. , Machine Reading Comprehension) technology. This is attracting a lot of attention in that if you learn well, you can find the correct answer to many questions with quite high accuracy without creating an answer in advance. However, although the method using MRC is the most advanced method, it is necessary to find the document with the correct answer in advance and provide it to the MRC engine along with the question, and as a result, only the location of the correct answer in the document is presented as a result. It is difficult, and the MRC technology can only be used for fact-based (Wh-query) questions, so there is a problem that it cannot process other queries (comparative queries, Yes/No queries, etc.).
위와 같은 종래의 방법들에 대해서는 도 1이 참조될 수 있다. 도 1에는 Q&A를 활용하는 정보검색 방법(11), 온톨로지를 이용한 방법(12) 및 기계학습 기반의 기계문서이해 기술(13)에 관한 보다 구체적인 내용들이 도시되어 있다. 종래의 방법들(11, 12, 13)에 의한 전술한 바와 같은 문제점들을 해결하기 위해서는, AI 기반의 기계문서이해 질의응답 기법을 개선할 것이 요구될 수 있다.For the above conventional methods, reference may be made to FIG. 1. In FIG. 1, more detailed contents of an information retrieval method 11 using Q&A, a
이에 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로, 본 발명의 목적은 서술형 답변이 가능하고, 사실 문의형 질의 외의 다양한 질의에 대한 답변이 가능한 AI 기반 질의응답 시스템을 제공하는 것이다.Accordingly, the technical problem of the present invention is conceived in this respect, and an object of the present invention is to provide an AI-based Q&A system capable of providing a narrative answer and answering various inquiries other than inquiries in fact.
또한, 본 발명의 다른 목적은 서술형 답변이 가능하고, 사실 문의형 질의 외의 다양한 질의에 대한 답변이 가능한 AI 기반 질의응답 방법을 제공하는 것이다.In addition, another object of the present invention is to provide an AI-based question-and-answer method that enables narrative answers and answers to various inquiries other than in fact inquiry-type queries.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 AI 기반 질의응답 시스템 및 방법은 사용자 질의, 질의 유형 분류, 질의 연관문서 선별, 정답 위치 탐색, 서술형 답변 생성 및 답변의 제시 단계를 통해 사용자의 다양한 질의에 대해 서술형 답변을 제시할 수 있다.The AI-based question-and-answer system and method according to an embodiment for realizing the above-described object of the present invention include user query, query type classification, query-related document selection, search for correct answer location, narrative answer generation, and answer presentation steps. Can provide narrative answers to various inquiries of.
보다 상세하게는, 본 발명의 일 실시예에 따른 사용자 질의에 대한 AI 답변을 제시하는 질의응답 시스템은, 명령어들을 저장하는 메모리; 및 상기 명령어들을 실행함으로써: 질의 유형 분류 모델에 기초하여 상기 사용자 질의의 사용자 질의 유형을 분류하고, 질의 유형 변환 모델에 기초하여 상기 사용자 질의 유형을 사실 질의로 변환하고, 탐색 대상 문서들 각각의 문서 벡터 및 상기 사실 질의의 질의 벡터 간의 유사도에 기초하여 상기 탐색 대상 문서들로부터 질의 연관 문서를 선별하고, 기계 문서 이해(MRC: Machine Reading Comprehension) 모델에 기초하여 상기 질의 연관 문서의 내부에서 정답 위치를 탐색하고, 상기 정답 위치로부터 도출되는 정답에 대해 상기 질의 유형에 따른 후처리를 실시하여 상기 사용자 질의에 대한 단답형 답변을 생성하고, 개량 Seq2Seq 모델에 기초하여 상기 단답형 답변을 서술형 답변으로 변환하여 상기 AI 답변을 제시하도록 구성되는 프로세서를 포함한다.More specifically, a question answering system for presenting an AI answer to a user query according to an embodiment of the present invention includes: a memory storing instructions; And by executing the commands: classifying a user query type of the user query based on a query type classification model, converting the user query type to a fact query based on a query type conversion model, and documenting each of the documents to be searched. Selecting a query-related document from the search target documents based on the similarity between the vector and the query vector of the fact query, and determining the correct answer position within the query-related document based on a Machine Reading Comprehension (MRC) model. Search, and perform post-processing according to the query type for the correct answer derived from the correct answer location to generate a short answer type answer to the user query, and convert the short answer type answer to a narrative answer based on the improved Seq2Seq model to the AI And a processor configured to present an answer.
본 발명의 일 실시예에 있어서, 상기 질의 유형 분류 모델은 질의 유형이 미리 분류된 질의들의 말뭉치에 대한 형태소 분석을 수행하여 CRF(Conditional Random Field) 학습 데이터셋을 생성하고, 상기 CRF 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 질의의 질의 유형을 분류하는 분류 포텐셜 함수를 형성하는 방식으로 학습될 수 있다.In one embodiment of the present invention, the query type classification model generates a conditional random field (CRF) training dataset by performing a morpheme analysis on a corpus of queries whose query type is pre-classified, and the CRF training dataset It can be learned in such a way that a classification potential function that classifies a query type of an arbitrary query is formed by applying a CRF machine learning algorithm.
본 발명의 일 실시예에 있어서, 상기 프로세서는, 상기 사용자 질의 유형을 분류할 때, 상기 사용자 질의에 대한 형태소 분석을 수행하여 사용자 질의 분석 데이터를 생성하고, 상기 사용자 질의 분석 데이터를 상기 분류 포텐셜 함수에 입력함으로써, 상기 사용자 질의 유형을 분류할 수 있다.In one embodiment of the present invention, when classifying the user query type, the processor generates user query analysis data by performing morpheme analysis on the user query, and converts the user query analysis data to the classification potential function. By inputting to, the user query type can be classified.
본 발명의 일 실시예에 있어서, 상기 프로세서는, 상기 사용자 질의 유형을 사실 질의로 변환할 때, 상기 사용자 질의 유형이 참/거짓 질의, 선택 질의 및 비교 질의 중 어느 하나에 해당하는 경우 상기 참/거짓 질의를 사실 질의로 변환하거나 상기 선택 질의 또는 비교 질의를 사실 질의로 변환하고, 상기 질의 유형 변환 모델은, 상기 참/거짓 질의를 사실 질의로 변환하는 제1 변환 모델 및 상기 선택 질의 또는 비교 질의를 사실 질의로 변환하는 제2 변환 모델을 포함할 수 있다.In one embodiment of the present invention, the processor, when converting the user query type to a fact query, if the user query type corresponds to any one of a true/false query, a selection query, and a comparison query, the true/false query Converting a false query into a fact query, or converting the selected query or comparison query into a fact query, and the query type conversion model includes: a first transformation model that converts the true/false query into a fact query, and the selected query or comparison query It may include a second transformation model that converts to a true query.
본 발명의 일 실시예에 있어서, 상기 제1 변환 모델은 사실 질의로의 변환을 위한 의문사가 미리 태그된 참/거짓 질의들의 말뭉치에 대한 형태소 분석을 수행하여 제1 변환 학습 데이터셋을 생성하고, 상기 제1 변환 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 참/거짓 질의에 의문사를 태그하는 제1 변환 포텐셜 함수를 형성하는 방식으로 학습될 수 있다.In an embodiment of the present invention, the first transformation model generates a first transformation learning dataset by performing morpheme analysis on a corpus of true/false queries in which a questionnaire for transformation into a true query is tagged in advance, It may be learned by applying a CRF machine learning algorithm to the first transformation learning dataset to form a first transformation potential function for tagging a questionnaire to an arbitrary true/false query.
본 발명의 일 실시예에 있어서, 상기 프로세서는, 상기 참/거짓 질의를 사실 질의로 변환할 때, 상기 참/거짓 질의에 대한 형태소 분석을 수행하여 참/거짓 분석 데이터를 생성하고, 상기 참/거짓 분석 데이터를 상기 제1 변환 포텐셜 함수에 입력함으로써, 상기 참/거짓 질의를 사실 질의로 변환할 수 있다.In one embodiment of the present invention, the processor generates true/false analysis data by performing morpheme analysis on the true/false query when converting the true/false query into a true query, and generates the true/false analysis data. By inputting false analysis data to the first transformation potential function, the true/false query may be converted into a true query.
본 발명의 일 실시예에 있어서, 상기 제2 변환 모델은 사실 질의로의 변환을 위한 선택/비교 대상이 미리 식별된 선택 질의들 및 비교 질의들의 말뭉치에 대한 형태소 분석을 수행하여 제2 변환 학습 데이터셋을 생성하고, 상기 제2 변환 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 선택 질의 또는 비교 질의에서 선택/비교 대상을 식별하는 제2 변환 포텐셜 함수를 형성하는 방식으로 학습될 수 있다.In an embodiment of the present invention, the second transformation model performs a morpheme analysis on a corpus of selection queries and comparison queries for which selection/comparison targets for transformation into a true query are previously identified, and the second transformation learning data It can be learned in a manner of generating a set and forming a second transform potential function for identifying a selection/comparison object in an arbitrary selection query or comparison query by applying a CRF machine learning algorithm to the second transformation learning dataset. .
본 발명의 일 실시예에 있어서, 상기 프로세서는, 상기 상기 선택 질의 또는 비교 질의를 사실 질의로 변환할 때, 상기 선택 질의 또는 비교 질의에 대한 형태소 분석을 수행하여 선택/비교 분석 데이터를 생성하고, 상기 선택/비교 분석 데이터를 상기 제2 변환 포텐셜 함수에 입력하여 상기 선택 질의 또는 비교 질의에서의 선택/비교 대상을 식별하고, 상기 선택/비교 대상에 기초하여 상기 선택 질의 또는 비교 질의를 사실 질의로 변환할 수 있다.In an embodiment of the present invention, the processor generates selection/comparison analysis data by performing morpheme analysis on the selection query or comparison query when converting the selection query or comparison query into a fact query, The selection/comparison analysis data is input to the second transformation potential function to identify a selection/comparison object in the selection query or comparison query, and the selection query or comparison query as a fact query based on the selection/comparison object Can be converted.
본 발명의 일 실시예에 있어서, 상기 프로세서는, 상기 질의 연관 문서를 선별할 때, 상기 탐색 대상 문서들 각각에 대해 TF-IDF(Term-Frequency Inverse Document Frequency) 가중치를 기반으로 문단 단위로 생성되는 문단 벡터들의 역파일 색인 DB(Inverted File Index Database)에 기초하여 상기 문단 벡터들 각각 및 상기 질의 벡터 간의 코사인 유사도(Cosine Similarity)를 산출하고, 상기 코사인 유사도에 기초하여 상기 질의 연관 문서를 선별할 수 있다.In an embodiment of the present invention, the processor, when selecting the query-related document, is generated in a paragraph unit based on a TF-IDF (Term-Frequency Inverse Document Frequency) weight for each of the search target documents. Cosine similarity between each of the paragraph vectors and the query vector is calculated based on the inverted file index database (DB) of the paragraph vectors, and the query-related document can be selected based on the cosine similarity. have.
본 발명의 일 실시예에 있어서, 상기 프로세서는, 상기 질의 연관 문서를 선별할 때, 상기 사용자 질의를 구성하는 키워드들을 기준으로 상기 질의 연관 문서의 문장들 중 상기 키워드를 포함하는 문장을 선별하여 질의 연관 요약문을 생성할 수 있다.In one embodiment of the present invention, when selecting the query-related document, the processor selects a sentence including the keyword from among sentences of the query-related document based on keywords constituting the user query and makes a query. You can create an association summary.
본 발명의 일 실시예에 있어서, 상기 기계 문서 이해 모델은 상기 질의 연관 문서 및 상기 사용자 질의를 수치화하기 위한 인코딩 레이어, 상기 질의 연관 문서 및 상기 사용자 질의 간의 관계와 문맥을 파악하기 위한 상호집중 레이어(Co-Attention Layer) 및 상기 질의 연관 문서의 내부에서 상기 사용자 질의에 대한 정답이 존재하는 시작 위치 및 종료 위치를 포인팅하기 위한 출력 레이어를 포함하고, LSTM(Long Short-Term Memory) 모델에 따라 상기 시작 위치 및 종료 위치를 포인팅하도록 학습될 수 있다.In one embodiment of the present invention, the machine document understanding model includes an encoding layer for quantifying the query-related document and the user query, and an inter-concentration layer for grasping the relationship and context between the query-related document and the user query ( Co-Attention Layer) and an output layer for pointing to a start position and an end position of the correct answer to the user query within the query-related document, and the start according to the LSTM (Long Short-Term Memory) model It can be learned to point to the location and the end location.
본 발명의 일 실시예에 있어서, 상기 프로세서는, 상기 단답형 답변을 생성할 때, 상기 사용자 질의 유형이 참/거짓 질의인 경우 상기 정답 위치로부터 도출되는 사실 질의에 대한 정답에 기초하여 예 또는 아니오를 상기 단답형 답변으로 생성하고, 상기 사용자 질의 유형이 비교 질의 또는 선택 질의인 경우 상기 정답 위치로부터 도출되는 사실 질의에 대한 정답에 기초하여 선택 대상 중 어느 하나 또는 비교 대상 중 어느 하나를 상기 단답형 답변으로 생성할 수 있다.In one embodiment of the present invention, when generating the short answer type, the processor, when the user query type is a true/false query, selects yes or no based on the correct answer to the fact query derived from the correct answer position. Generated as the short answer type, and when the user query type is a comparison query or a selection query, one of the selection targets or one of the comparison targets is generated as the short answer type based on the correct answer to the factual query derived from the correct answer location. can do.
본 발명의 일 실시예에 있어서, 상기 개량 Seq2Seq 모델은 상기 사용자 질의에 대한 형태소 분석에 의해 추출되는 형태소 토큰들로부터 타임 스텝별 스테이트를 출력하는 인코더 구조 및 상기 단답형 답변 및 상기 타임 스텝별 스테이트에 기초하여 상기 서술형 답변을 생성하도록 학습되는 디코더 구조를 포함할 수 있다.In one embodiment of the present invention, the improved Seq2Seq model is based on an encoder structure that outputs state for each time step from morpheme tokens extracted by morpheme analysis of the user query, and the short answer type answer and the state for each time step. Thus, it may include a decoder structure that is learned to generate the narrative answer.
본 발명의 일 실시예에 있어서, 상기 디코더 구조는, 상기 타임 스텝별 스테이트 중 마지막에 출력되어 상기 사용자 질의의 어미(語尾)에 대응되는 마지막 스테이트를 처리하는 이중층 형태의 Bi-LSTM 레이어를 포함할 수 있다.In one embodiment of the present invention, the decoder structure may include a bi-layered Bi-LSTM layer that is output last among the states for each time step and processes the last state corresponding to the ending of the user query. I can.
본 발명의 일 실시예에 있어서, 상기 프로세서는, 상기 AI 답변을 제시할 때, 상기 단답형 답변을 상기 디코더 구조에 입력하여 상기 디코더 구조에 의해 추론되는 예측값을 생성하고, 상기 디코더 구조에 의해 추론되는 예측값을 다시 상기 디코더 구조에 입력하는 과정을 반복하여 상기 서술형 답변을 생성할 수 있다.In one embodiment of the present invention, the processor, when presenting the AI answer, inputs the short answer type answer to the decoder structure to generate a predicted value inferred by the decoder structure, and is inferred by the decoder structure. The narrative answer may be generated by repeating the process of inputting the predicted value back into the decoder structure.
본 발명의 다른 실시예에 따른 프로세서에 의해 사용자 질의에 대한 AI 답변을 제시하는 질의응답 방법은, 질의 유형 분류 모델에 기초하여 상기 사용자 질의의 사용자 질의 유형을 분류하는 단계; 질의 유형 변환 모델에 기초하여 상기 사용자 질의 유형을 사실 질의로 변환하는 단계; 탐색 대상 문서들 각각의 문서 벡터 및 상기 사실 질의의 질의 벡터 간의 유사도에 기초하여 상기 탐색 대상 문서들로부터 질의 연관 문서를 선별하는 단계; 기계 문서 이해(MRC: Machine Reading Comprehension) 모델에 기초하여 상기 질의 연관 문서의 내부에서 정답 위치를 탐색하는 단계; 상기 정답 위치로부터 도출되는 정답에 대해 상기 질의 유형에 따른 후처리를 실시하여 상기 사용자 질의에 대한 단답형 답변을 생성하는 단계; 및 개량 Seq2Seq 모델에 기초하여 상기 단답형 답변을 서술형 답변으로 변환하여 상기 AI 답변을 제시하는 단계를 포함한다.According to another embodiment of the present invention, a query answering method for presenting an AI answer to a user query by a processor includes: classifying a user query type of the user query based on a query type classification model; Converting the user query type into a fact query based on a query type conversion model; Selecting a query-related document from the search target documents based on the similarity between the document vector of each of the search target documents and the query vector of the fact query; Searching for a location of a correct answer within the query-related document based on a Machine Reading Comprehension (MRC) model; Generating a short answer-type answer to the user query by performing post-processing according to the type of the query on the correct answer derived from the correct answer location; And converting the short answer type answer into a narrative answer based on the improved Seq2Seq model and presenting the AI answer.
본 발명의 일 실시예에 있어서, 상기 질의 유형 분류 모델은 질의 유형이 미리 분류된 질의들의 말뭉치에 대한 형태소 분석을 수행하여 CRF(Conditional Random Field) 학습 데이터셋을 생성하고, 상기 CRF 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 질의의 질의 유형을 분류하는 분류 포텐셜 함수를 형성하는 방식으로 학습될 수 있다.In one embodiment of the present invention, the query type classification model generates a conditional random field (CRF) training dataset by performing a morpheme analysis on a corpus of queries whose query type is pre-classified, and the CRF training dataset It can be learned in such a way that a classification potential function that classifies a query type of an arbitrary query is formed by applying a CRF machine learning algorithm.
본 발명의 일 실시예에 있어서, 상기 사용자 질의 유형을 분류하는 단계는,In one embodiment of the present invention, the step of classifying the user query type,
상기 사용자 질의에 대한 형태소 분석을 수행하여 사용자 질의 분석 데이터를 생성하는 단계 및 상기 사용자 질의 분석 데이터를 상기 분류 포텐셜 함수에 입력함으로써, 상기 사용자 질의 유형을 분류하는 단계를 포함할 수 있다.And generating user query analysis data by performing morpheme analysis on the user query, and classifying the user query type by inputting the user query analysis data into the classification potential function.
본 발명의 일 실시예에 있어서, 상기 사용자 질의 유형을 사실 질의로 변환하는 단계는 상기 사용자 질의 유형이 참/거짓 질의, 선택 질의 및 비교 질의 중 어느 하나에 해당하는 경우 상기 참/거짓 질의를 사실 질의로 변환하는 단계 또는 상기 선택 질의 또는 비교 질의를 사실 질의로 변환하는 단계를 포함하고, 상기 질의 유형 변환 모델은, 상기 참/거짓 질의를 사실 질의로 변환하는 제1 변환 모델 및 상기 선택 질의 또는 비교 질의를 사실 질의로 변환하는 제2 변환 모델을 포함할 수 있다.In one embodiment of the present invention, the step of converting the user query type to a fact query is to determine the true/false query when the user query type corresponds to any one of a true/false query, a selection query, and a comparison query. Converting the selected query or the comparison query to a fact query, wherein the query type conversion model includes: a first conversion model for converting the true/false query to a fact query, and the selected query or It may include a second transformation model that transforms the comparison query into a fact query.
본 발명의 일 실시예에 있어서, 상기 제1 변환 모델은 사실 질의로의 변환을 위한 의문사가 미리 태그된 참/거짓 질의들의 말뭉치에 대한 형태소 분석을 수행하여 제1 변환 학습 데이터셋을 생성하고, 상기 제1 변환 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 참/거짓 질의에 의문사를 태그하는 제1 변환 포텐셜 함수를 형성하는 방식으로 학습될 수 있다.In an embodiment of the present invention, the first transformation model generates a first transformation learning dataset by performing morpheme analysis on a corpus of true/false queries in which a questionnaire for transformation into a true query is tagged in advance, It may be learned by applying a CRF machine learning algorithm to the first transformation learning dataset to form a first transformation potential function for tagging a questionnaire to an arbitrary true/false query.
본 발명의 일 실시예에 있어서, 상기 참/거짓 질의를 사실 질의로 변환하는 단계는 상기 참/거짓 질의에 대한 형태소 분석을 수행하여 참/거짓 분석 데이터를 생성하는 단계 및 상기 참/거짓 분석 데이터를 상기 제1 변환 포텐셜 함수에 입력함으로써, 상기 참/거짓 질의를 사실 질의로 변환하는 단계를 포함할 수 있다.In an embodiment of the present invention, the converting of the true/false query into a true query comprises generating true/false analysis data by performing morpheme analysis on the true/false query, and the true/false analysis data. And converting the true/false query into a true query by inputting the first transform potential function to the first transform potential function.
본 발명의 일 실시예에 있어서, 상기 제2 변환 모델은 사실 질의로의 변환을 위한 선택/비교 대상이 미리 식별된 선택 질의들 및 비교 질의들의 말뭉치에 대한 형태소 분석을 수행하여 제2 변환 학습 데이터셋을 생성하고, 상기 제2 변환 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 선택 질의 또는 비교 질의에서 선택/비교 대상을 식별하는 제2 변환 포텐셜 함수를 형성하는 방식으로 학습될 수 있다.In an embodiment of the present invention, the second transformation model performs a morpheme analysis on a corpus of selection queries and comparison queries for which selection/comparison targets for transformation into a true query are previously identified, and the second transformation learning data It can be learned in a manner of generating a set and forming a second transform potential function for identifying a selection/comparison object in an arbitrary selection query or comparison query by applying a CRF machine learning algorithm to the second transformation learning dataset. .
본 발명의 일 실시예에 있어서, 상기 선택 질의 또는 비교 질의를 사실 질의로 변환하는 단계는 상기 선택 질의 또는 비교 질의에 대한 형태소 분석을 수행하여 선택/비교 분석 데이터를 생성하는 단계, 상기 선택/비교 분석 데이터를 상기 제2 변환 포텐셜 함수에 입력하여 상기 선택 질의 또는 비교 질의에서의 선택/비교 대상을 식별하는 단계 및 상기 선택/비교 대상에 기초하여 상기 선택 질의 또는 비교 질의를 사실 질의로 변환하는 단계를 포함할 수 있다.In one embodiment of the present invention, the converting of the selection query or the comparison query to a fact query comprises generating selection/comparison analysis data by performing a morpheme analysis on the selection query or comparison query, and the selection/comparison Inputting analysis data to the second transformation potential function to identify a selection/comparison object in the selection query or comparison query, and converting the selection query or comparison query into a fact query based on the selection/comparison object It may include.
본 발명의 일 실시예에 있어서, 상기 질의 연관 문서를 선별하는 단계는 상기 탐색 대상 문서들 각각에 대해 TF-IDF(Term-Frequency Inverse Document Frequency) 가중치를 기반으로 문단 단위로 생성되는 문단 벡터들의 역파일 색인 DB(Inverted File Index Database)에 기초하여 상기 문단 벡터들 각각 및 상기 질의 벡터 간의 코사인 유사도(Cosine Similarity)를 산출하는 단계 및 상기 코사인 유사도에 기초하여 상기 질의 연관 문서를 선별하는 단계를 포함할 수 있다.In one embodiment of the present invention, the step of selecting the query-related documents includes inverse of paragraph vectors generated in units of paragraphs based on a TF-IDF (Term-Frequency Inverse Document Frequency) weight for each of the search target documents. Computing a cosine similarity between each of the paragraph vectors and the query vector based on an Inverted File Index Database (DB), and selecting the query-related document based on the cosine similarity. I can.
본 발명의 일 실시예에 있어서, 상기 질의 연관 문서를 선별하는 단계는 상기 사용자 질의를 구성하는 키워드들을 기준으로 상기 질의 연관 문서의 문장들 중 상기 키워드를 포함하는 문장을 선별하여 질의 연관 요약문을 생성하는 단계를 포함할 수 있다.In one embodiment of the present invention, the step of selecting the query-related document generates a query-related summary sentence by selecting a sentence including the keyword from among sentences of the query-related document based on keywords constituting the user query. It may include the step of.
본 발명의 일 실시예에 있어서, 상기 기계 문서 이해 모델은 상기 질의 연관 문서 및 상기 사용자 질의를 수치화하기 위한 인코딩 레이어, 상기 질의 연관 문서 및 상기 사용자 질의 간의 관계와 문맥을 파악하기 위한 상호집중 레이어(Co-Attention Layer) 및 상기 질의 연관 문서의 내부에서 상기 사용자 질의에 대한 정답이 존재하는 시작 위치 및 종료 위치를 포인팅하기 위한 출력 레이어를 포함하고, LSTM(Long Short-Term Memory) 모델에 따라 상기 시작 위치 및 종료 위치를 포인팅하도록 학습될 수 있다.In one embodiment of the present invention, the machine document understanding model includes an encoding layer for quantifying the query-related document and the user query, and an inter-concentration layer for grasping the relationship and context between the query-related document and the user query ( Co-Attention Layer) and an output layer for pointing to a start position and an end position of the correct answer to the user query within the query-related document, and the start according to the LSTM (Long Short-Term Memory) model It can be learned to point to the location and the end location.
본 발명의 일 실시예에 있어서, 상기 단답형 답변을 생성하는 단계는 상기 사용자 질의 유형이 참/거짓 질의인 경우 상기 정답 위치로부터 도출되는 사실 질의에 대한 정답에 기초하여 예 또는 아니오를 상기 단답형 답변으로 생성하는 단계 및 상기 사용자 질의 유형이 비교 질의 또는 선택 질의인 경우 상기 정답 위치로부터 도출되는 사실 질의에 대한 정답에 기초하여 선택 대상 중 어느 하나 또는 비교 대상 중 어느 하나를 상기 단답형 답변으로 생성하는 단계를 포함할 수 있다.In one embodiment of the present invention, the step of generating the short-answer answer includes answering yes or no as the short-answer answer based on the correct answer to the fact query derived from the correct answer position when the user query type is a true/false query. Generating and generating any one of the selection targets or any one of the comparison targets as the short answer type based on the correct answer to the fact query derived from the correct answer location when the user query type is a comparison query or a selection query. Can include.
본 발명의 일 실시예에 있어서, 상기 개량 Seq2Seq 모델은 상기 사용자 질의에 대한 형태소 분석에 의해 추출되는 형태소 토큰들로부터 타임 스텝별 스테이트를 출력하는 인코더 구조 및 상기 단답형 답변 및 상기 타임 스텝별 스테이트에 기초하여 상기 서술형 답변을 생성하도록 학습되는 디코더 구조를 포함할 수 있다.In one embodiment of the present invention, the improved Seq2Seq model is based on an encoder structure that outputs state for each time step from morpheme tokens extracted by morpheme analysis of the user query, and the short answer type answer and the state for each time step. Thus, it may include a decoder structure that is learned to generate the narrative answer.
본 발명의 일 실시예에 있어서, 상기 디코더 구조는, 상기 타임 스텝별 스테이트 중 마지막에 출력되어 상기 사용자 질의의 어미(語尾)에 대응되는 마지막 스테이트를 처리하는 이중층 형태의 Bi-LSTM 레이어를 포함할 수 있다.In one embodiment of the present invention, the decoder structure may include a bi-layered Bi-LSTM layer that is output last among the states for each time step and processes the last state corresponding to the ending of the user query. I can.
본 발명의 일 실시예에 있어서, 상기 AI 답변을 제시하는 단계는 상기 단답형 답변을 상기 디코더 구조에 입력하여 상기 디코더 구조에 의해 추론되는 예측값을 생성하는 단계 및 상기 디코더 구조에 의해 추론되는 예측값을 다시 상기 디코더 구조에 입력하는 과정을 반복하여 상기 서술형 답변을 생성하는 단계를 포함할 수 있다.In an embodiment of the present invention, the presenting of the AI answer includes generating a predicted value inferred by the decoder structure by inputting the short answer answer to the decoder structure, and re-reducing the predicted value inferred by the decoder structure. It may include the step of generating the narrative answer by repeating the process of inputting into the decoder structure.
본 발명의 실시예들에 따르면, 본 발명은 AI기반 기계문서이해(MRC, Machine Reading Comprehension)를 현업에 사용하기 위한 실질적인 문제를 해결하기 위한 것으로 사용자의 질문을 분류하고 질문에 대한 정답이 존재하는 문서를 선별하고 사용자의 질문과 선별된 문서를 MRC엔진에 전달하여 정답의 위치를 알아내고 도출된 정답을 서술형으로 표현하여 사용자에게 제시할 수 있다.According to embodiments of the present invention, the present invention is to solve a practical problem for using AI-based Machine Reading Comprehension (MRC) in the field, and classifies user's questions and provides correct answers to the questions. Documents are selected, the user's question and the selected document are delivered to the MRC engine to find the location of the correct answer, and the derived correct answer can be expressed in narrative form and presented to the user.
보다 상세하게는, 사용자 질의에 대한 AI 답변을 제시하는 질의응답 시스템 및 방법에 의하면 참/거짓 질의, 비교 질의 또는 선택 질의와 같은 사용자 질의 또한 질의 유형 변환을 통해 사실 질의의 형태로 변환될 수 있으므로, 종래의 방법들과는 달리 다양한 유형의 질의들에 대해서도 AI 답변이 제시될 수 있다.More specifically, according to the Q&A system and method that provides AI answers to user queries, user queries such as true/false queries, comparison queries, or selection queries can also be converted into a true query form through query type conversion. However, unlike conventional methods, AI answers may be presented to various types of inquiries.
또한, 단순히 기계 문서 이해 모델에 의해 탐색되는 단답형 정답이 제시되는 것이 아닌, 개량 Seq2Seq 모델에 기초하여 단답형 답변으로부터 변환되는 서술형 답변이 제시될 수 있으므로, 단답형 답변에 의해 사용자가 불친절함을 느끼게 되는 문제점이 해소될 수 있어, AI 질의응답의 사용자 편의성이 향상될 수 있다.In addition, the short-answer correct answers searched by the machine document understanding model are not presented, but the descriptive answers converted from the short-answer answers based on the improved Seq2Seq model can be presented. This can be solved, and user convenience of AI Q&A can be improved.
도 1은 자동 질의 응답 시스템을 구현하기 위한 종래의 방법들을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 사용자 질의에 대한 AI 답변을 제시하는 전체적인 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 사용자 질의에 대한 AI 답변을 제시하는 질의응답 시스템을 구성하는 요소들을 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 사용자 질의 유형을 분류하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 질의 유형 분류 모델의 학습 과정에서 활용되는 말뭉치를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 참/거짓 질의를 사실 질의로 변환하는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 비교 질의 또는 선택 질의를 사실 질의로 변환하는 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 질의 연관 문서를 선별하는 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 코사인 유사도에 기초하여 질의 연관 문서를 선별하는 과정을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 기계 문서 이해(MRC) 모델에 기초하여 질의 연관 문서의 내부에서 정답 위치를 탐색하는 과정을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 개량 Seq2Seq 모델에 기초하여 단답형 답변을 서술형 답변으로 변환하는 과정을 설명하기 위한 도면이다.
도 12는 본 발명의 일 실시예에 따른 개량 Seq2Seq 모델의 디코더 구조가 학습되는 과정을 설명하기 위한 도면이다.
도 13은 본 발명의 일 실시예에 따른 개량 Seq2Seq 모델의 디코더 구조가 서술형 답변을 추론하는 과정을 설명하기 위한 도면이다.
도 14는 본 발명의 일 실시예에 따른 사용자 질의에 대한 AI 답변을 제시하는 질의응답 방법을 구성하는 단계들을 나타내는 흐름도이다.1 is a diagram for explaining conventional methods for implementing an automatic question answering system.
2 is a diagram for explaining an overall process of presenting an AI answer to a user query according to an embodiment of the present invention.
3 is a block diagram showing elements constituting a question answering system for presenting an AI answer to a user query according to an embodiment of the present invention.
4 is a diagram for explaining a process of classifying user query types according to an embodiment of the present invention.
5 is a diagram illustrating a corpus used in a learning process of a query type classification model according to an embodiment of the present invention.
6 is a diagram illustrating a process of converting a true/false query into a true query according to an embodiment of the present invention.
7 is a diagram illustrating a process of converting a comparison query or a selection query into a fact query according to an embodiment of the present invention.
8 is a diagram for explaining a process of selecting a query-related document according to an embodiment of the present invention.
9 is a diagram for explaining a process of selecting a query-related document based on a cosine similarity according to an embodiment of the present invention.
10 is a view for explaining a process of searching for a location of a correct answer within a query-related document based on a machine document understanding (MRC) model according to an embodiment of the present invention.
11 is a view for explaining a process of converting a short answer type answer into a narrative answer based on an improved Seq2Seq model according to an embodiment of the present invention.
12 is a diagram illustrating a process of learning a decoder structure of an improved Seq2Seq model according to an embodiment of the present invention.
13 is a diagram illustrating a process of inferring a narrative answer by a decoder structure of an improved Seq2Seq model according to an embodiment of the present invention.
14 is a flowchart illustrating steps of configuring a question answering method for presenting an AI answer to a user query according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 실시예들을 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다.The present invention will be described in detail in the text, since various modifications can be made and various forms can be obtained. However, this is not intended to limit the present invention to a specific form disclosed, it should be understood to include all changes, equivalents, or substitutes included in the spirit and scope of the present invention. In describing each drawing, similar reference numerals have been used for similar elements. Terms such as first and second may be used to describe various elements, but the elements should not be limited by the terms.
상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.The above terms are used only for the purpose of distinguishing one component from another component. The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise.
본 출원에서, "포함하다" 또는 "이루어진다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the present application, terms such as "comprise" or "consist of" are intended to designate the presence of features, numbers, steps, actions, elements, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance the possibility of the presence or addition.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.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 the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present application. Does not.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.
도 2는 본 발명의 일 실시예에 따른 사용자 질의에 대한 AI 답변을 제시하는 전체적인 과정을 설명하기 위한 도면이다.2 is a diagram for explaining an overall process of presenting an AI answer to a user query according to an embodiment of the present invention.
도 2를 참조하면, AI 기반 기계 문서 이해(MRC) 질의응답 시스템에서 사용자 질의에 대한 답변이 생성되는 과정이 도시되어 있다. 사용자 질의에 대한 답변이 생성되는 과정은 크게 6개의 세부 과정들, 즉 질의 유형 분류 과정(21), 질의 유형 변환 과정(22), 연관 문서 선별 과정(23), 정답 위치 탐색 과정(24), 질의 유형별 후처리 과정(단답형 답변 생성 과정)(25) 및 서술형 답변 생성 과정(26)으로 이루어질 수 있다.Referring to FIG. 2, a process of generating an answer to a user query in an AI-based machine document understanding (MRC) question-and-answer system is illustrated. The process of generating an answer to a user's query consists of six sub-processes, namely, a query type classification process (21), a query type conversion process (22), a related document selection process (23), a correct answer location search process (24), and It may consist of a post-processing process (short answer-type answer generation process) 25 and a narrative-type answer generation process (26) for each type of query.
질의 유형 분류 과정(21)에서는 사용자 질의가 어떤 유형인지가 분류될 수 있다. 도시된 바와 같이, 사용자 질의는 사실 질의, 참/거짓 질의, 비교 질의 또는 선택 질의로 분류될 수 있고, 이 이외의 질의 유형은 처리 불가 답변으로 취급되어 질의응답 과정이 종료될 수 있다.In the query
질의 유형 변환 과정(22)에서는 사용자 질의의 질의 유형이 사실 질의로 변환될 수 있다. 즉, 질의 유형 분류 과정(21)에서 사용자 질의가 참/거짓 질의, 비교 질의 또는 선택 질의로 분류되는 경우에는, 해당 질의를 사실 질의로 변환하는 과정이 수행될 수 있다.In the query
연관 문서 선별 과정(23)에서는 질의 유형 분류 과정(21)에 의해 분류되거나 질의 유형 변환 과정(22)에 의해 변환되는 사실 질의에 대해, 그와 가장 연관성이 큰 문서가 질의 연관 문서로서 선별될 수 있다. 질의 연관 문서의 선별이 수행되는 탐색 대상 문서들은 업무 문서, 웹 문서 및 이메일 등 다양한 종류의 문서들일 수 있으며, 사용자 질의에 대한 질의응답 과정이 시작되기 이전에 적절한 방식으로 준비될 수 있다.In the related document selection process (23), for a fact query that is classified by the query type classification process (21) or converted by the query type conversion process (22), the document with the greatest correlation therewith can be selected as the query-related document. have. Documents to be searched for which query-related documents are selected may be various types of documents such as business documents, web documents, and e-mails, and may be prepared in an appropriate manner before the question-and-answer process for user queries begins.
정답 위치 탐색 과정(24)에서는 연관 문서 선별 과정(23)에서 선별되는 질의 연관 문서의 내부에서, 사용자 질의에 대한 정답이 존재하는 위치가 탐색될 수 있다. 정답 위치 탐색은 기계 문서 이해(MRC, Machine Reading Comprehension)를 활용하여 수행될 수 있다.In the correct answer
질의 유형별 후처리 과정(단답형 답변 생성 과정)(25)에서는 정답 위치 탐색 과정(24)에서 탐색되는 정답 위치에서의 사용자 질의에 대한 정답에 대해 참/거짓 질의, 비교 질의 또는 선택 질의별로 후처리가 실시되어 사용자 질의에 대한 단답형 답변이 생성될 수 있다.In the post-processing process for each type of query (short-answer answer generation process) (25), post-processing is performed for each true/false query, comparison query, or selected query for the correct answer to the user query at the correct answer location searched in the correct answer location search process (24). This may be implemented to generate a short answer type answer to a user query.
서술형 답변 생성 과정(26)에서는 질의 유형별 후처리 과정(단답형 답변 생성 과정)(25)에서 생성되는 단답형 답변을 서술형 답변으로 변환하는 과정이 수행되어, 사용자 질의에 대한 서술형 답변이 AI 질의응답 과정의 전체 결과물로서 제시될 수 있다.In the narrative answer generation process (26), a process of converting the short-answer answers generated in the post-processing process (short-answer generation process) (25) for each type of query into a narrative answer is performed, so that the narrative answer to the user's query is It can be presented as an overall outcome.
질의 유형 분류 과정(21), 질의 유형 변환 과정(22), 연관 문서 선별 과정(23), 정답 위치 탐색 과정(24), 질의 유형별 후처리 과정(단답형 답변 생성 과정)(25) 및 서술형 답변 생성 과정(26)으로 이루어지는 AI 질의응답 과정은, 이하에서 설명되는 질의응답 시스템(300)에 의해 수행될 수 있다.Query type classification process (21), query type conversion process (22), related document selection process (23), correct answer location search process (24), post-processing process for each type of query (short answer generation process) (25) and narrative answer generation The AI question-and-answer process consisting of the
도 3은 본 발명의 일 실시예에 따른 사용자 질의에 대한 AI 답변을 제시하는 질의응답 시스템을 구성하는 요소들을 나타내는 블록도이다.3 is a block diagram showing elements constituting a question answering system for presenting an AI answer to a user query according to an embodiment of the present invention.
도 3을 참조하면, 사용자 질의에 대한 AI 답변을 제시하는 질의응답 시스템(300)는 메모리(310) 및 프로세서(320)를 포함할 수 있다. 다만 이에 제한되는 것은 아니고, 도 3에 도시되는 요소들 외에 다른 범용적인 요소들이 질의응답 시스템(300)에 더 포함될 수 있다.Referring to FIG. 3, a
질의응답 시스템(300)는 사용자 질의에 대한 AI 답변을 제시하기 위한 컴퓨팅 디바이스일 수 있다. 질의응답 시스템(300)는 각종 데이터, 명령어들, 적어도 하나의 프로그램 또는 소프트웨어를 저장하기 위한 수단으로서 메모리(310)를 포함할 수 있고, 명령어들 또는 적어도 하나의 프로그램을 실행함으로써 각종 데이터에 대한 처리를 수행하기 위한 수단으로서 프로세서(320)를 포함할 수 있다.The
메모리(310)는 사용자 질의에 대한 AI 답변 제시에 관련되는 각종 명령어들을 적어도 하나의 프로그램의 형태로 저장할 수 있다. 예를 들면, 메모리(310)는 컴퓨터 프로그램 또는 모바일 애플리케이션과 같은 소프트웨어를 구성하는 명령어들을 저장할 수 있다. 또한, 메모리(310)는 애플리케이션 또는 프로그램의 실행에 필요한 각종 데이터를 저장할 수 있다.The
메모리(310)는 ROM, PROM, EPROM, EEPROM, 플래시 메모리, PRAM, MRAM, RRAM, FRAM 등과 같은 비휘발성 메모리로 구현될 수 있고, 또는 DRAM, SRAM, SDRAM, PRAM, RRAM, FeRAM 등의 휘발성 메모리로 구현될 수 있다. 또한, 메모리(310)는 HDD, SSD, SD, Micro-SD 등으로 구현될 수도 있다.The
프로세서(320)는 메모리(310)에 저장되는 명령어들을 실행함으로써 사용자 질의에 대한 AI 답변을 제시할 수 있다. 프로세서(320)는 사용자 질의에 대한 AI 답변 제시를 구현하기 위한 일련의 처리 과정들을 수행할 수 있다. 또한, 프로세서(320)는 질의응답 시스템(300)를 제어하기 위한 전반적인 기능을 수행할 수 있고, 질의응답 시스템(300) 내부의 각종 연산들을 처리할 수 있다.The
프로세서(320)는 다수의 논리 게이트들의 어레이 또는 범용적인 마이크로 프로세서로 구현될 수 있다. 프로세서(320)는 단일의 프로세서 또는 복수의 프로세서들로 구성될 수 있다. 프로세서(320)는 명령어들을 저장하는 메모리(310) 와 별개의 구성이 아닌, 메모리(310)와 함께 일체로 구성될 수도 있다. 예를 들면, 프로세서(320)는 질의응답 시스템(300) 내에 구비되는 CPU, GPU 및 AP 중 적어도 하나의 형태로 구현될 수 있다.The
프로세서(320)는 질의 유형 분류 모델에 기초하여 사용자 질의의 사용자 질의 유형을 분류할 수 있다.The
AI 기반의 기계 문서 이해(MRC)를 통해 질의응답이 이루어지기 위해서는 사용자 질의 유형이 사실 질의의 형태일 것이 요구될 수 있다. 따라서, 질의 유형 분류 모델에 의해 사용자 질의 유형이 사실 질의, 참/거짓 질의, 선택 질의, 비교 질의 및 기타 질의 중 어느 하나로 분류될 수 있다.In order to answer questions through AI-based machine document understanding (MRC), it may be required that the user query type is actually a query type. Accordingly, a user query type may be classified into one of a fact query, a true/false query, a selection query, a comparison query, and other queries by the query type classification model.
다만, 사용자 질의가 지시, 요구, 명령 또는 서술 등의 형태로 분류되는 경우, 해당 형태는 AI 기반의 기계 문서 이해(MRC)의 답변 대상이 아니므로, 질의응답 절차가 종료될 수 있다. 사용자 질의 유형 분류의 구체적인 내용에 대해서는 후술할 도 4 및 도 5가 참조될 수 있다.However, if a user query is classified in the form of an instruction, request, command, or description, the question-and-answer process may be terminated because the corresponding form is not the subject of an AI-based machine document understanding (MRC) answer. 4 and 5 to be described later may be referred to for specific details of the user query type classification.
프로세서(320)는 질의 유형 변환 모델에 기초하여 사용자 질의 유형을 사실 질의로 변환할 수 있다.The
사용자 질의 유형이 참/거짓 질의, 선택 질의 및 비교 질의 중 어느 하나인 경우, 해당 질의의 유형은 AI 기반의 기계 문서 이해(MRC)의 동작을 위해 질의 유형 변환 모델에 의해 사실 질의로 변환될 수 있다. 사용자 질의 유형 변환의 구체적인 내용에 대해서는 후술할 도 6 및 도 7이 참조될 수 있다.When the user query type is any one of a true/false query, a selection query, and a comparison query, the query type can be converted to a fact query by the query type conversion model for the operation of AI-based machine document understanding (MRC). have. 6 and 7 to be described later may be referred to for details of the user query type conversion.
프로세서(320)는 탐색 대상 문서들 각각의 문서 벡터 및 사실 질의의 질의 벡터 간의 유사도에 기초하여 탐색 대상 문서들로부터 질의 연관 문서를 선별할 수 있다.The
탐색 대상 문서들은 사용자 질의에 대한 정답을 제공하는 후보 문서에 해당하는 것으로서, 탐색 대상 문서들은 문서 벡터의 형태로 수치화되어 데이터베이스화될 수 있다. 수치화되는 문서 벡터 및 사실 질의의 형태로 분류 또는 변환되는 사용자 질의의 질의 벡터 간의 유사도에 기초하면, 탐색 대상 문서들 중 사용자 질의와 가장 관련성이 높은 질의 연관 문서가 선별될 수 있다. 질의 연관 문서 선별의 구체적인 내용에 대해서는 후술할 도 8 및 도 9가 참조될 수 있다.Documents to be searched correspond to candidate documents that provide correct answers to user queries, and the documents to be searched may be numerically converted into a document vector and converted into a database. Based on the similarity between a document vector to be quantified and a query vector of a user query classified or converted in the form of a fact query, a query-related document that is most relevant to the user query among the documents to be searched may be selected. 8 and 9, which will be described later, may be referred to for specific details of selecting a query-related document.
프로세서(320)는 기계 문서 이해(MRC: Machine Reading Comprehension) 모델에 기초하여 질의 연관 문서의 내부에서 정답 위치를 탐색할 수 있다.The
기계 문서 이해 모델은 질의 연관 문서 및 사실 질의의 형태의 사용자 질의를 입력받아 질의 연관 문서 내부에서 사용자 질의에 대한 답변이 존재하는 위치를 출력하는 MRC 엔진을 의미할 수 있다. 정답 위치 탐색의 구체적인 내용에 대해서는 후술할 도 10이 참조될 수 있다.The machine document understanding model may mean an MRC engine that receives a query-related document and a user query in the form of a fact query and outputs a location where an answer to the user query exists in the query-related document. For details of the search for the correct answer location, reference may be made to FIG. 10 to be described later.
프로세서(320)는 정답 위치로부터 도출되는 정답에 대해 질의 유형에 따른 후처리를 실시하여 사용자 질의에 대한 단답형 답변을 생성할 수 있다.The
AI 기반의 기계 문서 이해(MRC)는 사실 질의에 대해 동작하기 때문에, 사용자 질의의 형태가 사실 질의가 아닌 참/거짓 질의, 비교 질의 및 선택 질의 중 어느 하나인 경우에는 AI 기반의 기계 문서 이해(MRC)의 결과, 즉 기계 문서 이해 모델에 의한 정답 위치로부터 도출되는 정답에 대해 질의 유형 변환에 관한 후처리가 실시될 수 있다.Since AI-based machine document understanding (MRC) operates on a true query, if the user query is one of a true/false query, a comparison query, and a selection query, instead of a true query, AI-based machine document understanding ( MRC) results, that is, the correct answer derived from the correct answer position by the machine document understanding model may be subjected to post-processing regarding query type conversion.
예를 들면, 사용자 질의 유형이 참/거짓 질의인 경우("백두산의 높이는 2744 미터입니까?"), 정답 위치로부터 도출되는 정답은 참/거짓 질의로부터 변환되는 사실 질의("백두산의 높이는 몇 미터입니까?")에 대한 정답(2744 미터)에 대한 후처리를 실시하여, 그 결과로 단답형 답변이 생성될 수 있다("예" 및 "아니오" 중 "예"를 선택). 또한, 비교 질의 및 선택 질의의 경우에 대해서도, 참/거짓 질의의 경우와 유사한 방식으로 후처리가 실시되어 단답형 답변이 생성될 수 있다.For example, if the user query type is a true/false query ("Is Mt. Baekdu at 2744 meters high?"), the correct answer derived from the location of the correct answer is converted from a true/false query ("How many meters is Mt. Baekdu?" ?") can be post-processed (2744 meters), resulting in a short-answer answer (select "Yes" from "Yes" and "No"). Also, in the case of the comparison query and the selection query, post-processing is performed in a manner similar to the case of a true/false query to generate a short answer type answer.
프로세서(320)는 개량 Seq2Seq 모델에 기초하여 단답형 답변을 서술형 답변으로 변환하여 AI 답변을 제시할 수 있다.The
기계 문서 이해 모델에 의해 도출되는 정답을 후처리한 결과는 "2744 미터", "예" 및 "백두산" 등과 같이 사용자에게 불친절감을 유발할 수 있는 단답형 답변에 해당하므로, 개량 Seq2Seq 모델에 의해 해당 단답형 답변이 서술형 답변으로 변환되어 AI 답변으로서 제시될 수 있다. AI 답변 제시의 구체적인 내용에 대해서는 후술할 도 11 내지 도 14가 참조될 수 있다.The results of post-processing the correct answers derived by the machine document understanding model correspond to short-answer answers that may cause unkindness to users such as "2744 meters", "Yes" and "Mt. Baekdu", so the corresponding short-answer answers by the improved Seq2Seq model This can be converted into a narrative answer and presented as an AI answer. 11 to 14 to be described later may be referred to for specific contents of the AI answer presentation.
전술한 바와 같이, 프로세서(320)에 의하면 사실 질의에 해당하지 않는 참/거짓 질의, 비교 질의 및 선택 질의에 대해서도 질의 유형 분류/변환을 통해 기계 문서 이해 모델에 의한 정답이 생성될 수 있으므로, 사실 질의에 제한되지 않고 보다 다양한 유형의 질의들에 대해서도 AI 질의응답이 이루어질 수 있다. 또한, 프로세서(320)에 의하면 단답형 답변이 서술형 답변으로 변환되는 과정이 추가로 수행될 수 있으므로, AI 질의응답의 사용자 편의성이 개선될 수 있다.As described above, according to the
도 4는 본 발명의 일 실시예에 따른 사용자 질의 유형을 분류하는 과정을 설명하기 위한 도면이다.4 is a diagram for explaining a process of classifying user query types according to an embodiment of the present invention.
도 4를 참조하면, 질의 유형 분류 모델의 생성 과정(41) 및 분류 과정(42)이 도시되어 있다. 생성 과정(41)은 질의 유형 분류 모델의 학습 과정을 의미할 수 있고, 분류 과정(42)은 질의 유형 분류 모델의 추론 과정을 의미할 수 있다.Referring to FIG. 4, a
사용자 질의는 요구되는 답변에 따라 다양한 형태로 표현될 수 있으며 사용자 질의의 질의 유형이 명확하게 판별될 수 있어야 그에 대한 답변을 자연스럽게 제공될 수 있다. 예를 들어 사용자가 "백두산의 높이는 2744m 입니까?"라고 물었는데 답변으로 "2744m"라고 한다면 자연스럽지 않다. 즉, 사용자는 "예" 혹은 "아니오"라는 답변을 예상하고 있으나 정답을 답변으로 제시하면 다소 엉뚱하다고 느낄 것이다. 이런 경우는 "예, 맞습니다."가 자연스러울 것이다.The user query can be expressed in various forms according to the requested answer, and the answer to the user query can be naturally provided only when the query type of the user query can be clearly identified. For example, if a user asks "Is the height of Mt. Baekdu 2744m?" and the answer is "2744m", it is not natural. In other words, the user is expecting an answer of "yes" or "no", but if the correct answer is presented as an answer, it will feel a bit wrong. In this case, "Yes, that's right" would be natural.
위와 같은 이유로 사용자 질의의 질의 유형을 분류하고 그에 맞는 적절한 답변을 제공하는 것이 중요할 수 있다. 사용자 질의는 사용자가 대답으로 예상하는 답변의 유형에 따라 다음과 같이 분류할 수 있다.For the above reasons, it may be important to classify the query types of user queries and provide appropriate answers accordingly. User queries can be classified as follows according to the type of answers the user expects as answers.
사실 질의는 언제(when), 어디서(where), 누가(who), 무엇을(what), 어떻게(how), 왜(why)와 같이, 실질적인 사실을 정답으로 원하는 질의로서, AI 기반의 기계 문서 이해(MRC)에서 처리를 기대할 수 있는 질의이며, 요구 또는 명령과 같은 형태는 본 발명과는 크게 상관없는 질의에 해당한다.In fact, a query is a query that wants real facts as correct answers, such as when, where, who, what, how, and why, and is an AI-based machine document. It is a query that can be expected to be processed in an understanding (MRC), and a form such as a request or command corresponds to a query that is largely irrelevant to the present invention.
사용자 질의 유형 분류를 위해, 질의 유형 분류 모델은, 질의 유형이 미리 분류된 질의들의 말뭉치에 대한 형태소 분석을 수행하여 CRF(Conditional Random Field) 학습 데이터셋을 생성하고, CRF 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 질의의 질의 유형을 분류하는 분류 포텐셜 함수를 형성하는 방식으로 학습될 수 있다.For user query type classification, the query type classification model generates a morphological analysis of a corpus of queries whose query types are pre-classified to generate a CRF (Conditional Random Field) training dataset, and a CRF machine for the CRF training dataset. It can be learned by applying a learning algorithm to form a classification potential function that classifies a query type of an arbitrary query.
질의 유형 분류 모델의 생성 과정(41)에서, 말뭉치의 준비, CRF 학습 데이터셋의 생성, 질의 유형 분류 학습에 관한 구체적인 내용에 대해서는 도 5가 참조될 수 있다.In the process of generating a query
도 5는 본 발명의 일 실시예에 따른 질의 유형 분류 모델의 학습 과정에서 활용되는 말뭉치를 설명하기 위한 도면이다.5 is a diagram illustrating a corpus used in a learning process of a query type classification model according to an embodiment of the present invention.
도 5를 참조하면, 질의 유형 분류 모델의 학습 과정에서 활용되는 말뭉치(50)가 도시되어 있으며, 이하에서 CRF 학습 데이터셋의 생성 및 질의 유형 분류 학습에 관한 내용이 기술될 수 있다.Referring to FIG. 5, a
말뭉치(50)에서는 질의 유형 분류 모델의 기계 학습을 위해 질의들의 질의 유형이 미리 분류되어 준비될 수 있다. 도시된 바와 같이, 질의 유형들이 0 내지 5의 라벨로 미리 준비될 수 있고, 그 중에서 참/거짓 질의(0), 선택 질의(1), 비교 질의(2) 및 사실 질의(3)가 주로 활용될 수 있다.In the
말뭉치(50)에서 준비된 질의들에 대해서는 형태소 분석이 수행되어, 질의들로부터 형태소들이 추출될 수 있고, 형태소마다 품사 자질 및 질의 유형 라벨이 아래와 같이 부착될 수 있다.For the queries prepared in the
표 2에서와 같이 말뭉치(50)의 질의들에 대해 형태소마다 품사 자질 및 질의 유형 라벨이 준비되는 경우, 이를 CRF 학습 데이터셋으로 하여 CRF 모델 학습이 수행될 수 있다. CRF 모델 학습은 분류 포텐셜 함수를 정의하여 CRF 학습 데이터셋으로 CRF 모델을 학습시키는 과정을 의미할 수 있다. CRF는 조건부 확률 모델로서 학습 결과를 기반으로 새로운 질의가 각 질의 유형에 속할 확률을 계산하여 가장 높은 확률의 질의 유형을 판별할 수 있다. 분류 포텐셜 함수 P(y|x)는 아래와 같이 형성될 수 있다.As shown in Table 2, when a part-of-speech feature and a query type label are prepared for each morpheme for queries of the
수학식 1
위와 같이, 질의 유형 분류 모델에 대한 학습이 완료되는 경우, 질의 유형 분류 모델을 활용하여, 추론되는 질의 유형 라벨의 최빈 분류값이 사용자 질의의 사용자 질의 유형으로서 분류될 수 있다. 즉, 프로세서(320)는 사용자 질의 유형을 분류할 때, 사용자 질의에 대한 형태소 분석을 수행하여 사용자 질의 분석 데이터를 생성하고, 사용자 질의 분석 데이터를 분류 포텐셜 함수에 입력함으로써, 사용자 질의 유형을 분류할 수 있다.As described above, when learning about the query type classification model is completed, the mode classification value of the inferred query type label may be classified as the user query type of the user query using the query type classification model. That is, when classifying the user query type, the
사용자 질의에 대해 형태소 분석이 수행되어, 사용자 질의의 각 형태소의 품사 자질로 구성되는 사용자 질의 분석 데이터가 생성되면, 사용자 질의 분석 데이터가 질의 유형 분류 모델의 분류 포텐셜 함수에 입력되어, 그 결과로 사용자 질의 유형이 참/거짓 질의(0), 선택 질의(1), 비교 질의(2), 사실 질의(3) 및 기타 질의 유형 중 어느 것에 해당하는지가 추론될 수 있다.When morpheme analysis is performed on the user query and user query analysis data composed of the parts of speech features of each morpheme of the user query is generated, the user query analysis data is input to the classification potential function of the query type classification model, and as a result, the user It can be inferred whether the query type corresponds to a true/false query (0), a selection query (1), a comparison query (2), a fact query (3), and other query types.
도 6은 본 발명의 일 실시예에 따른 참/거짓 질의를 사실 질의로 변환하는 과정을 설명하기 위한 도면이다.6 is a diagram illustrating a process of converting a true/false query into a true query according to an embodiment of the present invention.
도 6을 참조하면, 참/거짓 질의를 사실 질의로 변환하는 제1 변환 모델의 생성 과정(61) 및 변환 과정(62)이 도시되어 있다. 생성 과정(61)은 제1 변환 모델의 학습 과정을 의미할 수 있고, 변환 과정(62)은 제1 변환 모델의 추론 과정을 의미할 수 있다.Referring to FIG. 6, a first transformation
제1 변환 모델은, 후술할 제2 변환 모델과 함께 질의 유형 변환 모델에 포함될 수 있다. 즉, 프로세서(320)는, 사용자 질의 유형을 사실 질의로 변환할 때, 사용자 질의 유형이 참/거짓 질의, 선택 질의 및 비교 질의 중 어느 하나에 해당하는 경우 참/거짓 질의를 사실 질의로 변환하거나 선택 질의 또는 비교 질의를 사실 질의로 변환할 수 있고, 질의 유형 변환 모델은, 참/거짓 질의를 사실 질의로 변환하는 제1 변환 모델 및 선택 질의 또는 비교 질의를 사실 질의로 변환하는 제2 변환 모델을 포함할 수 있다.The first transformation model may be included in the query type transformation model together with the second transformation model to be described later. That is, when converting a user query type to a fact query, when the user query type corresponds to any one of a true/false query, a selection query, and a comparison query, the
제1 변환 모델은 의문사 태깅(tagging)을 통해 참/거짓 질의를 사실 질의로 변환할 수 있다. 참/거짓 질의에 의문사가 태그되는 경우, 참/거짓 질의가 사실 질의로 변환될 수 있다. 예를 들면, "백두산의 높이는 2744 미터인가요?"와 같은 참/거짓 질의에 의문사 "얼마(how)"가 태그되는 경우, 사실 질의 "백두산의 높이는 몇 미터인가요?" 가 생성될 수 있다.The first transformation model may convert a true/false query into a true query through questionable question tagging. When a questionnaire is tagged to a true/false query, the true/false query can be converted to a true query. For example, if a true/false query such as "Is Mt. Baekdu 2744 meters high?" is tagged with the question "how", in fact the query "How high is Mt. Baekdu?" Can be created.
위와 같은 의문사 태깅을 위해서는, 미리 의문사가 태깅된 질의들의 말뭉치를 준비하여, 이에 대한 형태소 분석을 통해 아래의 표 3의 예시에서와 같이 제1 변환 학습 데이터셋이 생성될 것이 요구될 수 있다.For the questionnaire tagging as described above, it may be required to prepare a corpus of queries tagged with the questionnaire in advance, and to generate a first transformation learning dataset as in the example of Table 3 below through morpheme analysis for this.
표 3에서, 형태소 분석에 의한 참/거짓 질의의 형태소들 중, 의문사 태깅 대상이 되는 "2744 m" 부분에 라벨이 추가되어, 이후 해당 부분에 의문사가 태그될 수 있다. 의문사 태깅 대상이 시작되는 형태소 "2744"에 라벨 "B_"가 추가되고, 태깅 대상에 연속하는 형태소 "m"에 라벨 "I_"가 추가되며, 이후 의문사 "얼마(how)"가 태그될 것이므로 "2744"과 "m"에 라벨 "HOW"가 추가될 수 있다.In Table 3, among the morphemes of a true/false query by morpheme analysis, a label is added to a part of "2744 m" that is a questionable subject tagging, and then, a questionable sentence may be tagged to the corresponding part. The label "B_" is added to the morpheme "2744" where the subject of questionable tagging starts, and the label "I_" is added to the morpheme "m" that continues to the tagging target. After that, the questionable word "how" will be tagged. Labels "HOW" may be added to "2744" and "m".
이후, 생성된 제1 변환 학습 데이터셋에 대해 CRF 기계 학습 알고리즘이 적용되어 제1 변환 포텐셜 함수가 학습될 수 있으며, 학습된 제1 변환 포텐셜 함수에 기초하여 참/거짓 질의가 사실 질의로 변환될 수 있다.Thereafter, a CRF machine learning algorithm is applied to the generated first transform learning dataset to learn a first transform potential function, and a true/false query is transformed into a true query based on the learned first transform potential function. I can.
즉, 프로세서(320)는, 참/거짓 질의를 사실 질의로 변환할 때, 참/거짓 질의에 대한 형태소 분석을 수행하여 참/거짓 분석 데이터를 생성하고, 참/거짓 분석 데이터를 제1 변환 포텐셜 함수에 입력함으로써, 참/거짓 질의를 사실 질의로 변환할 수 있다. 변환의 예시는 아래와 같이 제시될 수 있다.That is, when converting a true/false query into a true query, the
도 7은 본 발명의 일 실시예에 따른 비교 질의 또는 선택 질의를 사실 질의로 변환하는 과정을 설명하기 위한 도면이다.7 is a diagram illustrating a process of converting a comparison query or a selection query into a fact query according to an embodiment of the present invention.
도 7을 참조하면, 비교 질의 또는 선택 질의를 사실 질의로 변환하는 제2 변환 모델의 생성 과정(71) 및 변환 과정(72)이 도시되어 있다. 생성 과정(71)은 제2 변환 모델의 학습 과정을 의미할 수 있고, 변환 과정(72)은 제2 변환 모델의 추론 과정을 의미할 수 있다.Referring to FIG. 7, a
"백두산은 남한과 북한 중 어디에 있습니까?"와 같은 선택 질의의 경우, "백두산은 어디에 있습니까?"라는 사실 질의를 이용하여 정답을 찾은 이후, 선택 대상으로 제시된 "남한" 및 "북한"을 사실 질의에 대한 정답과 비교하여, 선택 질의에 대한 답변이 제시될 수 있다.In the case of an optional query such as "Where is Mt. Baekdu located in South Korea or North Korea?", after finding the correct answer using the fact question "Where is Mt. Baekdu?", we actually inquire about "South Korea" and "North Korea" suggested as the target of choice. Compared with the correct answer to, the answer to the selection query may be presented.
또한, "백두산과 한라산 중 어느 것이 더 높습니까?"와 같은 비교 질의의 경우, "백두산의 높이는 얼마인가?" 및 "한라산의 높이는 얼마인가?"와 같은 사실 질의로 분리하여 얻은 정답을 비교 질의의 비교 대상과 비교해 보는 방식으로, 비교 질의에 대한 답변이 제시될 수 있다.Also, in the case of a comparison query such as "Which is higher, Mount Baekdu or Mount Halla?", "What is the height of Mount Baekdu?" The answer to the comparison query may be presented in a manner that compares the correct answer obtained by separating it into factual queries such as "What is the height of Hallasan?" with the comparison object of the comparison query.
이를 위해, 제2 변환 모델은, 사실 질의로의 변환을 위한 선택/비교 대상이 미리 식별된 선택 질의들 및 비교 질의들의 말뭉치에 대한 형태소 분석을 수행하여 제2 변환 학습 데이터셋을 생성하고, 제2 변환 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 선택 질의 또는 비교 질의에서 선택/비교 대상을 식별하는 제2 변환 포텐셜 함수를 형성하는 방식으로 학습될 수 있다.To this end, the second transformation model generates a second transformation learning dataset by performing a morpheme analysis on the corpus of selection queries and comparison queries for which selection/comparison targets for transformation into factual queries are previously identified. 2 Transformation Learning It can be learned by applying a CRF machine learning algorithm to a dataset to form a second transform potential function that identifies a selection/comparison target in an arbitrary selection query or comparison query.
제2 변환 학습 데이터셋을 생성하기 위해서는, 선택/비교 대상이 미리 식별된 임의의 선택 질의들 및 비교 질의들을 수집하여 말뭉치를 형성하고, 해당 말뭉치에 대한 형태소 분석이 수행될 수 있다. 형태소 분석의 결과로, 아래의 표에서와 같이 선택 질의 또는 비교 질의를 구성하는 각 형태소에 대해 품사 자질이 식별될 수 있고, 선택/비교 대상에 라벨이 추가될 수 있다.In order to generate the second transformation learning dataset, a corpus may be formed by collecting random selection queries and comparison queries for which a selection/comparison object is previously identified, and a morpheme analysis for the corpus may be performed. As a result of the morpheme analysis, a part-of-speech feature may be identified for each morpheme constituting the selection query or comparison query, and a label may be added to the selection/comparison object as shown in the table below.
표 5 및 표 6에서와 같이, 질의를 구성하는 각 형태소에 대한 품사 자질이 분석될 수 있고, 형태소들 중 선택 대상에 해당하는 "남한과 북한 중" 부분에 라벨이 추가될 수 있으며, 비교 대상에 해당하는 "백두산과 한라산 중"에 라벨이 추가될 수 있다. "B"는 비교/선택 대상의 시작점에, "I"는 비교/선택 대상의 연속하는 형태소에 추가될 수 있고, 비교/선택 대상에 대해서는 타겟이라는 의미로서 "TG"가, 대상 나열을 위한 형태소 "과" 및 "중"에는 접속의 의미로 "JN"이 라벨링될 수 있다.As shown in Tables 5 and 6, the part-of-speech quality for each morpheme constituting the query can be analyzed, and a label can be added to the "Middle South and North Korea" section, which is a selection target among the morphemes, Labels may be added to "Mt. Baekdu and Mt. Halla" corresponding to. "B" may be added to the starting point of the comparison/selection object, and "I" may be added to the consecutive morphemes of the comparison/selection object, and "TG" as a target for the comparison/selection object, and the morpheme for listing the objects "JN" may be labeled as "and" and "middle" in the sense of connection.
한편, 표 6에서 형태소 "높다" 부분은 비교 질의에서 비교하고자 하는 가치를 나타내는 부분으로서 비교 형용 의문사에 해당하며, 이후 비교 형용 의문사를 사실 질의에서의 의문 명사로 치환하기 위해, "높다" 부분에 "QT"가 라벨링될 수 있다. 라벨링된 비교 형용 의문사는 이후 "높이는?"과 같은 의문 명사로 변환될 수 있다.On the other hand, in Table 6, the morpheme "high" is a part representing the value to be compared in the comparison query, and corresponds to the questionnaire for comparison. "QT" may be labeled. The labeled interrogative sentence for comparative adjectives can then be converted to a questionable noun such as "height?"
표 5 및 표 6에서와 같이 형태소 분석 및 라벨링을 통해 제2 변환 학습 데이터셋이 생성되는 경우, 임의의 선택 질의 또는 비교 질의에서 선택/비교 대상을 식별하는 제2 변환 포텐셜 함수를 정의한 이후 이에 대한 CRF 학습을 통해 제2 변환 모델의 학습이 완료될 수 있다.When the second transformation learning dataset is generated through morpheme analysis and labeling as shown in Tables 5 and 6, after defining the second transformation potential function that identifies the selection/comparison target in a random selection query or comparison query, Learning of the second transformation model may be completed through CRF learning.
제2 변환 모델의 학습이 완료되는 경우, 이를 활용하여 제2 변환 모델의 추론 과정이 수행될 수 있다. 즉, 프로세서(320)는, 상기 선택 질의 또는 비교 질의를 사실 질의로 변환할 때, 선택 질의 또는 비교 질의에 대한 형태소 분석을 수행하여 선택/비교 분석 데이터를 생성하고, 선택/비교 분석 데이터를 제2 변환 포텐셜 함수에 입력하여 선택 질의 또는 비교 질의에서의 선택/비교 대상을 식별하고, 선택/비교 대상에 기초하여 선택 질의 또는 비교 질의를 사실 질의로 변환할 수 있다.When the training of the second transformation model is completed, an inference process of the second transformation model may be performed using this. That is, when converting the selection query or the comparison query into a fact query, the
선택 질의의 경우, 학습 완료된 제2 변환 모델을 활용한 추론에 의해, 선택 질의에서 선택 대상이 식별되면, 해당 선택 대상의 구문을 배제하는 방식으로 사실 질의가 아래 표와 같이 생성될 수 있다.In the case of a selection query, when a selection object is identified in the selection query by inference using the learned second transformation model, a fact query may be generated as shown in the table below in a manner that excludes the syntax of the selection object.
비교 질의의 경우, 학습 완료된 제2 변환 모델을 활용한 추론에 의해, 비교 질의에서 비교 형용 의문사를 의문 명사로 변환하는 방식으로, 아래의 표와 같이 사실 질의가 생성될 수 있다.In the case of a comparison query, a fact query can be generated as shown in the table below by converting the comparison adjective interrogative sentence into an interrogative noun in the comparison query by reasoning using the learned second transformation model.
표 8에서는, 비교 형용 의문사 "높은가?"가 의문 명사 "얼마인가요?"로 변환되었음이 확인될 수 있다. 한편, 이와 같은 비교 형용 의문사의 의문 명사로의 변환은 미리 저장된 사전을 참조하여 수행될 수 있다. 사전에는, "높은"이라는 형용사가 의문사로 사용되는 경우에 활용되는 의문 명사는 "높이"라는 점과, 그 활용 방식은 "~의 높이는 얼마인가요?"라는 점이 저장될 수 있다.In Table 8, it can be confirmed that the comparative adjective interrogative sentence "is it high?" has been converted to the interrogative noun "how much?" Meanwhile, the conversion of the interrogative sentence of the comparative adjective to the interrogative noun may be performed by referring to a dictionary stored in advance. In the dictionary, when the adjective "high" is used as an interrogative sentence, the point that the interrogative noun used is "height", and that the usage method is "What is the height of ~?" can be stored.
도 8은 본 발명의 일 실시예에 따른 질의 연관 문서를 선별하는 과정을 설명하기 위한 도면이다.8 is a diagram for explaining a process of selecting a query-related document according to an embodiment of the present invention.
도 8을 참조하면, 탐색 대상 문서들을 역파일 색인 DB(Inverted File Index Database)로 DB화하는 대상 문서 색인 과정(81) 및 역파일 색인 DB를 바탕으로 질의 연관 문서를 선별하는 연관 문서 선별 과정(82)이 도시되어 있다.Referring to FIG. 8, a target
대상 문서 색인 과정(81)에서는, 탐색 대상 문서들 각각을 문단 단위의 문단 벡터들로 수치화하여, 이를 DB화하는 과정이 수행될 수 있다. 이와 같은 DB화 과정을 통해 탐색 대상 문서들이 수치적으로 분석 가능한 문단 벡터들로 변환될 수 있으므로, 이를 기반으로 이후 사용자 질의의 질의 벡터와 가장 가까운 질의 연관 문서가 선별될 수 있다.In the target
연관 문서 선별 과정(82)에서는, 사용자 질의 또한 질의 벡터로서 수치화되어, 대상 문서 색인 과정(81)에서 미리 수치화되어 DB화된 문단 벡터들과의 유사도가 산출될 수 있으며, 해당 유사도 수치에 기초하여 탐색 대상 문서들 중 일부 문서 또는 문단이 질의 연관 문서로 선별될 수 있다.In the related
이를 위해, 프로세서(320)는, 질의 연관 문서를 선별할 때, 탐색 대상 문서들 각각에 대해 TF-IDF(Term-Frequency Inverse Document Frequency) 가중치를 기반으로 문단 단위로 생성되는 문단 벡터들의 역파일 색인 DB(Inverted File Index Database)에 기초하여 문단 벡터들 각각 및 질의 벡터 간의 코사인 유사도(Cosine Similarity)를 산출할 수 있고, 코사인 유사도에 기초하여 질의 연관 문서를 선별할 수 있다.To this end, the
한편, 문서의 양이 커지면 여러 주제와 소제로 구분이 되므로 질문의 단서를 얻기위한 정보로 하나의 문서는 매우 크게 되므로, 각 탐색 대상 문서는 문단 단위로 분리되어 처리될 수 있다. 따라서, 본 발명에서 문서라 함은 문단과 같은 의미로 이해될 수 있다.On the other hand, as the volume of the document increases, it is divided into several topics and subsections, so one document becomes very large as information for obtaining a clue of a question, and thus each document to be searched can be separated and processed in paragraph units. Therefore, in the present invention, the term document may be understood to have the same meaning as the paragraph.
TF-IDF 가중치는, 탐색 대상 문서의 전체에 대한 형태소 분석을 통해, 탐색 대상 문서의 전체에 포함되는 모든 키워드들을 추출한 이후, 해당 키워드들이 각 탐색 대상 문서(또는 문단 단위)에서 출현하는 빈도를 기반으로, 아래와 같이 생성될 수 있다.The TF-IDF weight is based on the frequency at which the keywords appear in each search target document (or paragraph unit) after extracting all keywords included in the entire search target document through morpheme analysis of the entire search target document. As, it can be created as follows.
수학식 2
수학식 2에서 x는 키워드의 인덱스를, y는 문서(또는 문단)의 인덱스를 의미할 수 있으며, wx,y는 y 문서에서 x 키워드의 가중치를, tfx,y는 y 문서에서 x 키워드가 출현하는 빈도를, dfx는 x 키워드가 존재하는 문서(또는 문단)의 개수를, N은 전체 문서(또는 문단)의 개수를 의미할 수 있다.In
위와 같이 계산되는 TF-IDF 가중치를 기반으로 하는 문서 j에 대한 문서 벡터 dj는, 키워드들의 인덱스가 1 내지 t인 경우에, 아래와 같이 표현될 수 있다. The document vector d j for the document j based on the TF-IDF weight calculated as above may be expressed as follows when the indexes of keywords are 1 to t.
수학식 3
위와 같이 문단 단위로 생성되는 문서 벡터들(문단 벡터들)은, 추후 질의 연관 문서를 선별하는 과정에서 실시간으로 제공될 수 있도록 역파일 색인(Inverted File Index)을 통해 DB화될 수 있다.Document vectors (paragraph vectors) generated in units of paragraphs as described above may be converted into a DB through an Inverted File Index so that they can be provided in real time in the process of selecting related documents for future queries.
역파일 색인 DB가 생성되는 경우, 그로부터 제공되는 문단 벡터 dj 및 사용자 질의의 질의 벡터 q 간의 코사인 유사도(Cosine Similarity)가 아래와 같이 산출될 수 있다. 질의 벡터 q 는 문단 벡터를 생성하는 과정과 동일한 방식으로, 각 키워드들의 출현 빈도를 기반으로 산출될 수 있다.When the inverse file index DB is created, the cosine similarity between the paragraph vector d j provided therefrom and the query vector q of the user query can be calculated as follows. The query vector q can be calculated based on the frequency of occurrence of each keyword in the same way as the process of generating the paragraph vector.
수학식 4
수학식 4에서와 같은 코사인 유사도는 하나의 질의 벡터 q 및 N개의 문단 벡터 dj 사이에서 N회 계산되어, N개의 코사인 유사도들이 제공될 수 있다. N개의 코사인 유사도들을 생성하는 과정 및 이를 이용하여 질의 연관 문서를 선별하는 구체적인 방식에 대해서는 도 9가 참조될 수 있다.The cosine similarity as in
도 9는 본 발명의 일 실시예에 따른 코사인 유사도에 기초하여 질의 연관 문서를 선별하는 과정을 설명하기 위한 도면이다.9 is a diagram for explaining a process of selecting a query-related document based on a cosine similarity according to an embodiment of the present invention.
도 9를 참조하면, 키워드들의 개수 t가 3이고, 전체 문단 개수 N이 6인 경우에서, 문단 벡터들 각각 및 질의 벡터 간의 코사인 유사도를 산출하는 과정을 설명하기 위한 그래프(90)가 도시되어 있다.Referring to FIG. 9, when the number of keywords t is 3 and the total number of paragraphs N is 6, a
그래프(90)에는, 키워드들의 개수 t가 3이므로, 각각의 문단 벡터들 및 질의 벡터가 3차원의 벡터로 표시될 수 있으며, 각 벡터가 갖는 3개의 요소들의 수치에 따라 하나의 질의 벡터 및 6개의 문단 벡터들이 갖는 3차원 벡터 공간에서의 위치가 표시될 수 있다.In the
이 경우, 전술한 수학식 4에 의해, 6개의 코사인 유사도 값들이 계산될 수 있으며, 6개의 값들 중 가장 큰 값의 코사인 유사도를 갖는 문단 벡터에 대응되는 문단이, 질의 연관 문서로 선별될 수 있다.In this case, six cosine similarity values may be calculated by
한편, 프로세서(320)는, 질의 연관 문서를 선별할 때, 사용자 질의를 구성하는 키워드들을 기준으로 질의 연관 문서의 문장들 중 상기 키워드를 포함하는 문장을 선별하여 질의 연관 요약문을 생성할 수 있다.Meanwhile, when selecting a query-related document, the
질의 연관 문서의 선별 이후에 수행될 AI 기반의 MRC 엔진에서는, 하나의 크기가 큰 문서 전체를 대상으로 정답 위치를 탐색할 경우 과도한 연산에 의해 성능에 무리가 가고 질의와 무관한 노이즈들이 다수 출력되어 질의응답 품질이 저하될 수 있다. 이를 해결하기 위해, 질의 연관 문서를 선별된 이후에, 사용자 질의를 구성하는 키워드들을 가장 많이 포함하고 있는 문장들을 질의 연관 문서 내부에서 추출하여, 질의 연관 문서를 적당한 크기로 요약함으로써, MRC의 품질 및 성능을 향상시키는 것이 가능해질 수 있다.In the AI-based MRC engine, which will be performed after the selection of the query-related documents, when searching for the correct answer location for the entire document of one large size, performance is impaired due to excessive calculations, and a number of noises irrelevant to the query are output. Q&A quality may deteriorate. To solve this problem, after selecting the query-related documents, the sentences containing the most keywords constituting the user query are extracted from the inside of the query-related documents, and the query-related documents are summarized in an appropriate size, so that the quality of MRC and the It may become possible to improve performance.
도 10은 본 발명의 일 실시예에 따른 기계 문서 이해(MRC) 모델에 기초하여 질의 연관 문서의 내부에서 정답 위치를 탐색하는 과정을 설명하기 위한 도면이다.10 is a view for explaining a process of searching for a location of a correct answer within a query-related document based on a machine document understanding (MRC) model according to an embodiment of the present invention.
도 10을 참조하면, 기계 문서 이해(MRC) 모델은 인코딩 레이어(101), 상호집중 레이어(102) 및 출력 레이어(103)로 구성될 수 있다. 기계 문서 이해(MRC) 모델은 대상문서(질의 연관 문서) 및 사용자 질의를 입력받아, 질의 연관 문서 내부에서 사용자 질의에 대한 정답이 존재하는 시작 위치 및 종료 위치를 출력할 수 있다.Referring to FIG. 10, a machine document understanding (MRC) model may be composed of an
즉, 기계 문서 이해 모델은, 질의 연관 문서 및 사용자 질의를 수치화하기 위한 인코딩 레이어(101), 질의 연관 문서 및 사용자 질의 간의 관계와 문맥을 파악하기 위한 상호집중 레이어(Co-Attention Layer)(102) 및 질의 연관 문서의 내부에서 사용자 질의에 대한 정답이 존재하는 시작 위치 및 종료 위치를 포인팅하기 위한 출력 레이어(103)를 포함할 수 있고, LSTM(Long Short-Term Memory) 모델에 따라 시작 위치 및 종료 위치를 포인팅하도록 학습될 수 있다.That is, the machine document understanding model includes an
기계 문서 이해 모델의 학습을 위해서는, 워드 레벨, 캐릭터 레벨, 문맥 레벨 및 피쳐(Feature)와 관련하여, 필요한 정보들을 수치화하여 계산할 수 있도록 벡터화하는 과정이 수반될 수 있다. 워드 레벨에서는 One-Hot, Word2Vec, GloVe 및 fastText 등이 활용될 수 있고, 캐릭터 레벨에서는 RNN 및 CNN을 활용하여 미확인 워드(Unknown word)의 처리가 수행될 수 있고, 문맥 레벨에서는 CoVe, ELMo 등을 통해 문맥 임베딩(Contextual Embedding)이 계산될 수 있으며, 기타 POS, Named Entity, Dependency Lable, TF 등과 같이 어휘 이외의 추가적인 정보들이 활용되는 임베딩들이 피쳐로서 활용될 수 있다.In order to learn a machine document understanding model, a process of vectorizing necessary information in relation to word level, character level, context level, and feature may be enumerated so that necessary information can be quantified and calculated. At the word level, One-Hot, Word2Vec, GloVe, and fastText can be used, at the character level, processing of unknown words can be performed using RNN and CNN, and CoVe, ELMo, etc. can be performed at the context level. Through this, contextual embedding can be calculated, and embeddings in which additional information other than vocabulary is utilized, such as other POS, Named Entity, Dependency Lable, TF, etc., can be utilized as a feature.
인코딩 레이어(101)에서는, 문맥 정보(context)를 포함하는 대상문서가 사용자 질의와 함께 입력될 수 있으며, 이 때 대상문서는 앞선 과정에서 선별된 질의 연관 문서를 의미할 수 있다.In the
상호집중 레이어(102)에서는, 수치화를 위해 임베딩되는 데이터들을 활용하여 사용자 질의를 구성을 하는 벡터, 질의 연관 문서를 구성하는 벡터 및 정답의 위치에 관한 정보 등을 통해, 사용자 질의 및 질의 연관 문서 내부에서의 문맥 간의 관계기 파악될 수 있고, 학습을 통해 어떤 벡터에 집중(Attention)해야 하는지가 제시될 수 있다.In the
출력 레이어(103)는 상호집중 레이어(102)에서의 결과물을 기반으로 질의 연관 문서의 내부에서 사용자 질의에 대한 정답이 존재하는 위치의 시작과 끝을 추론하도록 학습될 수 있다.The
위와 같이, 기계 문서 이해(MCR) 모델이 학습 완료되는 경우, 이를 통해 질의 연관 문서에서의 문맥을 파악하여 사용자 질의에 대한 정답이 질의 연관 문서의 어떤 위치에 존재하는지를 제시하는 MRC 엔진이 제공될 수 있다. 특히, MRC 엔진은 LSTM(Long Short-Term Memory) 모델을 통해 학습되어, 이후 추론 과정에서 Point Network를 통해 사용자 질의에 대한 정답의 시작과 끝 위치를 포인팅할 수 있다.As above, when the machine document understanding (MCR) model is trained, an MRC engine that identifies the context in the query-related document through this, and suggests where the correct answer to the user's query exists in the query-related document can be provided. have. In particular, the MRC engine is trained through an LSTM (Long Short-Term Memory) model, and can point the start and end positions of the correct answer to the user query through the Point Network in the later inference process.
한편, 기계 문서 이해(MCR) 모델에 의해 질의 연관 문서의 내부에서 사용자 질의에 대한 정답이 존재하는 위치의 시작 위치와 종료 위치가 포인팅된 이후, 해당 정답 위치로부터 도출되는 정답에 대해서는 질의 유형에 따른 후처리가 실시될 수 있고, 그 결과로 사용자 질의에 대한 단답형 답변이 생성될 수 있다.On the other hand, after the start and end positions of the location where the correct answer to the user's query exists is pointed within the query-related document by the machine document understanding (MCR) model, the correct answer derived from the corresponding answer location is determined according to the type of the query. Post-processing may be performed, and as a result, short-answer responses to user queries may be generated.
구체적으로, 프로세서(320)는, 단답형 답변을 생성할 때, 사용자 질의 유형이 참/거짓 질의인 경우 정답 위치로부터 도출되는 사실 질의에 대한 정답에 기초하여 예 또는 아니오를 단답형 답변으로 생성할 수 있고, 사용자 질의 유형이 비교 질의 또는 선택 질의인 경우 정답 위치로부터 도출되는 사실 질의에 대한 정답에 기초하여 선택 대상 중 어느 하나 또는 비교 대상 중 어느 하나를 단답형 답변으로 생성할 수 있다.Specifically, when generating a short answer type, the
즉, 본 발명에서는 사실 질의 외에 참/거짓 질의, 선택 질의 및 비교 질의 또한 사실 질의의 형태로 변환되어 MRC 엔진에 의해 답변이 생성될 수 있으나, MRC 엔진에 의한 답변은 사실 질의에 대한 답변이므로, 이를 다시 참/거짓 질의, 선택 질의 및 비교 질의에 대한 답변의 형태로 변환하는 후처리 과정이 요구될 수 있다.That is, in the present invention, in addition to the fact query, the true/false query, the selection query, and the comparison query may also be converted into the form of a fact query to generate an answer by the MRC engine, but the answer by the MRC engine is an answer to the fact query. A post-processing process may be required to convert this back into the form of an answer to a true/false query, a selection query, and a comparison query.
예를 들면, 참/거짓 질의에 대한 MRC 엔진의 답변이 생성된 경우, 이는 다시 "예" 또는 "아니오"와 같이 참/거짓 질의에 대한 답변의 형태로 변환될 수 있으며, 선택 질의 또는 비교 질의의 경우에도, MRC 엔진의 답변이 다시 선택 질의에 대한 답변의 형태, 또는 비교 질의에 대한 답변의 형태로 변환될 수 있다. 이와 같은 질의 유형에 따른 후처리에 의해, 본 발명의 AI 질의응답이 사실 질의뿐만 아니라, 참/거짓 질의, 선택 질의 및 비교 질의에 대해서도 수행될 수 있다.For example, when an MRC engine's answer to a true/false query is generated, it can be converted back into the form of an answer to a true/false query such as “Yes” or “No”, and a selection query or a comparison query Even in the case of, the MRC engine's answer may be converted back into a form of an answer to a selection query or a form of an answer to a comparison query. By such post-processing according to the query type, the AI query answer of the present invention can be performed not only for the fact query, but also for the true/false query, the selection query, and the comparison query.
도 11은 본 발명의 일 실시예에 따른 개량 Seq2Seq 모델에 기초하여 단답형 답변을 서술형 답변으로 변환하는 과정을 설명하기 위한 도면이다.11 is a view for explaining a process of converting a short answer type answer into a narrative answer based on an improved Seq2Seq model according to an embodiment of the present invention.
도 11을 참조하면, 개량 Seq2Seq 모델은 인코더 구조(111) 및 디코더 구조(112)로 구성될 수 있다. 인코더 구조(111)는 사용자 질의를 인코딩하여 타임 스텝별 형태소 토큰을 생성하기 위한 구조이고, 디코더 구조(112)는 타임 스텝별 형태소 토큰에 기초하여 단답형 답변을 서술형 답변으로 변환하기 위한 구조일 수 있다.Referring to FIG. 11, the improved Seq2Seq model may include an
구체적으로, 개량 Seq2Seq 모델은, 사용자 질의에 대한 형태소 분석에 의해 추출되는 형태소 토큰들로부터 타임 스텝별 스테이트를 출력하는 인코더 구조(111), 및 단답형 답변 및 타임 스텝별 스테이트에 기초하여 서술형 답변을 생성하도록 학습되는 디코더 구조(112)를 포함할 수 있다.Specifically, the improved Seq2Seq model generates a narrative answer based on the
특히, 개량 Seq2Seq 모델에서는 전체 문장이 요구되는 것이 아니고, MRC 엔진(기계 문서 이해 모델)에 의한 단답형 답변이 이미 존재하는 상황을 가정하고 있기 때문에, 보다 적은 계산량만으로도 서술형 답변을 생성하는 것이 가능해질 수 있고, 사용자 질의의 어미(語尾) 부분에 대해 중점적으로 학습 및 추론이 이루어질 수 있으므로, 적은 계산량으로 높은 정확도의 서술형 답변이 제공될 수 있다.In particular, since the improved Seq2Seq model does not require the entire sentence, it is assuming that the short answer type answer by the MRC engine (machine document understanding model) already exists, so it may become possible to generate a narrative answer with less computational amount. In addition, since learning and inference can be focused on the ending of a user query, a high-accuracy narrative answer can be provided with a small amount of computation.
인코더 구조(111)에서는, 사용자 질의의 문장 순서에 관한 특징을 파악하기 위해, 형태소 분석 및 원형 복원(lemmatization)을 수행하여, 사용자 질의를 구성하는 형태소 토큰들을 생성할 수 있다. 예를 들면, 도시된 바와 같이 "어느", "정도", "소요" 및 "되나요"가 형태소 토큰들에 해당할 수 있고, 형태소 토큰들은 적절한 크기로 지정된 타임 스텝에 따라 인코더 구조(111)의 Bi-LSTM 모델에 입력되어, 그 출력으로서 타임 스텝별 스테이트가 생성될 수 있다. 타임 스텝별 스테이트는 이후 디코더 구조(112)에서 활용되기 위해 전체 스테이트로서 취합될 수 있다.In the
한편, 사용자 질의가 지정된 타임 크기보다 작은 경우에 대해서는 post padding(<PAD>)이 사용될 수 있으며, 사용자 질의가 지정된 타임 크기보다 큰 경우 문장의 끝부분에서부터 타임 크기만큼 자른 문장이 사용될 수 있다. 앞부분부터가 아닌 뒷부분부터 자르기 때문에, 사용자 질의가 타임 크기보다 긴 경우에도, 마지막 스테이트가 사용자 질의의 마지막에 위치하는 술어 부분, 즉 어미 부분에 대응될 수 있다.Meanwhile, when the user query is smaller than the specified time size, post padding (<PAD>) may be used, and when the user query is larger than the specified time size, a sentence cut by the time size from the end of the sentence may be used. Since the user query is cut from the end rather than from the beginning, even when the user query is longer than the time size, the last state may correspond to the predicate portion located at the end of the user query, that is, the ending portion.
인코더 구조(111)에 의해 생성되는 스테이트들은 이후 디코더 구조(112)에서 서술형 답변을 생성하기 위해 활용될 수 있다. 그 구체적인 내용에 대해서는 도 12 및 도 13이 참조될 수 있다.The states generated by the
도 12는 본 발명의 일 실시예에 따른 개량 Seq2Seq 모델의 디코더 구조가 학습되는 과정을 설명하기 위한 도면이다.12 is a diagram illustrating a process of learning a decoder structure of an improved Seq2Seq model according to an embodiment of the present invention.
도 12를 참조하면, 개량 Seq2Seq 모델의 디코더 구조(120)가 도시되어 있으며, 디코더 구조(120)는 도 11의 디코더 구조(112)가 학습되는 과정을 설명하기 위한 것일 수 있다.Referring to FIG. 12, a
디코더 구조(120)의 학습 과정에서는, 타임 스텝별로 MRC 엔진에 의한 단답형 답변이 서술형의 어투와 합쳐진 형태로 디코더 구조(120)에 입력될 수 있다. 디코더 구조(120)에서는 타임 스텝마다 다음 단어가 예측될 수 있으며, 이 때 정확도 향상을 위해 이전 타임 스텝의 추론 결과를 입력으로 사용하지 않고, 그 대신 teacher forcing이 활용될 수 있다.In the learning process of the
특히, 인코더 구조(111)에서 생성되는 마지막 스테이트가 디코더 구조(120)의 학습 과정 및 추론 과정에서 핵심적인 역할을 할 수 있다. 즉, 디코더 구조(112, 120, 130)는, 타임 스텝별 스테이트 중 마지막에 출력되어 사용자 질의의 어미(語尾)에 대응되는 마지막 스테이트를 처리하는 이중층 형태의 Bi-LSTM 레이어를 포함할 수 있다.In particular, the last state generated in the
전술한 바와 같이 마지막 스테이트는, 사용자 질의의 마지막에 위치하는 술어 부분, 즉 어미 부분에 대응되는 것으로서, 서술형 답변을 생성하기 위해서는 어미 부분이 가장 중요하게 작용할 수 있으므로, 도시된 바와 같이 디코더 구조(120)에서 마지막 스테이트가 이중층 형태의 Bi-LSTM 레이어에 입력되어 처리될 수 있다. 한편, 정답 추출을 위해 디코더 구조(120)의 마지막 레이어에서 아핀(Affine) 변환이 수행되어, 다음에 나올 단어가 학습될 수 있다.As described above, the last state corresponds to the predicate part, that is, the ending part, located at the end of the user query, and the ending part may act most importantly to generate a narrative answer. As shown in the figure, the decoder structure 120 ), the last state can be input to the bi-layered Bi-LSTM layer and processed. Meanwhile, in order to extract the correct answer, an affine transformation is performed in the last layer of the
도 13은 본 발명의 일 실시예에 따른 개량 Seq2Seq 모델의 디코더 구조가 서술형 답변을 추론하는 과정을 설명하기 위한 도면이다.13 is a diagram for explaining a process in which a decoder structure of an improved Seq2Seq model infers a narrative answer according to an embodiment of the present invention.
도 13을 참조하면, 개량 Seq2Seq 모델의 디코더 구조(130)가 도시되어 있다. 디코더 구조(130)는, 도 11의 디코더 구조(112) 및 도 12의 디코더 구조(120)가 학습 완료된 이후의 상태를 나타내는 것으로 이해될 수 있다.13, a
디코더 구조(130)는 MRC 엔진(기계 문서 이해 모델)에 의한 단답형 답변을 입력값으로 하여 타임 스텝별로 다음에 위치할 단어를 teacher forcing 기법에 따라 하나씩 추론하는 방식으로, 단답형 답변을 서술형 답변으로 변환할 수 있다. 예를 들면, 도시된 바와 같이 디코더 구조(130)에 MRC 엔진에 의한 단답형 답변 "15"가 입력되는 경우, 이후 "분", "정도", "소요" 및 "됩니다"가 차례로 추론되어, 서술형 답변 "15분 정도 소요됩니다"가 생성될 수 있다.The
이를 위해, 프로세서(320)는, AI 답변을 제시할 때, 단답형 답변을 디코더 구조(130)에 입력하여 디코더 구조(130)에 의해 추론되는 예측값을 생성할 수 있고, 디코더 구조(130)에 의해 추론되는 예측값을 다시 디코더 구조(130)에 입력하는 과정을 반복하여 서술형 답변을 생성할 수 있다.To this end, when presenting an AI answer, the
위와 같은 방식에 따르면, 단답형 답변만을 제공하는 MRC 엔진(기계 문서 이해 모델)의 결과에 더하여, 어색하지 않으면서 친절하게 들리는 서술형 말투가 추가되어, 서술형 답변이 제공될 수 있다. 개량 Seq2Seq 모델의 디코더 구조(130)에 의해 단답형 답변이 서술형 답변으로 변환되는 예시는 아래 표에서 참조될 수 있다.According to the above method, in addition to the results of the MRC engine (Machine Document Understanding Model) that provides only short-answer answers, narrative speech that sounds kind without awkward is added, and narrative answers can be provided. An example in which a short answer type answer is converted into a narrative answer by the
도 14는 본 발명의 일 실시예에 따른 사용자 질의에 대한 AI 답변을 제시하는 질의응답 방법을 구성하는 단계들을 나타내는 흐름도이다.14 is a flowchart illustrating steps of configuring a question answering method for presenting an AI answer to a user query according to an embodiment of the present invention.
도 14를 참조하면, 사용자 질의에 대한 AI 답변을 제시하는 질의응답 방법은 단계 141 내지 단계 146을 포함할 수 있다. 다만 이에 제한되는 것은 아니고, 도 14에 도시된 단계들 외에 다른 범용적인 단계들이 도 14의 질의응답 방법에 더 포함될 수 있다.Referring to FIG. 14, a question answering method for presenting an AI answer to a user query may include
도 14의 질의응답 방법은, 도 2 내지 도 13을 통해 전술한 질의응답 시스템(300)에서 시계열적으로 처리되는 단계들로 구성될 수 있다. 따라서, 도 14의 질의응답 방법에 대해 이하에서 생략되는 내용이라 할지라도, 도 2 내지 도 13의 질의응답 시스템(300)에 대해 이상에서 기술되는 내용은 도 14의 질의응답 방법에 대해서도 동일한 취지로 적용될 수 있다.The question-and-answer method of FIG. 14 may consist of steps processed in a time series by the question-and-
단계 141에서, 질의응답 시스템(300)는 질의 유형 분류 모델에 기초하여 사용자 질의의 사용자 질의 유형을 분류할 수 있다.In
질의 유형 분류 모델은, 질의 유형이 미리 분류된 질의들의 말뭉치에 대한 형태소 분석을 수행하여 CRF(Conditional Random Field) 학습 데이터셋을 생성하고, CRF 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 질의의 질의 유형을 분류하는 분류 포텐셜 함수를 형성하는 방식으로 학습될 수 있다.The query type classification model generates a CRF (Conditional Random Field) training dataset by performing a morpheme analysis on the corpus of queries whose query types are pre-classified, and applies a CRF machine learning algorithm to the CRF training dataset. It can be learned by forming a classification potential function that classifies the query type of a query.
질의응답 시스템(300)는, 사용자 질의에 대한 형태소 분석을 수행하여 사용자 질의 분석 데이터를 생성할 수 있고, 사용자 질의 분석 데이터를 분류 포텐셜 함수에 입력함으로써, 사용자 질의 유형을 분류할 수 있다.The
단계 142에서, 질의응답 시스템(300)는 질의 유형 변환 모델에 기초하여 사용자 질의 유형을 사실 질의로 변환할 수 있다.In
질의응답 시스템(300)는, 사용자 질의 유형이 참/거짓 질의, 선택 질의 및 비교 질의 중 어느 하나에 해당하는 경우 참/거짓 질의를 사실 질의로 변환하거나, 또는 선택 질의 또는 비교 질의를 사실 질의로 변환할 수 있고, 질의 유형 변환 모델은, 참/거짓 질의를 사실 질의로 변환하는 제1 변환 모델 및 선택 질의 또는 비교 질의를 사실 질의로 변환하는 제2 변환 모델을 포함할 수 있다.When the user query type corresponds to any one of a true/false query, a selection query, and a comparison query, the
제1 변환 모델은, 사실 질의로의 변환을 위한 의문사가 미리 태그된 참/거짓 질의들의 말뭉치에 대한 형태소 분석을 수행하여 제1 변환 학습 데이터셋을 생성하고, 제1 변환 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 참/거짓 질의에 의문사를 태그하는 제1 변환 포텐셜 함수를 형성하는 방식으로 학습될 수 있다.The first transformation model generates a first transformation training dataset by performing morpheme analysis on a corpus of true/false queries in which a questionnaire for transformation into a true query is tagged in advance, and CRF for the first transformation training dataset. It may be learned by applying a machine learning algorithm to form a first transform potential function that tags a questionable question in an arbitrary true/false query.
질의응답 시스템(300)는, 참/거짓 질의에 대한 형태소 분석을 수행하여 참/거짓 분석 데이터를 생성할 수 있고, 참/거짓 분석 데이터를 제1 변환 포텐셜 함수에 입력함으로써, 참/거짓 질의를 사실 질의로 변환할 수 있다.The question-and-
제2 변환 모델은, 질의로의 변환을 위한 선택/비교 대상이 미리 식별된 선택 질의들 및 비교 질의들의 말뭉치에 대한 형태소 분석을 수행하여 제2 변환 학습 데이터셋을 생성하고, 제2 변환 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 선택 질의 또는 비교 질의에서 선택/비교 대상을 식별하는 제2 변환 포텐셜 함수를 형성하는 방식으로 학습될 수 있다.The second transformation model generates a second transformation training dataset by performing morpheme analysis on the corpus of selection queries and comparison queries for which selection/comparison targets for transformation into queries are previously identified, and the second transformation training data It may be learned by applying a CRF machine learning algorithm for the set to form a second transform potential function that identifies a selection/comparison object in an arbitrary selection query or comparison query.
질의응답 시스템(300)는, 선택 질의 또는 비교 질의에 대한 형태소 분석을 수행하여 선택/비교 분석 데이터를 생성할 수 있고, 선택/비교 분석 데이터를 제2 변환 포텐셜 함수에 입력하여 선택 질의 또는 비교 질의에서의 선택/비교 대상을 식별할 수 있고, 선택/비교 대상에 기초하여 선택 질의 또는 비교 질의를 사실 질의로 변환할 수 있다.The question-and-
단계 143에서, 질의응답 시스템(300)는 탐색 대상 문서들 각각의 문서 벡터 및 사실 질의의 질의 벡터 간의 유사도에 기초하여 탐색 대상 문서들로부터 질의 연관 문서를 선별할 수 있다.In
질의응답 시스템(300)는, 탐색 대상 문서들 각각에 대해 TF-IDF(Term-Frequency Inverse Document Frequency) 가중치를 기반으로 문단 단위로 생성되는 문단 벡터들의 역파일 색인 DB(Inverted File Index Database)에 기초하여 문단 벡터들 각각 및 질의 벡터 간의 코사인 유사도(Cosine Similarity)를 산출할 수 있고, 코사인 유사도에 기초하여 질의 연관 문서를 선별할 수 있다.The question-and-
질의응답 시스템(300)은, 사용자 질의를 구성하는 키워드들을 기준으로 질의 연관 문서의 문장들 중 상기 키워드를 포함하는 문장을 선별하여 질의 연관 요약문을 생성할 수 있다.The
단계 144에서, 질의응답 시스템(300)는 기계 문서 이해(MRC: Machine Reading Comprehension) 모델에 기초하여 질의 연관 문서의 내부에서 정답 위치를 탐색할 수 있다.In
기계 문서 이해 모델은, 질의 연관 문서 및 사용자 질의를 수치화하기 위한 인코딩 레이어, 질의 연관 문서 및 사용자 질의 간의 관계와 문맥을 파악하기 위한 상호집중 레이어(Co-Attention Layer) 및 질의 연관 문서의 내부에서 사용자 질의에 대한 정답이 존재하는 시작 위치 및 종료 위치를 포인팅하기 위한 출력 레이어를 포함할 수 있고, LSTM(Long Short-Term Memory) 모델에 따라 시작 위치 및 종료 위치를 포인팅하도록 학습될 수 있다.The machine document understanding model includes an encoding layer for quantifying query-related documents and user queries, a co-attention layer for grasping the relationship and context between the query-related documents and user queries, and the user within the query-related documents. It may include an output layer for pointing a start position and an end position where a correct answer to a query exists, and may be trained to point a start position and an end position according to a Long Short-Term Memory (LSTM) model.
단계 145에서, 질의응답 시스템(300)는 정답 위치로부터 도출되는 정답에 대해 질의 유형에 따른 후처리를 실시하여 사용자 질의에 대한 단답형 답변을 생성할 수 있다.In
질의응답 시스템(300)는, 사용자 질의 유형이 참/거짓 질의인 경우 정답 위치로부터 도출되는 사실 질의에 대한 정답에 기초하여 예 또는 아니오를 단답형 답변으로 생성할 수 있고, 사용자 질의 유형이 비교 질의 또는 선택 질의인 경우 정답 위치로부터 도출되는 사실 질의에 대한 정답에 기초하여 선택 대상 중 어느 하나 또는 비교 대상 중 어느 하나를 단답형 답변으로 생성할 수 있다.The question-and-
단계 146에서, 질의응답 시스템(300)는 개량 Seq2Seq 모델에 기초하여 단답형 답변을 서술형 답변으로 변환하여 AI 답변을 제시할 수 있다.In
개량 Seq2Seq 모델은, 사용자 질의에 대한 형태소 분석에 의해 추출되는 형태소 토큰들로부터 타임 스텝별 스테이트를 출력하는 인코더 구조, 및 단답형 답변 및 타임 스텝별 스테이트에 기초하여 서술형 답변을 생성하도록 학습되는 디코더 구조를 포함할 수 있다.The improved Seq2Seq model includes an encoder structure that outputs state for each time step from morpheme tokens extracted by morpheme analysis of a user query, and a decoder structure that is learned to generate a narrative answer based on a short answer and a state for each time step. Can include.
디코더 구조는, 타임 스텝별 스테이트 중 마지막에 출력되어 사용자 질의의 어미(語尾)에 대응되는 마지막 스테이트를 처리하는 이중층 형태의 Bi-LSTM 레이어를 포함할 수 있다.The decoder structure may include a Bi-LSTM layer in the form of a double layer that is output last among the states for each time step and processes the last state corresponding to the ending of a user query.
질의응답 시스템(300)는, 단답형 답변을 디코더 구조에 입력하여 디코더 구조에 의해 추론되는 예측값을 생성할 수 있고, 디코더 구조에 의해 추론되는 예측값을 다시 디코더 구조에 입력하는 과정을 반복하여 서술형 답변을 생성할 수 있다.The
한편, 도 14의 질의응답 방법은, 그 방법을 실행하는 명령어들을 포함하는 적어도 하나의 프로그램 또는 소프트웨어가 기록되는 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다.Meanwhile, the question-and-answer method of FIG. 14 may be recorded in a computer-readable recording medium in which at least one program or software including instructions for executing the method is recorded.
컴퓨터로 판독 가능한 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령어의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드가 포함될 수 있다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and floptical disks. A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like may be included. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter as well as machine language codes such as those produced by a compiler.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 통상의 기술자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to the embodiments, those skilled in the art can variously modify and change the present invention within the scope not departing from the spirit and scope of the present invention described in the following claims. You will understand that there is.
Claims (16)
명령어들을 저장하는 메모리; 및
상기 명령어들을 실행함으로써:
질의 유형 분류 모델에 기초하여 상기 사용자 질의의 사용자 질의 유형을 분류하고,
질의 유형 변환 모델에 기초하여 상기 사용자 질의 유형을 사실 질의로 변환하고,
탐색 대상 문서들 각각의 문서 벡터 및 상기 사실 질의의 질의 벡터 간의 유사도에 기초하여 상기 탐색 대상 문서들로부터 질의 연관 문서를 선별하고,
기계 문서 이해(MRC: Machine Reading Comprehension) 모델에 기초하여 상기 질의 연관 문서의 내부에서 정답 위치를 탐색하고,
상기 정답 위치로부터 도출되는 정답에 대해 상기 질의 유형에 따른 후처리를 실시하여 상기 사용자 질의에 대한 단답형 답변을 생성하고,
개량 Seq2Seq 모델에 기초하여 상기 단답형 답변을 서술형 답변으로 변환하여 상기 AI 답변을 제시하도록 구성되는 프로세서를 포함하는, 질의응답 시스템.
In a question-and-answer system that presents AI answers to user inquiries,
A memory for storing instructions; And
By executing the above commands:
Classify the user query type of the user query based on the query type classification model,
Convert the user query type to a fact query based on the query type conversion model,
Selecting a query-related document from the search target documents based on the similarity between the document vector of each of the search target documents and the query vector of the fact query,
Based on a Machine Reading Comprehension (MRC) model, search for the location of the correct answer within the query-related document,
For the correct answer derived from the correct answer location, post-processing according to the query type is performed to generate a short answer type answer to the user query,
And a processor configured to present the AI answer by converting the short answer answer into a narrative answer based on the improved Seq2Seq model.
상기 질의 유형 분류 모델은,
질의 유형이 미리 분류된 질의들의 말뭉치에 대한 형태소 분석을 수행하여 CRF(Conditional Random Field) 학습 데이터셋을 생성하고,
상기 CRF 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 질의의 질의 유형을 분류하는 분류 포텐셜 함수를 형성하는 방식으로 학습되는, 질의응답 시스템.
The method of claim 1,
The query type classification model,
A morpheme analysis of the corpus of queries with pre-classified query types is performed to create a CRF (Conditional Random Field) training dataset,
A question answering system that is learned by forming a classification potential function for classifying a query type of an arbitrary query by applying a CRF machine learning algorithm to the CRF learning dataset.
상기 프로세서는, 상기 사용자 질의 유형을 분류할 때,
상기 사용자 질의에 대한 형태소 분석을 수행하여 사용자 질의 분석 데이터를 생성하고,
상기 사용자 질의 분석 데이터를 상기 분류 포텐셜 함수에 입력함으로써, 상기 사용자 질의 유형을 분류하는, 질의응답 시스템.
The method of claim 2,
The processor, when classifying the user query type,
Generate user query analysis data by performing morpheme analysis on the user query,
The query answering system for classifying the user query type by inputting the user query analysis data into the classification potential function.
상기 프로세서는, 상기 사용자 질의 유형을 사실 질의로 변환할 때,
상기 사용자 질의 유형이 참/거짓 질의, 선택 질의 및 비교 질의 중 어느 하나에 해당하는 경우 상기 참/거짓 질의를 사실 질의로 변환하거나 상기 선택 질의 또는 비교 질의를 사실 질의로 변환하고,
상기 질의 유형 변환 모델은, 상기 참/거짓 질의를 사실 질의로 변환하는 제1 변환 모델 및 상기 선택 질의 또는 비교 질의를 사실 질의로 변환하는 제2 변환 모델을 포함하는, 질의응답 시스템.
The method of claim 1,
When the processor converts the user query type into a fact query,
When the user query type corresponds to any one of a true/false query, a selection query, and a comparison query, converting the true/false query into a fact query or converting the selected query or comparison query into a fact query,
The query type conversion model includes a first conversion model for converting the true/false query to a fact query and a second conversion model for converting the selected query or comparison query to a fact query.
상기 제1 변환 모델은,
사실 질의로의 변환을 위한 의문사가 미리 태그된 참/거짓 질의들의 말뭉치에 대한 형태소 분석을 수행하여 제1 변환 학습 데이터셋을 생성하고,
상기 제1 변환 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 참/거짓 질의에 의문사를 태그하는 제1 변환 포텐셜 함수를 형성하는 방식으로 학습되는, 질의응답 시스템.
The method of claim 4,
The first transformation model,
In fact, a first transformation learning dataset is created by performing a morpheme analysis on the corpus of true/false queries tagged with a questionnaire for transformation into a query in advance,
A question-answering system that is learned by applying a CRF machine learning algorithm to the first transformed learning dataset to form a first transformed potential function for tagging a questionnaire to an arbitrary true/false query.
상기 프로세서는, 상기 참/거짓 질의를 사실 질의로 변환할 때,
상기 참/거짓 질의에 대한 형태소 분석을 수행하여 참/거짓 분석 데이터를 생성하고,
상기 참/거짓 분석 데이터를 상기 제1 변환 포텐셜 함수에 입력함으로써, 상기 참/거짓 질의를 사실 질의로 변환하는, 질의응답 시스템.
The method of claim 5,
When the processor converts the true/false query into a true query,
To generate true/false analysis data by performing morpheme analysis on the true/false query,
And converting the true/false query into a true query by inputting the true/false analysis data into the first transformation potential function.
상기 제2 변환 모델은,
사실 질의로의 변환을 위한 선택/비교 대상이 미리 식별된 선택 질의들 및 비교 질의들의 말뭉치에 대한 형태소 분석을 수행하여 제2 변환 학습 데이터셋을 생성하고,
상기 제2 변환 학습 데이터셋에 대한 CRF 기계 학습 알고리즘을 적용하여 임의의 선택 질의 또는 비교 질의에서 선택/비교 대상을 식별하는 제2 변환 포텐셜 함수를 형성하는 방식으로 학습되는, 질의응답 시스템.
The method of claim 4,
The second transformation model,
In fact, a second transformation training dataset is created by performing a morpheme analysis on the corpus of selection queries and comparison queries for which the selection/comparison target for transformation into a query is previously identified, and
A question-answering system that is learned by applying a CRF machine learning algorithm to the second transform learning dataset to form a second transform potential function that identifies a selection/comparison object in an arbitrary selection query or a comparison query.
상기 프로세서는, 상기 상기 선택 질의 또는 비교 질의를 사실 질의로 변환할 때,
상기 선택 질의 또는 비교 질의에 대한 형태소 분석을 수행하여 선택/비교 분석 데이터를 생성하고,
상기 선택/비교 분석 데이터를 상기 제2 변환 포텐셜 함수에 입력하여 상기 선택 질의 또는 비교 질의에서의 선택/비교 대상을 식별하고,
상기 선택/비교 대상에 기초하여 상기 선택 질의 또는 비교 질의를 사실 질의로 변환하는, 질의응답 시스템.
The method of claim 7,
When the processor converts the selection query or the comparison query into a fact query,
To generate selection/comparison analysis data by performing morpheme analysis on the selection query or comparison query,
Inputting the selection/comparison analysis data to the second transformation potential function to identify a selection/comparison target in the selection query or comparison query,
A question answering system for converting the selection query or the comparison query into a fact query based on the selection/comparison object.
상기 프로세서는, 상기 질의 연관 문서를 선별할 때,
상기 탐색 대상 문서들 각각에 대해 TF-IDF(Term-Frequency Inverse Document Frequency) 가중치를 기반으로 문단 단위로 생성되는 문단 벡터들의 역파일 색인 DB(Inverted File Index Database)에 기초하여 상기 문단 벡터들 각각 및 상기 질의 벡터 간의 코사인 유사도(Cosine Similarity)를 산출하고,
상기 코사인 유사도에 기초하여 상기 질의 연관 문서를 선별하는, 질의응답 시스템.
The method of claim 1,
When the processor selects the query-related document,
Each of the paragraph vectors based on an inverted file index database (DB) of paragraph vectors generated for each paragraph based on a TF-IDF (Term-Frequency Inverse Document Frequency) weight for each of the search target documents, and Calculate the cosine similarity between the query vectors,
A question answering system for selecting the query-related document based on the cosine similarity.
상기 프로세서는, 상기 질의 연관 문서를 선별할 때,
상기 사용자 질의를 구성하는 키워드들을 기준으로 상기 질의 연관 문서의 문장들 중 상기 키워드를 포함하는 문장을 선별하여 질의 연관 요약문을 생성하는, 질의응답 시스템.
The method of claim 1,
When the processor selects the query-related document,
A query-response system for generating a query-related summary by selecting a sentence including the keyword from among sentences of the query-related document based on keywords constituting the user query.
상기 기계 문서 이해 모델은,
상기 질의 연관 문서 및 상기 사용자 질의를 수치화하기 위한 인코딩 레이어, 상기 질의 연관 문서 및 상기 사용자 질의 간의 관계와 문맥을 파악하기 위한 상호집중 레이어(Co-Attention Layer) 및 상기 질의 연관 문서의 내부에서 상기 사용자 질의에 대한 정답이 존재하는 시작 위치 및 종료 위치를 포인팅하기 위한 출력 레이어를 포함하고,
LSTM(Long Short-Term Memory) 모델에 따라 상기 시작 위치 및 종료 위치를 포인팅하도록 학습되는, 질의응답 시스템.
The method of claim 1,
The machine document understanding model,
An encoding layer for quantifying the query-related document and the user query, a co-attention layer for identifying the relationship and context between the query-related document and the user query, and the user within the query-related document Includes an output layer for pointing a start position and an end position where the correct answer to the query exists,
The question-and-answer system, which is learned to point the start position and end position according to a Long Short-Term Memory (LSTM) model.
상기 프로세서는, 상기 단답형 답변을 생성할 때,
상기 사용자 질의 유형이 참/거짓 질의인 경우 상기 정답 위치로부터 도출되는 사실 질의에 대한 정답에 기초하여 예 또는 아니오를 상기 단답형 답변으로 생성하고,
상기 사용자 질의 유형이 비교 질의 또는 선택 질의인 경우 상기 정답 위치로부터 도출되는 사실 질의에 대한 정답에 기초하여 선택 대상 중 어느 하나 또는 비교 대상 중 어느 하나를 상기 단답형 답변으로 생성하는, 질의응답 시스템.The method of claim 1,
The processor, when generating the short answer type answer,
If the user query type is a true/false query, yes or no is generated as the short answer type answer based on the correct answer to the fact query derived from the correct answer location,
When the user query type is a comparison query or a selection query, one of the selection targets or one of the comparison targets is generated as the short answer type answer based on the correct answer to the fact query derived from the correct answer location.
상기 개량 Seq2Seq 모델은,
상기 사용자 질의에 대한 형태소 분석에 의해 추출되는 형태소 토큰들로부터 타임 스텝별 스테이트를 출력하는 인코더 구조, 및
상기 단답형 답변 및 상기 타임 스텝별 스테이트에 기초하여 상기 서술형 답변을 생성하도록 학습되는 디코더 구조를 포함하는, 질의응답 시스템.
The method of claim 1,
The improved Seq2Seq model,
An encoder structure for outputting a state for each time step from morpheme tokens extracted by morpheme analysis of the user query, and
And a decoder structure that is learned to generate the narrative answer based on the short answer type and the state for each time step.
상기 디코더 구조는, 상기 타임 스텝별 스테이트 중 마지막에 출력되어 상기 사용자 질의의 어미(語尾)에 대응되는 마지막 스테이트를 처리하는 이중층 형태의 Bi-LSTM 레이어를 포함하는, 질의응답 시스템.
The method of claim 13,
The decoder structure includes a Bi-LSTM layer in the form of a double layer that is output last among the states for each time step and processes a last state corresponding to a ending of the user query.
상기 프로세서는, 상기 AI 답변을 제시할 때,
상기 단답형 답변을 상기 디코더 구조에 입력하여 상기 디코더 구조에 의해 추론되는 예측값을 생성하고,
상기 디코더 구조에 의해 추론되는 예측값을 다시 상기 디코더 구조에 입력하는 과정을 반복하여 상기 서술형 답변을 생성하는, 질의응답 시스템.
The method of claim 13,
The processor, when presenting the AI answer,
Inputting the short answer answer to the decoder structure to generate a predicted value inferred by the decoder structure,
The question-and-answer system for generating the narrative answer by repeating the process of inputting the predicted value inferred by the decoder structure back into the decoder structure.
질의 유형 분류 모델에 기초하여 상기 사용자 질의의 사용자 질의 유형을 분류하는 단계;
질의 유형 변환 모델에 기초하여 상기 사용자 질의 유형을 사실 질의로 변환하는 단계;
탐색 대상 문서들 각각의 문서 벡터 및 상기 사실 질의의 질의 벡터 간의 유사도에 기초하여 상기 탐색 대상 문서들로부터 질의 연관 문서를 선별하는 단계;
기계 문서 이해(MRC: Machine Reading Comprehension) 모델에 기초하여 상기 질의 연관 문서의 내부에서 정답 위치를 탐색하는 단계;
상기 정답 위치로부터 도출되는 정답에 대해 상기 질의 유형에 따른 후처리를 실시하여 상기 사용자 질의에 대한 단답형 답변을 생성하는 단계; 및
개량 Seq2Seq 모델에 기초하여 상기 단답형 답변을 서술형 답변으로 변환하여 상기 AI 답변을 제시하는 단계를 포함하는, 질의응답 방법.
In the question-and-answer method of presenting an AI answer to a user query by a processor,
Classifying a user query type of the user query based on a query type classification model;
Converting the user query type into a fact query based on a query type conversion model;
Selecting a query-related document from the search target documents based on the similarity between the document vector of each of the search target documents and the query vector of the fact query;
Searching for a location of a correct answer within the query-related document based on a Machine Reading Comprehension (MRC) model;
Generating a short answer-type answer to the user query by performing post-processing according to the type of the query on the correct answer derived from the correct answer location; And
Comprising the step of presenting the AI answer by converting the short answer type answer into a narrative answer based on the improved Seq2Seq model.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20190127448 | 2019-10-15 | ||
KR1020190127448 | 2019-10-15 |
Publications (3)
Publication Number | Publication Date |
---|---|
KR20210044697A true KR20210044697A (en) | 2021-04-23 |
KR102391466B1 KR102391466B1 (en) | 2022-04-27 |
KR102391466B9 KR102391466B9 (en) | 2022-12-27 |
Family
ID=75738346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200128050A KR102391466B1 (en) | 2019-10-15 | 2020-10-05 | Ai based question and answer system and method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102391466B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113609248A (en) * | 2021-08-20 | 2021-11-05 | 北京金山数字娱乐科技有限公司 | Word weight generation model training method and device and word weight generation method and device |
CN116013296A (en) * | 2023-03-28 | 2023-04-25 | 国网浙江省电力有限公司营销服务中心 | Searching method based on computer natural language processing |
CN117688164A (en) * | 2024-02-03 | 2024-03-12 | 北京澜舟科技有限公司 | Illusion detection method, system and storage medium based on large language model |
WO2024187581A1 (en) * | 2023-03-16 | 2024-09-19 | 上海卓繁信息技术股份有限公司 | Multi-round dialogue method and apparatus for dynamic government affair updating, and electronic device |
KR102710159B1 (en) * | 2024-04-12 | 2024-09-26 | (주)유알피 | A system for generating answers to multiple questions using rag-based generative artificial intelligence technology |
KR102711560B1 (en) * | 2024-04-12 | 2024-10-02 | (주)유알피 | Method for improving answer accuracy for generative ai-based multiple questions |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190109656A (en) | 2018-03-08 | 2019-09-26 | 주식회사 포티투마루 | Artificial intelligence qa method, apparatus and program |
-
2020
- 2020-10-05 KR KR1020200128050A patent/KR102391466B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190109656A (en) | 2018-03-08 | 2019-09-26 | 주식회사 포티투마루 | Artificial intelligence qa method, apparatus and program |
Non-Patent Citations (4)
Title |
---|
Ali Allam and Mohamed H. Haggag. "The question answering systems: A survey." International Journal of Research and Reviews in Information Sciences (IJRRIS) 2.3 (2012). * |
Hanjun Kim et al. "A document corpus-based question-and-answer system." Journal of the Korean Digital Content Society 11.3 (2010): 375-383. * |
Xiong et al. "Dynamic coattention networks for question answering." arXiv preprint arXiv:1611.01604 (2016). * |
Yin et al. "Neural generative question answering." arXiv preprint arXiv:1512.01337 (2015). * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113609248A (en) * | 2021-08-20 | 2021-11-05 | 北京金山数字娱乐科技有限公司 | Word weight generation model training method and device and word weight generation method and device |
WO2024187581A1 (en) * | 2023-03-16 | 2024-09-19 | 上海卓繁信息技术股份有限公司 | Multi-round dialogue method and apparatus for dynamic government affair updating, and electronic device |
CN116013296A (en) * | 2023-03-28 | 2023-04-25 | 国网浙江省电力有限公司营销服务中心 | Searching method based on computer natural language processing |
CN116013296B (en) * | 2023-03-28 | 2023-05-30 | 国网浙江省电力有限公司营销服务中心 | Searching method based on computer natural language processing |
CN117688164A (en) * | 2024-02-03 | 2024-03-12 | 北京澜舟科技有限公司 | Illusion detection method, system and storage medium based on large language model |
CN117688164B (en) * | 2024-02-03 | 2024-05-17 | 北京澜舟科技有限公司 | Illusion detection method, system and storage medium based on large language model |
KR102710159B1 (en) * | 2024-04-12 | 2024-09-26 | (주)유알피 | A system for generating answers to multiple questions using rag-based generative artificial intelligence technology |
KR102711560B1 (en) * | 2024-04-12 | 2024-10-02 | (주)유알피 | Method for improving answer accuracy for generative ai-based multiple questions |
Also Published As
Publication number | Publication date |
---|---|
KR102391466B1 (en) | 2022-04-27 |
KR102391466B9 (en) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102391466B1 (en) | Ai based question and answer system and method | |
CN111611361B (en) | Intelligent reading, understanding, question answering system of extraction type machine | |
US11531818B2 (en) | Device and method for machine reading comprehension question and answer | |
JP7324354B2 (en) | Systems and methods for intent discovery from multimedia conversations | |
US9846836B2 (en) | Modeling interestingness with deep neural networks | |
JP5710581B2 (en) | Question answering apparatus, method, and program | |
Kim et al. | A Bi-LSTM memory network for end-to-end goal-oriented dialog learning | |
US20210174161A1 (en) | Method and apparatus for multi-document question answering | |
CN113220864B (en) | Intelligent question-answering data processing system | |
CN116662502A (en) | Method, equipment and storage medium for generating financial question-answer text based on retrieval enhancement | |
KR20210056131A (en) | Apparatus and method for answering questions related to legal field | |
Bulfamante | Generative enterprise search with extensible knowledge base using AI | |
WO2022107328A1 (en) | Machine learning program, machine learning method, and natural language processing device | |
Suneera et al. | A bert-based question representation for improved question retrieval in community question answering systems | |
Karpagam et al. | Deep learning approaches for answer selection in question answering system for conversation agents | |
Tüselmann et al. | A weighted combination of semantic and syntactic word image representations | |
CN111767388A (en) | Candidate pool generation method | |
Hattimare et al. | Maruna Bot: An extensible retrieval-focused framework for task-oriented dialogues | |
Testas | Natural Language Processing with Pandas, Scikit-Learn, and PySpark | |
Wang | A study of the tasks and models in machine reading comprehension | |
KR102703247B1 (en) | Method and system for refining search results based on query complexity for generative search | |
Ghigi et al. | Sentence Answer Selection for Open Domain Question Answering via Deep Word Matching | |
Aggarwal | Question Answering | |
Trembczyk | Answer Triggering Mechanisms in Neural Reading Comprehension-based Question Answering Systems | |
CN117851574A (en) | Text dialogue method and device and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
G170 | Re-publication after modification of scope of protection [patent] |