KR102116518B1 - Apparatus for answering a question based on maching reading comprehension and method for answering a question using thereof - Google Patents
Apparatus for answering a question based on maching reading comprehension and method for answering a question using thereof Download PDFInfo
- Publication number
- KR102116518B1 KR102116518B1 KR1020180021696A KR20180021696A KR102116518B1 KR 102116518 B1 KR102116518 B1 KR 102116518B1 KR 1020180021696 A KR1020180021696 A KR 1020180021696A KR 20180021696 A KR20180021696 A KR 20180021696A KR 102116518 B1 KR102116518 B1 KR 102116518B1
- Authority
- KR
- South Korea
- Prior art keywords
- question
- correct answer
- hidden state
- vector
- paragraph
- Prior art date
Links
Images
Classifications
-
- 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
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Machine Translation (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
본 개시는 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법에 관한 것이다. 이를 위한 질의 응답 방법은, 질문 및 문단에 관한 자질 벡터를 생성하는 단계, 상기 질문의 자질 벡터를 기초로, 질문의 히든 상태를 인코딩하는 단계, 상기 질문의 히든 상태를 기초로, 질문 벡터를 생성하는 단계, 상기 문단의 자질 벡터를 기초로 문단의 히든 상태를 인코딩하는 단계, 상기 문단의 히든 상태를 기초로, 모델링 벡터를 생성하는 단계, 및 상기 질문 벡터 및 상기 모델링 벡터를 기초로, 정답의 위치를 예측하는 단계를 포함할 수 있다.The present disclosure relates to a device for answering questions based on machine reading and a method for answering questions using the same. To this end, the query response method includes: generating a feature vector for a question and a paragraph, encoding a hidden condition of a question based on the feature vector of the question, and generating a question vector based on the hidden condition of the question The method comprising: encoding a hidden state of a paragraph based on a feature vector of the paragraph, generating a modeling vector based on the hidden state of the paragraph, and based on the question vector and the modeling vector, And predicting a location.
Description
본 개시는 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법에 관한 것이다. The present disclosure relates to a device for answering questions based on machine reading and a method for answering questions using the same.
기계 독해(Machine Reading Comprehension, MRC)는 기계가 문서를 읽고 이해할 수 있도록 하는 기계 학습 방법을 의미한다. MRC에 기반한 질의 응답 모델을 이용할 경우, 기계 독해를 통해 문서 내 답을 찾을 수 있는 질문 및 질문에 대한 정답의 위치를 학습하고, 학습한 결과를 토대로 새로운 문서 또는 질문이 입력되었을 때, 입력된 질문에 대한 정답의 위치를 유추할 수 있다.Machine Reading Comprehension (MRC) is a machine learning method that enables a machine to read and understand documents. When using a question-and-answer model based on MRC, machine reading is used to learn the location of the correct answer to the question and the question to find the answer in the document. You can infer the location of the correct answer to.
최근에는, 순환 신경망(RNN, Recurrent Neural Network)를 이용한, MRC 기반의 딥 러닝 모델이 제안되고 있다. 순환 신경망은, 이전 상태의 정보를 반영하여 현재 상태의 출력을 결정할 수 있어, MRC와 같은 시계열적 데이터를 처리하는데 효과적이다. 다만, RNN에서는, 현재 상태로부터 먼 과거일 수록, 현재 상태에 미치는 영향력이 점차 감소하는 그라디언트 소실 문제(Vanishing Gradient Problem)가 발생하게 된다. 이에, 그라디언트 소실 문제를 해소하는 한편, 처리 속도를 개선한 RNN을 이용한 딥 러닝 모델 구축의 필요성이 제기되고 있다.Recently, a deep learning model based on MRC using a recurrent neural network (RNN) has been proposed. The cyclic neural network is effective in processing time-series data such as MRC because it can determine the output of the current state by reflecting information of the previous state. However, in the RNN, the farther away from the current state, the more the effect on the current state is gradually reduced gradient (Vanishing Gradient Problem) occurs. Accordingly, there is a need to build a deep learning model using RNN, which has improved the processing speed while solving the problem of loss of gradient.
본 개시의 기술적 과제는, RNN에 기초한 딥 러닝 모델 및 상기 모델이 적용된 질의 응답 장치를 제공하는 것이다.The technical problem of the present disclosure is to provide a deep learning model based on RNN and a query response device to which the model is applied.
본 개시의 기술적 과제는, SRU(Simple Recurrent Unit)을 이용하여, 그라디언트 소실 문제를 해소하는 한편, 연산 속도를 향상시킨 딥 러닝 모델 및 상기 모델이 적용된 질의 응답 장치를 제공하는 것이다.The technical problem of the present disclosure is to provide a deep learning model that improves a computation speed and a query response device to which the model is applied while solving a gradient loss problem by using a simple recurrent unit (SRU).
본 개시의 기술적 과제는, 질문 및 문단에 복수의 자질을 적용하여, 향상된 딥 러닝 모델 및 상기 모델이 적용된 질의 응답 장치를 제공하는 것이다.The technical problem of the present disclosure is to provide an improved deep learning model and a query response device to which the model is applied by applying a plurality of qualities to questions and paragraphs.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present disclosure are not limited to the technical problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those skilled in the art from the description below. Will be able to.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법은, 질문 및 문단에 관한 자질 벡터를 생성하고, 상기 질문의 자질 벡터를 기초로, 질문의 히든 상태를 인코딩하고, 상기 질문의 히든 상태를 기초로, 질문 벡터를 생성하고, 상기 문단의 자질 벡터를 기초로 문단의 히든 상태를 인코딩하고, 상기 문단의 히든 상태를 기초로, 모델링 벡터를 생성하고, 상기 질문 벡터 및 상기 모델링 벡터를 기초로, 정답의 위치를 예측할 수 있다.An apparatus and method for querying and answering based on machine reading according to an aspect of the present disclosure generate a feature vector for a question and a paragraph, encode a hidden state of a question based on the feature vector of the question, and hide the question. A question vector is generated based on a state, a hidden state of the paragraph is encoded based on the feature vector of the paragraph, a modeling vector is generated based on the hidden state of the paragraph, and the question vector and the modeling vector are generated. On the basis of it, the location of the correct answer can be predicted.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 자질 벡터는 단어 단위로 생성될 수 있다.In an apparatus and method for querying and answering based on machine reading according to an aspect of the present disclosure, the feature vector may be generated in units of words.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 질문의 히든 상태는, 문장 단위로 인코딩될 수 있다.In an apparatus and method for querying and answering based on machine reading according to an aspect of the present disclosure, the hidden state of the question may be encoded in units of sentences.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 문단의 히든 상태는 단어 단위로 인코딩되고, 단어의 히든 상태는 상기 단어의 자질 벡터를 양방향 RNN(Recurrent Neural Network)에 입력함에 따라 생성될 수 있다.In a device and method for querying and answering based on machine reading according to an aspect of the present disclosure, the hidden state of the paragraph is encoded in units of words, and the hidden state of the word is configured to transfer the feature vector of the word to a bidirectional Recurrent Neural Network (RNN). It can be created as you type.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 양방향 RNN은 SRU (Simple Recurrent Unit)을 포함하여 구성될 수 있다.In an apparatus and method for querying and answering based on machine reading according to an aspect of the present disclosure, the bidirectional RNN may include a Simple Recurrent Unit (SRU).
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 모델링 벡터는, 상기 문단의 히든 상태 시퀀스 열(sequence)에 관한 문맥 정보에 기초하여 생성될 수 있다.In a question and answer apparatus and method based on machine reading according to an aspect of the present disclosure, the modeling vector may be generated based on context information regarding a hidden state sequence sequence of the paragraph.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 자질 벡터는, 단어에 적어도 하나의 자질을 이용함으로써 생성될 수 있다.In a question and answer apparatus and method based on machine reading according to an aspect of the present disclosure, the feature vector may be generated by using at least one feature in a word.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 자질은, 워드 임베딩, 음절 임베딩, 정확한 매치, 토큰 자질 및 정렬된 질문 표현 중 적어도 하나를 포함하고, 상기 질문 및 상기 문단에 적용되는 자질의 개수 및 종류는 동일할 수 있다.In a question and answer apparatus and method based on machine reading according to an aspect of the present disclosure, the qualities include at least one of word embedding, syllable embedding, exact match, token qualities, and sorted question expressions, wherein the question and the The number and type of qualities applied to a paragraph may be the same.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 정답 위치는 정답의 시작 위치 및 정답의 종료 위치를 포함할 수 있다.In a device and method for querying and answering based on machine reading according to an aspect of the present disclosure, the correct answer position may include a start position of a correct answer and an end position of a correct answer.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 정답 위치에 대응하는 정답이 완결형으로 종결되는지 여부에 따라, 상기 정답 위치가 보정될 수 있다.In a question and answer apparatus and method based on machine reading according to an aspect of the present disclosure, the correct answer position may be corrected according to whether a correct answer corresponding to the correct answer position is terminated in a finalized type.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.The features briefly summarized above with respect to the present disclosure are merely illustrative aspects of the detailed description of the present disclosure described below, and do not limit the scope of the present disclosure.
본 개시에 따르면, RNN에 기초한 딥 러닝 모델을 제공할 수 있는 효과가 있다.According to the present disclosure, there is an effect that can provide a deep learning model based on RNN.
본 개시에 따르면, SRU(Simple Recurrent Unit)을 이용하여, 그라디언트 소실 문제를 해소하는 한편, 연산 속도를 향상시킨 딥 러닝 모델을 제공할 수 있는 효과가 있다.According to the present disclosure, by using a simple recurrent unit (SRU), while solving the problem of gradient loss, there is an effect that can provide a deep learning model with improved computation speed.
본 개시에 따르면, 질문 및 문단에 복수의 자질을 적용하여, 딥 러닝 모델의 성능을 향상시킬 수 있는 효과가 있다.According to the present disclosure, by applying a plurality of qualities to the question and paragraph, there is an effect that can improve the performance of the deep learning model.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present disclosure are not limited to the above-mentioned effects, and other effects not mentioned may be clearly understood by those skilled in the art from the following description. will be.
도 1은 LSTM, GRU 및 SRU를 비교 도시한 도면이다.
도 2는 본 발명에 따른, 딥 러닝 모델을 계층적으로 나타낸 도면이다.
도 3은 도 2에 도시된 딥 러닝 모델을 이용한 MRC 기반의 질의 응답 장치의 블록도이다.
도 4는 본 발명에 따른 MRC 기반의 질의 응답 방법을 나타낸 흐름도이다.
도 5는 딥 러닝 모델에 적용되는 한국어 기계 독해 데이터 셋을 예시한 도면이다.1 is a view showing a comparison of LSTM, GRU and SRU.
2 is a diagram hierarchically illustrating a deep learning model according to the present invention.
FIG. 3 is a block diagram of an MRC-based query response device using the deep learning model shown in FIG. 2.
4 is a flow chart showing an MRC-based query response method according to the present invention.
5 is a diagram illustrating a Korean machine reading data set applied to a deep learning model.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다. 후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 실시예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 실시예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.The present invention can be applied to various changes and can have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In the drawings, similar reference numerals refer to the same or similar functions throughout several aspects. The shape and size of elements in the drawings may be exaggerated for a clearer explanation. For detailed description of exemplary embodiments described below, reference is made to the accompanying drawings that illustrate specific embodiments as examples. These embodiments are described in detail enough to enable those skilled in the art to practice the embodiments. It should be understood that the various embodiments are different, but need not be mutually exclusive. For example, certain shapes, structures, and properties described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in relation to one embodiment. In addition, it should be understood that the location or placement of individual components within each disclosed embodiment can be changed without departing from the spirit and scope of the embodiment. Therefore, the following detailed description is not intended to be taken in a limiting sense, and the scope of exemplary embodiments, if appropriately described, is limited only by the appended claims, along with all ranges equivalent to those claimed.
본 발명에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.In the present invention, terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from other components. For example, the first component may be referred to as a second component without departing from the scope of the present invention, and similarly, the second component may be referred to as a first component. The term and / or includes a combination of a plurality of related described items or any one of a plurality of related described items.
본 발명의 어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급 또는 표현된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component of the present invention is referred to or expressed as being "connected" or "connected" to another component, it may be directly connected to or connected to the other component, but other components in the middle It should be understood that may exist. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that no other component exists in the middle.
본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들은, 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 일 예로, 각 구성부들은, 데이터 통신을 수행하기 위한 통신부, 데이터를 저장하는 메모리, 데이터 처리 및 연산을 수행하는 제어부(또는 프로세서) 등 하드웨어 및/또는 이들 하드웨어를 기초로 구동되는 소프트웨어 중 적어도 하나 이상을 통해 구현될 수 있다. Components shown in the embodiments of the present invention are shown independently to indicate different characteristic functions, and each component may be implemented by hardware, software, or a combination thereof. For example, each component is at least one of hardware and / or software driven based on hardware such as a communication unit for performing data communication, a memory for storing data, a control unit (or processor) for performing data processing and calculation, and / or the like. It can be implemented through the above.
또한, 본 실시예에 나타난 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어져야 하는 것은 아니다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함될 수 있다.In addition, each component shown in the present embodiment does not have to be composed of separate hardware or one software component. That is, for convenience of description, each component is listed and included as each component, and at least two components of each component are combined to form one component, or one component is divided into a plurality of components to perform a function. The integrated and separated embodiments of the constituent parts may also be included in the scope of the present invention without departing from the essence of the present invention.
예컨대, 도 3에 도시된 예에서, 각 구성부들에서 수행되는 연산은 제어부(또는 프로세서) 등의 하드웨어를 통해 수행되는 한편, 각 구성부들 사이의 입출력되는 데이터는 메모리 등에 저장될 수 있다.For example, in the example shown in FIG. 3, the operation performed in each component is performed through hardware such as a control unit (or processor), while data input / output between each component can be stored in a memory or the like.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 즉, 본 발명에서 특정 구성을 "포함"한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다. The terms used in the present invention 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 invention, terms such as “comprise” or “have” are intended to indicate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, and that one or more other features are present. It should be understood that the existence or addition possibilities of fields or numbers, steps, operations, components, parts or combinations thereof are not excluded in advance. That is, in the present invention, description of "including" a specific configuration does not exclude configurations other than the corresponding configuration, and means that additional configurations may be included in the scope of the present invention or the technical spirit of the present invention.
본 발명의 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.Some of the components of the present invention are not essential components for performing essential functions in the present invention, but may be optional components for improving performance. The present invention can be implemented by including only components necessary for realizing the essence of the present invention, except components used for performance improvement, and structures including only essential components excluding optional components used for performance improvement. Also included in the scope of the present invention.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하고, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In describing embodiments of the present specification, when it is determined that detailed descriptions of related well-known configurations or functions may obscure the subject matter of the present specification, detailed descriptions thereof will be omitted, and the same reference numerals will be used for the same components in the drawings. Used and duplicate description of the same components will be omitted.
기계 독해에 기반한 질의 응답 시스템을 구축하기 위해, 데이터 셋을 구축하고, 주어진 데이터 셋을 딥 러닝 모델에 적용하여 기계 학습을 진행하게 된다. 일 예로, 스탠포드의 SQuAD, 페이스북의 bAbi, 마이크로 소프트의 MS-MARCO 등의 데이터 셋과, DrQA, fastQA, R-Net, AoA reader, BiDirectional Flow(BiDAF), match-LSTM 등의 end-to-end 딥 러닝 모델 등이 연구되고 있다. To build a question-and-answer system based on machine reading, a data set is constructed and machine learning is performed by applying the given data set to a deep learning model. For example, Stanford's SQuAD, Facebook's bAbi, Microsoft's MS-MARCO and other data sets, and DrQA, fastQA, R-Net, AoA reader, BiDirectional Flow (BiDAF), match-LSTM, etc. end-to- end Deep learning models are being studied.
포인터 네트워크 기반 딥 러닝 모델은, RNN Encoder-Decoder 모델을 확장한 것으로, 주어진 입력 시퀀스(sequence)에 대응하는 위치를 결과로 출력하는 모델을 의미한다. 일 예로, 상기 딥 러닝 모델을 이용할 경우, 문맥에서 질문과 유사한 정답의 경계 인덱스(즉, 정답의 시작 위치 및 종료 위치)가 출력될 수 있다.The pointer network-based deep learning model is an extension of the RNN Encoder-Decoder model and refers to a model that outputs a position corresponding to a given input sequence as a result. For example, when using the deep learning model, a boundary index (ie, a start position and an end position) of a correct answer similar to a question in context may be output.
상기 딥 러닝 모델의 기반이 되는 순환 신경망(RNN, Recurrent Neural Network)은, 입력층(input layer)와 출력층(outputlayer) 사이에 적어도 하나 이상의 히든층(hidden layer)을 포함하는 인공 신공망(ANN, Artificial Neural Network) 중 하나이다. 순환 신경망은 순차적 정보 또는 시계열적 데이터를 처리하기 위한 인공 신공망으로, 현재 상태(t)에서의 출력(y(t))는 현재 상태(t)에서의 입력(x(t))뿐만 아니라, 이전 상태(t-1)의 정보(구체적으로는, 이전 히든 상태(h(t-1))에도 영향을 받는다. 이전 상태의 정보를 현재 상태에 전달하기 위해, RNN은 이전 상태의 정보를 저장하기 위한 메모리를 포함할 수 있다.A recurrent neural network (RNN), which is the basis of the deep learning model, is an artificial neural network (ANN) including at least one hidden layer between an input layer and an output layer. Artificial Neural Network). The cyclic neural network is an artificial neural network for processing sequential information or time-series data. The output (y (t)) in the current state (t) is not only the input (x (t)) in the current state (t), The information of the previous state (t-1) (specifically, the previous hidden state (h (t-1)) is also affected.) In order to transfer the information of the previous state to the current state, the RNN stores the information of the previous state. It may include a memory for.
다만, RNN에서는 과거 상태가 현재 상태에 끼치는 영향력이, 현재 상태로 부터 먼 과거일수록 급격히 감소하는 그라디언트 소실 문제(Vanishing Gradient Problem)가 발생할 수 있다. 그라디언트 소실 문제를 해소하기 위해, 히든층을 LSTM(Long Short-Term Memeroy) 또는 GRU(Gated Recurrent Unit) 등의 메모리 블록으로 구성하는 방안이 고려될 수 있다.However, in the RNN, a vanishing gradient problem may occur in which the influence of the past state on the present state decreases rapidly as the past distant from the present state. In order to solve the gradient loss problem, a method of configuring the hidden layer with a memory block such as a Long Short-Term Memeroy (LSTM) or a Gated Recurrent Unit (GRU) may be considered.
LSTM은 입력 게이트(Input gate), 출력 게이트(Output gate) 및 포겟 게이트(Forget gate)를 포함하는 메모리 블록이다. 입력 게이트를 이용하여, 새로운 인풋을 수신할지 여부를 결정할 수 있고, 포겟 게이트를 이용하여, 이전 상태로부터 전달된 정보를 현재 상태에 전달할 것인지 여부를 결정할 수 있다. 출력 게이트를 이용하여 출력값에 이전 상태로부터 전달된 정보를 적용할 것인지 여부를 결정할 수 있다.LSTM is a memory block including an input gate, an output gate, and a forget gate. The input gate may be used to determine whether to receive a new input, or the use of a forward gate to determine whether to transfer information from the previous state to the current state. The output gate may be used to determine whether to apply information transmitted from a previous state to the output value.
GRU는 LSTM 에서 출력 게이트를 제거한 메모리 블록으로, 리셋 게이트(reset gate) 및 업데이트 게이트(updategate)를 포함할 수 있다. 즉, GRU는 LSTM을 단순화한 구조로, LSTM보다 계산량이 적어 빠른 처리가 가능하다는 이점이 있다. GRU에서는, 리셋 게이트를 이용하여 새로운 입력을 이전 메모리와 어떻게 조합할 것인지 여부가 결정될 수 있고, 업데이트 게이트를 이용하여, 이전 메모리 정보를 유지하여 새로운 상태를 계산할 것인지 여부를 결정할 수 있다.The GRU is a memory block in which the output gate is removed from the LSTM, and may include a reset gate and an update gate. That is, the GRU is a simplified structure of the LSTM, and has the advantage of being capable of fast processing due to less computational complexity than the LSTM. In the GRU, a reset gate can be used to determine how to combine the new input with the old memory, and an update gate can be used to determine whether to maintain the old memory information and compute a new state.
SRU(Simple Recurrent Unit)는 GRU 또는 LSTM과 같이 뉴럴 게이트(neural gate)를 두어, LSTM 또는 GRU와 마찬가지로, 그라디언트 소실 문제를 해결할 수 있다. SRU는 GRU 대비 게이트 입력에서 이전 히든 상태를 제거하여, GRU 보다 계산량이 적고 병렬 계산이 빠른 이점이 있다.A simple recurrent unit (SRU) has a neural gate such as a GRU or LSTM, and like the LSTM or GRU, can solve the gradient loss problem. The SRU eliminates the previous hidden state at the gate input compared to the GRU, and has the advantage of less computation and faster parallel computation than the GRU.
도 1은 LSTM, GRU 및 SRU를 비교 도시한 도면이다.1 is a view showing a comparison of LSTM, GRU and SRU.
도 1의 (a)는 LSTM, (b)는 GRU, (c)는 SRU를 나타낸다. 또한, i는 입력 게이트, f는 포겟 게이트, o는 출력 게이트, z는 업데이트 게이트, r는 리셋 게이트를 나타낸다. c 및 h는 각각의 내부 메모리를 나타낼 수 있다. 하기 수학식 1 내지 3은, 각각 LSTM, GRU 및 SRU의 동작을 수학적으로 나타낸 것이다. 1 (a) shows LSTM, (b) shows GRU, and (c) shows SRU. In addition, i is an input gate, f is a forward gate, o is an output gate, z is an update gate, and r is a reset gate. c and h may indicate each internal memory. The following equations (1) to (3) show the operations of LSTM, GRU and SRU, respectively.
수학식 1 내지 수학식 3에서, i는 입력 게이트, f는 포겟 게이트, r는 리셋 게이트, z는 업데이트 게이트, o는 출력 게이트의 동작을 나타낸 것이다. 수학식 1에서, x는 입력, g는 후보 히든 상태(candidate hidden state), s는 히든 상태, c는 내부 상태를 나타낼 수 있다. 수학식 2에서, x는 입력, s는 히든 상태, h는 내부 상태를 나타낼 수 있다. 수학식 3에서, x는 입력, h는 히든 상태, c는 내부 상태를 나타낼 수 있다. In
수학식 1 내지 3에서, 첨자 t는 현재 상태의 정보를 나타내고, 첨자 t-1은 이전 상태의 정보를 나타낸다. 또한, sigma()는 시그모이드 함수, tanh()는 쌍곡 함수(hyperbolic tangent function), g()는 활성 함수를 나타낸다. 활성함수는, 시그모이드 함수, 쌍곡 함수, ReLU 함수 또는 소프트맥스(softmax) 함수 중 적어도 하나를 포함할 수 있다. ⊙는 elementwise 곱 연산을 나타낼 수 있다.In
SRU의 동작을 나타내는 수학식 3을 살펴보면, 현재 내부 상태(internal sate, 즉 현재 메모리) ct는 현재 입력 xt와 이전 내부 상태 ct-1로부터의 정보 전달을 조절하여 유도될 수 있다. Looking at Equation 3 representing the operation of the SRU, the current internal state (internal sate, i.e., the current memory) c t can be derived by adjusting information transmission from the current input x t and the previous internal state c t-1 .
인풋 게이트 it는 와 elementwise 곱을 수행하여 입력 정보 반영 여부를 결정하고, 포겟 게이트 ft는 ct-1와의 elementwise 곱을 수행하여, 이전 내부 상태(internel state)의 정보를 얼마나 반영할 것인지를 결정할 수 있다. 여기서, 는 입력 xt와 가중치 W를 곱하여 선형 변환한 결과이고, it는 기준값과 포겟 게이트 ft와의 차분값(예컨대, 1-ft)으로 유도될 수 있다. 아울러, ft는 입력 xt에 대해 피드 포워드 신경망(FFNN, Feed-Forward Neural Network)을 적용한 뒤, 시그모이드(Sigmoid) 함수를 적용하여 유도될 수 있다.The input gate i t is And performing elementwise multiplication to determine whether input information is reflected, and forget gate f t to perform elementwise multiplication with c t-1 to determine how much to reflect information of a previous internal state. here, Is a result of linear conversion by multiplying the input x t and the weight W, and i t may be derived as a difference value (eg, 1-f t ) between the reference value and the target gate f t . In addition, f t may be derived by applying a feed-forward neural network (FFNN) to the input x t and then applying a sigmoid function.
수학식 1을 참조하면, LSTM의 포겟 게이트 ft는, 이전 히든 상태 st-1를 이용하여 유도되므로, LSTM의 현재 내부 상태 ct 역시, 이전 히든 상태 st-1를 이용하여 유도된다고 볼 수 있다. 이에 따라, 현재 내부 상태 ct를 기초로 유도되는 현재 히든 상태 역시 이전 히든 상태 st-1를 이용하여 유도된다고 볼 수 있다. 수학식 2를 참조하면, GRU의 현재 내부 상태 역시 이전 히든 상태 st-1를 이용하여 유도되는 것을 확인할 수 있다. 이에 따라, 현재 내부 상태 ht를 기초로 유도되는 현재 히든 상태 역시 이전 히든 상태 st-1를 이용하여 유도된다고 볼 수 있다.Referring to
반면, SRU는 이전 히든 상태를 이용하지 않고 포겟 게이트 ft를 계산하는 바, 이전 히든 상태를 이용하지 않고 현재 내부 상태가 결정된다고 볼 수 있다. 이에 따라, SRU에서는 이전 히든 상태 st-1를 이용하지 않고도 현재 히든 상태 st를 유도할 수 있다. 즉, SRU는 이전 히든 상태를 이용하는 대신 FFNN을 적용하여 계산량을 줄임과 동시에, 레이어간 병렬 계산이 가능하도록 하는 것에 특징이 있다.On the other hand, since the SRU calculates the forward gate f t without using the previous hidden state, it can be seen that the current internal state is determined without using the previous hidden state. Accordingly, the SRU can derive the current hidden state s t without using the previous hidden state s t-1 . That is, the SRU is characterized by reducing the amount of calculation by applying FFNN instead of using the previous hidden state, and enabling parallel calculation between layers.
후술되는 기계 독해 딥 러닝 모델은, LSTM, GRU 또는 SRU 중 적어도 하나를 이용한 RNN을 포함할 수 있다. 바람직하게는, SRU을 기초로 RNN을 구성함으로써, LSTM 또는 GRU를 이용한 것 대비 복잡도 및 연산량을 줄일 수 있다.The machine-reading deep learning model described below may include an RNN using at least one of LSTM, GRU, or SRU. Preferably, by configuring the RNN based on the SRU, it is possible to reduce complexity and computational complexity compared to using an LSTM or GRU.
도 2는 본 발명에 따른, 딥 러닝 모델을 계층적으로 나타낸 도면이다.2 is a diagram hierarchically illustrating a deep learning model according to the present invention.
기계 독해를 수행하기 위해, 딥 러닝 모델은, 질문(Q) 및 문단(P) 데이터 셋을 이용하여 학습을 진행할 수 있다. 도 2에 도시된 예에서는, m개의 단어로 구성된 질문 데이터 셋 {q1, q2, … qm} 및 n개의 단어로 구성된 문단 데이터 셋 {p1, p2, … pn}을 이용하여 학습이 수행하는 것으로 도시되었다. In order to perform machine reading, the deep learning model can perform learning using the question (Q) and paragraph (P) data sets. In the example shown in FIG. 2, a question data set consisting of m words {q 1 , q 2 ,… q m } and n words Paragraph data set {p 1 , p 2 ,… It is shown that learning is performed using p n }.
학습하고자 하는 언어에 따라, 형태소, 토큰(token), 띄어쓰기 또는 특수 문자 중 적어도 하나를 기초로 문단과 질문의 각 단어를 정의할 수 있다. 예컨대, 영어를 학습하고자 하는 경우에는, 토큰, 띄어쓰기 및 특수 문자를 기초로 학습 단위가 결정되는 반면, 한글을 학습하고자 하는 경우에는, 형태소 단위로 학습 단위가 결정될 수 있다. 아울러, 소정 단어와 단어의 품사를 나타내는 품사 태그를 한 쌍으로하여 문단과 질문의 단어를 정의할 수도 있다. Depending on the language you want to learn, you can define each word in the paragraph and question based on at least one of morphemes, tokens, spaces, or special characters. For example, when learning English, the learning unit is determined based on tokens, spaces, and special characters, whereas when learning Korean, the learning unit may be determined in units of morphemes. In addition, it is also possible to define a word of a paragraph and a question by pairing a part-of-speech tag indicating a predetermined word and part-of-speech.
일 예로, 문단 또는 질문을 형태소 단위로 분류한 뒤, 각 형태소에 알맞은 품사를 태깅하여 단어를 정의할 수 있다. 도 2에 도시된 예에서, nng는 일반 명사, ec는 연결 어미, sn은 숫자, nnb는 의존 명사, sf는 마침표, 물음표 또는 느낌표를 나타내는 문장 부호를 나타내는 품사 태그일 수 있다.For example, after classifying paragraphs or questions into units of morphemes, words may be defined by tagging parts of speech suitable for each morpheme. In the example shown in FIG. 2, nng may be a generic noun, ec is a connecting ending, sn is a number, nnb is a dependent noun, and sf is a part-of-speech tag indicating a punctuation mark indicating a period, question mark, or exclamation point.
도 2를 참조하면, 본 발명에 따른 딥 러닝 모델은, 자질 레이어(210), 히든 레이어(220), 셀프 매칭 레이어(230), 모델링 레이어(240) 및 출력 레이어(250)를 포함할 수 있다.Referring to FIG. 2, the deep learning model according to the present invention may include a
자질 레이어(Feature Layer, 210)에서는, 문단 및 질문에 대한 자질 임베딩(feature Embedding)이 수행된다. 구체적으로, 적어도 하나의 자질을 기초로 입력된 문단에 포함된 단어 및/또는 입력된 질문에 포함된 단어에 대한 임베딩을 수행할 수 있다. 임베딩 수행 결과, 문단에 대한 자질 벡터 및/또는 질문에 대한 자질 벡터가 생성될 수 있다.In the
히든 레이어(Hidden Layer, 220)에서는, 자질 레이어(210)에서 생성된 자질 벡터에 기초하여, 문단 및/또는 질문에 대한 히든 상태가 인코딩(Encoding)될 수 있다. 먼저, 질문에 관한 히든 상태는, 각 질문 단어들에 대한 히든 상태를 문장 단위로 결합한 뒤, 질문 문장에 대한 히든 상태를 하나의 벡터로 인코딩하여 생성될 수 있다. 즉, 질문에 대한 히든 상태는 문장 단위로 인코딩될 수 있다. 질문 문장의 히든 상태가 인코딩되면, 질문 문장의 히든 상태를 정규화하여 얼라인먼트 벡터를 생성하고, 인코딩된 히든 상태 벡터와 얼라인먼트 벡터를 이용하여 질문 벡터가 생성될 수 있다.In the
문단에 포함된 각 단어들의 히든 상태는, 양방향 RNN에 기초하여 인코딩될 수 있다. 이때, 상기 양방향 RNN은, LSTM, GRU 또는 SRU 중 적어도 하나의 메모리 블록을 포함하여 구성될 수 있다. 바람직하게는, 양방향 SRU를 이용하여 RNN을 구성할 수 있다. The hidden state of each word included in the paragraph can be encoded based on the bidirectional RNN. At this time, the bidirectional RNN may include a memory block of at least one of LSTM, GRU, or SRU. Preferably, an RNN can be configured using a bidirectional SRU.
셀프 매칭 레이어(Self Matching Layer, 230)에서는, 문단의 과거 상태 단어가 현재 상태 단어에 미치는 영향력이 감소하는 것을 보완할 수 있다. 구체적으로, 자기 자신의 히든 상태 시퀀스(sequence)에 대한 어텐션 가중치(attention weight)를 계산하여, 비슷한 의미의 문맥 정보를 생성할 수 있다. 이를 위해, 문단의 인코딩된 히든 상태 시퀀스(sequence)를 대상으로 얼라인먼트 스코어를 계산하고, 계산된 얼라인먼트 스코어를 히든 상태 벡터와 곱하여 문맥 벡터를 생성할 수 있다. In the self-matching
모델링 레이어(Modeling Layer, 240)에서는, 문단에 관한 각 단어들의 인코딩된 히든 상태 벡터와 문멕 벡터를 연결하여 인코딩이 수행될 수 있다. 구체적으로, 게이티드 어텐션에 기초한 순환 네트워크(Gated attention-based recurrent network)를 이용하여 인코딩을 수행하고 그 결과로 모델링 벡터를 출력할 수 있다.In the
출력 레이어(Output Layer, 250)는 모델링 벡터와 질문 벡터를 기초로, 질문에 적합한 정답의 위치를 문단에서 찾아 출력할 수 있다. 구체적으로, 포인터 네트워크의 포인팅 방법을 기반으로, 모델링 벡터와 질문 벡터를 양선형 시퀀스 어텐션(Bi-linear sequence attention)으로 계산하여, 정답의 위치를 문단에서 찾아 출력할 수 있다. 이때, 정답의 위치는 문맥 내 정답의 시작 위치 및 종료 위치를 포함할 수 있다.The
도 3은 도 2에 도시된 딥 러닝 모델을 이용한 MRC 기반의 질의 응답 장치의 블록도이다.FIG. 3 is a block diagram of an MRC-based query response device using the deep learning model shown in FIG. 2.
도 3을 참조하면, MRC 기반의 질의 응답 장치는, 자질 벡터 생성부(310), 히든 상태 인코딩부(320), 질문 벡터 생성부(330), 셀프 매칭 어텐션부(340), 모델링 벡터 생성부(350) 및 정답 위치 출력부(360)를 포함할 수 있다. Referring to FIG. 3, the MRC-based query response device includes a
먼저, 자질 벡터 생성부(310)는, 학습 단위를 수치적으로 변환하기 위해, 적어도 하나의 자질에 기초하여 질문 및/또는 문단에 대한 자질 벡터를 생성할 수 있다. 자질 벡터를 생성하는데 이용되는 자질은, 단어 표현(word embedding), 음절(또는 문자) 표현(character embedding), 정확한 매치(exact match), 토큰 자질(token feature) 또는 정렬된 질문 표현(aligned questionembedding) 중 적어도 하나를 포함할 수 있다.First, the
자질 벡터 생성부(310)는 질문에 대한 자질 벡터를 생성하는 질문 자질 벡터 생성부(312) 및 문단에 대한 자질 벡터를 생성하는 문단 자질 벡터 생성부(315)를 포함할 수 있다. 자질 벡터 생성부(310)는 적어도 하나의 자질에 의해 생성된 값을 연결(concatenation)하여 자질 벡터를 생성할 수 있다.The
하기 수학식 4는 시점 t에 입력되는 단어의 자질 벡터를 수식으로 나타낸 것이고, 수학식 5는 문단에 대한 각 자질별 출력값을 수식으로 나타낸 것이다. 질문에 대한 각 자질별 출력값은, 수학식 5의 변수 p 및 q를 각각 q 및 p로 치환함으로써 획득할 수 있다.Equation 4 below represents the feature vector of the word input at the time point t as an expression, and Equation 5 represents the output value of each feature for the paragraph as an expression. The output value of each feature for the question can be obtained by substituting the variables p and q in Equation 5 with q and p, respectively.
상기 수학식 4에서, 는 문단의 자질 벡터를 나타내고, 는 질문의 자질 벡터를 나타낸다. femb는 단어 표현 자질에 기초한 출력값, fc_emb는 음절 표현(또는 문자 표현) 자질에 기초한 출력값, fexact_match는 정확한 매치 자질에 기초한 출력값, ftf는 토큰 자질에 기초한 출력값, falign은 정렬된 질문 표현 자질에 기초한 출력값을 나타낸다.In Equation 4, Denotes the feature vector of the paragraph, Denotes the feature vector of the question. f emb is the output value based on word expression qualities, f c_emb is the output value based on syllable expression (or character expression) qualities, f exact_match is output based on exact match qualities, f tf is output based on token qualities, and f align is sorted questions Represents an output value based on expression qualities.
단어 표현 자질을 이용하여, 해당 단어에 대한 임베딩값을 출력할 수 있다. 임베딩값은, 기 훈련된 워드 임베딩 데이터 베이스를 이용하여 산정될 수 있다. 예컨대, Neural Network Language Model (NNLM)을 이용하여 학습된 임베딩 데이터 베이스를 이용하여 단어 표현 자질 값을 획득할 수 있다.Using the word expression qualities, the embedding value for the word can be output. The embedding value may be calculated using a pre-trained word embedding database. For example, a word expression quality value may be obtained using an embedding database learned using a Neural Network Language Model (NNLM).
음절 표현 자질을 이용하여, 해당 단어에 대한 임베딩값을 출력할 수 있다. 구체적으로, 음절 표현 자질 값을 임의의 초기 값으로 설정한 뒤, 컨볼루션 신경망(CNN, Convolution Neural Network)을 이용하여, 단어의 임베딩값을 출력할 수 있다.Using the syllable expression quality, the embedding value for the word can be output. Specifically, after setting the syllable expression quality value to an arbitrary initial value, an embedding value of a word may be output using a convolutional neural network (CNN).
정확한 매치 자질에 기초한 출력값은, 문단 단어 pt가 질문에 포함되는지 여부 또는 질문 단어 qt가 문단에 포함되는지 여부에 기초하여, 결정될 수 있다. 구체적으로, 문단 단어 pt가 질문에 포함되어 있는지 여부 또는 질문 단어 qt가 문단에 포함되어 있는지 여부에 따라, 0 또는 1이 출력될 수 있다.The output value based on the exact match quality may be determined based on whether the paragraph word p t is included in the question or whether the question word q t is included in the paragraph. Specifically, 0 or 1 may be output depending on whether the paragraph word p t is included in the question or whether the question word q t is included in the paragraph.
토큰 자질의 출력값은, 각 단어의 빈도를 정규화하여 결정된다. 일 예로, 토큰 자질에 기초한 출력값은, 입력된 단어가 문맥 또는 질문에서 출현하는 횟수나 상기 횟수에 대응하는 값으로 결정될 수 있다.The output value of the token quality is determined by normalizing the frequency of each word. For example, the output value based on the token quality may be determined as the number of times the input word appears in the context or the question or a value corresponding to the number of times.
정렬된 질문 표현 자질의 출력값은, 문단 표현 및 질문 표현에 대한 얼라인먼트 스코어(Alignment Score) 및 문맥 인코더 벡터에 기초하여 계산될 수 있다. 구체적으로, 질문에 포함된 단어들의 시퀀스(즉, 질문 시퀀스)와 문단에 포함된 단어들의 시퀀스(즉, 문단 시퀀스) 사이의 얼라인먼트 스코어를 계산한 뒤, 계산된 결과를 문맥 인코더 벡터와 곱하여 매칭 문맥 벡터(matching context vector)를 출력할 수 있다.The output value of the aligned question expression feature may be calculated based on an alignment score for a paragraph expression and a question expression and a context encoder vector. Specifically, after calculating an alignment score between a sequence of words included in a question (ie, a question sequence) and a sequence of words included in a paragraph (ie, a paragraph sequence), the calculated result is multiplied by a context encoder vector to match the context You can output a vector (matching context vector).
질문 및 문단에는 동일한 개수 및 종류의 자질이 적용될 수 있다. 예컨대, 수학식 4에 나타난 것과 같이, 단어 표현, 음절(또는 문자) 표현, 정확한 매치, 토큰 자질 및 정렬된 질문 표현을 질문 및 문단에 공통적으로 적용할 수 있다. The same number and type of qualities can be applied to questions and paragraphs. For example, as shown in Equation 4, word expressions, syllable (or letter) expressions, exact matches, token qualities, and aligned question expressions can be commonly applied to questions and paragraphs.
다른 예로, 질문 및 문단에 적용되는 자질의 개수 또는 종류 중 적어도 하나를 상이하게 설정할 수도 있다. 예컨대, 질문의 자질 벡터는 열거된 자질 중 n개를 이용하여 획득되는 한편, 문단의 자질 벡터는 열거된 자질 중 m (n과 상이)개를 이용하여 획득될 수 있다.As another example, at least one of the number or type of qualities applied to the question and the paragraph may be set differently. For example, the feature vector of the question may be obtained using n of the listed features, while the feature vector of the paragraph may be obtained using m (different from n) of the listed features.
또는, 학습 언어에 따라, 자질의 개수 또는 종류 중 적어도 하나를 상이하게 설정할 수도 있다. 예컨대, 한국어에 기초한 질의 응답 장치에서는 n 개의 자질을 이용하도록 설정되고, 영어에 기초한 질의 응답 장치에서는 m개의 자질을 이용하도록 설정될 수 있다.Alternatively, at least one of the number or types of qualities may be set differently according to the learning language. For example, in a question answering device based on Korean language, n qualities may be set, and in a question answering device based on English, m qualities may be set.
히든 상태 인코딩부(320)는, 자질 벡터 생성부(310)에서 생성된 자질 벡터에 기초하여 문단 및/또는 질문에 대한 히든 상태를 인코딩하여 출력할 수 있다. 히든 상태 인코딩부(320)는, 질문에 관한 히든 상태를 인코딩하기 위한 질문 히든 상태 인코딩부(322) 및 문단에 관한 히든 상태를 인코딩하기 위한 문단 히든 상태 인코딩부(325)를 포함할 수 있다.The hidden
질문 히든 상태 인코딩부(322)는, 각 질문 단어들에 대한 히든 상태를 문장 단위로 결합함으로써, 질문 문장에 대한 인코딩된 히든 상태를 출력할 수 있다. 구체적으로, 각 단어의 자질 벡터를 양방향 RNN에 입력하여 히든 상태가 출력되면, 출력된 히든 상태를 하나로 결합하여, 질문 문장에 대한 히든 상태를 획득할 수 있다. 양방향 RNN은 LSTM, GRU 또는 SRU 중 적어도 하나의 메모리 블록을 포함하여 구성될 수 있고, 바람직하게는, SRU를 포함하여 구성될 수 있다.The question hidden
문단 히든 상태 인코딩부(325)는, 문단에 포함된 각 단어들의 자질 벡터를 양방향 RNN에 입력함으로써, 단어별 히든 상태를 인코딩할 수 있다. 양방향 RNN은 LSTM, GRU 또는 SRU 중 적어도 하나의 메모리 블록을 포함하여 구성될 수 있고, 바람직하게는, SRU를 포함하여 구성될 수 있다. 하기 수학식 6은 문단에 대한 히든 상태를 인코딩하는 예를 나타낸 것이다.The paragraph hidden
상기 수학식 6에서, uP t는 인코딩된 히든 상태를 나타낸다. 상기 수학식 6에 나타난 바와 같이, 이전 인코딩된 히든 상태 uP t-1 및 자질 벡터를 양방향 SRU (BiSRU, Bidirectional SRU)에 입력함으로써, 인코딩된 히든 상태 uP t를 생성할 수 있다.In Equation 6, u P t represents an encoded hidden state. As shown in Equation (6), an encoded hidden state u P t may be generated by inputting a previously encoded hidden state u P t-1 and a feature vector into a bidirectional SRU (BiSRU).
질문 벡터 생성부(330)는, 질문 문장의 히든 상태를 정규화하여 얼라인먼트 벡터를 생성하고, 질문 문장의 인코딩된 히든 상태와 얼라인먼트 벡터를 곱하여 질문 벡터를 생성할 수 있다. 하기 수학식 7은 질문 벡터가 생성되는 예를 나타낸 것이다.The
상기 수학식 7에서, q는 질문 벡터, bj는 얼라인먼트 벡터를 나타낸다. 상기 수학식 7에 도시된 예에서와 같이, 질문 문장의 히든 상태 qj를 정규화하여 얼라인먼트 벡터 bj를 구하고, 질문 문장의 히든 상태 qj와 얼라인먼트 벡터 bj를 곱하여 질문 벡터 q를 생성할 수 있다.In Equation 7, q represents a question vector and b j represents an alignment vector. As in the example shown in Equation 7 above, the alignment vector b j is obtained by normalizing the hidden state q j of the question sentence, and the hidden state q j of the question sentence is multiplied by the alignment vector b j to generate a question vector q. have.
셀프 매칭 어텐션부(340)는, 문단의 인코딩된 히든 상태들의 시퀀스를 대상으로 얼라인먼트 스코어를 구할 수 있다. 그리고, 인코딩된 히든 상태 벡터와 얼라인먼트 스코어를 곱하여 문맥 벡터를 생성할 수 있다. 하기 수학식 8은 문맥 벡터가 생성되는 예를 나타낸 것이다.The self-matching
수학식 8에서, ct는 문맥 벡터를 나타내고, ai t는 얼라인먼트 스코어를 나타낸다. 수학식 8에 나타난 바와 같이, 문단의 인코딩된 히든 상태 시퀀스가 입력되면, 시퀀스 내 단어들의 인코딩된 히든 상태 uj P 및 ut P 를 이용하여 얼라인먼트 스코어를 구할 수 있다. 여기서, 시퀀스는 문장 단위 또는 소정 개수 단위의 데이터로 구분될 수 있다. 그리고, 입력된 히든 상태 시퀀스와 얼라인먼트 스코어를 곱하여, 문맥 벡터 ct를 산출할 수 있다.In Equation 8, c t represents a context vector, and a i t represents an alignment score. As shown in Equation 8, when an encoded hidden state sequence of a paragraph is input, an alignment score may be obtained using the encoded hidden state u j P and u t P of words in the sequence. Here, the sequence may be divided into sentence units or a predetermined number of units of data. Then, the context vector c t may be calculated by multiplying the input hidden state sequence and the alignment score.
모델링 벡터 생성부(350)는, 문단의 인코딩된 히든 상태와 문멕 벡터를 연결하고, 이를 기초로 모델링 벡터를 생성할 수 있다. 일 예로, 수학식 9는 모델링 벡터를 산출하기 위한 수식을 나타낸 것이다.The modeling
수학식 9에서, [ut P; ct]는 히든 상태와 문맥 벡터를 연결한 것을 나타내고, [ut P; ct]* 은 게이티드 어텐션에 기초한 순환 네트워크(gated attention-based recurrent network)에 [ut P; ct]를 입력하였을 경우의 출력을 나타낸다. 구체적으로, 게이티드 어텐션에 기초한 순환 네트워크에 [ut P; ct]를 입력으로 입력할 경우, [ut P; ct]에 시그모이드(Sigmoid)를 적용하여 생성되는 비선형 게이트 레이어 gt와 [ut P; ct] 사이의 elementwise 합이 출력값으로 출력될 수 있다. 상기 수학식 9에 나타난 바와 같이, 모델링 벡터 ht P는 이전 상태의 모델링 벡터 ht-1 P와 [ut P; ct]*을 양방향 SRU에 입력함으로써 생성될 수 있다. 상기 수학식 9에서는, 양방향 SRU를 이용하여 모델링 벡터를 생성하는 것으로 나타나 있으나, 양방향 LSTM 또는 양방향 GRU를 이용하여 모델링 벡터를 생성하는 것도 가능하다.In Equation 9, [u t P ; c t ] indicates that the hidden state is connected to the context vector, and [u t P ; c t ] * is the gated attention-based recurrent network (gated attention-based recurrent network) [u t P ; c Displays output when t ] is input. Specifically, in the circulating network based on the gated attention [u t P ; When c t ] is input, [u t P ; c t ] is a nonlinear gate layer produced by applying sigmoid (Sigmoid) g t and [u t P ; The elementwise sum between c t ] may be output as an output value. As shown in Equation 9, the modeling vector h t P is the modeling vector h t-1 P and [u t P ; c t ] * to the bidirectional SRU. In Equation 9, it is shown that a modeling vector is generated using a bidirectional SRU, but it is also possible to generate a modeling vector using a bidirectional LSTM or bidirectional GRU.
정답 위치 예측부(360)는, 질문 벡터 및 모델링 벡터를 이용하여 문단내 입력된 질문에 대한 정답의 위치를 예측할 수 있다. 이때, 정답 위치 예측부(360)의 출력 결과는 정답의 시작 위치 및 종료 위치를 포함할 수 있다. 하기 수학식 10은 정답 위치를 산출하는 예를 수식으로 나타낸 것이다.The correct answer position prediction unit 360 may predict the position of the correct answer to the question entered in the paragraph using the question vector and the modeling vector. In this case, the output result of the correct answer position prediction unit 360 may include a start position and an end position of the correct answer. Equation 10 below shows an example of calculating the correct answer position.
상기 수학식 10에서, Pstart(t)는 정답의 시작 위치를 나타내고, Pend(t)는 정답의 종료 위치를 나타낸다.In Equation 10 above, P start (t) represents the start position of the correct answer, and P end (t) represents the end position of the correct answer.
정답의 시작 위치 및 종료 위치 사이의 길이는 기 정의된 최대 길이 이하로 제한될 수 있다. 여기서, 최대 길이는, 문자 또는 단어의 개수를 나타낼 수 있다. 예컨대, 최대 길이가 50개의 단어를 나타내는 경우, 정답의 시작 위치 및 종료 위치 사이의 길이는 50 형태소로 제한될 수 있다.The length between the start position and the end position of the correct answer may be limited to a predefined maximum length or less. Here, the maximum length may indicate the number of letters or words. For example, when the maximum length represents 50 words, the length between the start position and the end position of the correct answer may be limited to 50 morphemes.
또한, 정답의 시작 위치 및 종료 위치 사이의 최소 길이가 정의될 수도 있다. 예컨대, 정답의 시작 위치 및 종료 위치 사이의 거리가 정답의 최소 길이보다 짧은 경우, 정답의 시작 위치 또는 정답의 종료 위치 중 적어도 하나가 인접 단어까지 확장되도록 보정할 수 있다.Also, a minimum length between the start position and end position of the correct answer may be defined. For example, when the distance between the start position and the end position of the correct answer is shorter than the minimum length of the correct answer, it may be corrected such that at least one of the starting position of the correct answer or the ending position of the correct answer is extended to adjacent words.
정답 예측이 단어 단위로 수행되고, 단어가 형태소 단위로 정의되는 경우, 정답이 완결형으로 종결되지 않는 문제점이 발생할 수 있다. 예컨대, 탐색된 시작 위치 및 종료 위치에 걸친 단어가 자립 형태소로 종결되지 않는 경우, 정답이 완결형으로 종결되지 않는 것으로 판단될 수 있다. 상기와 같은 문제를 해결하기 위해, 정답 예측을 수행한 이후, 최종 정답을 출력할 때에는, 정답의 종결어미에 자립 형태소가 위치하도록 정답의 위치를 보정하거나, 형태소와 다른 단위(예컨대, 공백, 특수 문자 또는 문장)로 정답의 위치를 보정할 수 있다. 또는, 예측된 결과를 이용하여 원본 문단에서 정답을 찾아 출력하되, 출력되는 정답은, 형태소 단위에 국한되지 않도록 설정할 수도 있다.If the correct answer prediction is performed in units of words and the words are defined in morphological units, a problem may arise in which the correct answer is not terminated in a complete form. For example, if the words across the searched start position and end position are not terminated in a self-contained morpheme, it may be determined that the correct answer is not terminated in a complete form. In order to solve the above problems, after performing the correct answer prediction, when outputting the final correct answer, correct the position of the correct answer so that the independent morpheme is located at the ending of the correct answer, or a unit different from the morpheme (for example, blank, special Character or sentence) to correct the position of the correct answer. Alternatively, the correct answer may be found and output from the original paragraph using the predicted result, but the output correct answer may be set not to be limited to a morpheme unit.
또는, 기 정의된 종결 어미를 추가하여 정답을 출력할 수도 있다.Alternatively, a correct answer may be output by adding a predefined ending ending.
도 4는 본 발명에 따른 MRC 기반의 질의 응답 방법을 나타낸 흐름도이다.4 is a flow chart showing an MRC-based query response method according to the present invention.
도 4를 참조하면, 먼저, 자질 벡터 생성부(310)를 통해, 질문 및 문단에 대한 자질 벡터가 생성될 수 있다(S410). 이때, 질문 및 문단의 학습 단위는 단어 단위일 수 있고, 이에 따라, 각 단어별 자질 벡터가 생성될 수 있다. 각 단어에 대한 자질 벡터는 적어도 하나의 자질에 의해 산출된 값을 연결함으로써 생성될 수 있다.Referring to FIG. 4, first, through the
질문 및 문단에 대한 자질 벡터가 생성되면, 생성된 자질 벡터를 이용하여, 질문 및 문단의 히든 상태를 인코딩할 수 있다(S420). 질문의 히든 상태는 문장 단위로 인코딩될 수 있다. 구체적으로, 질문에 포함된 단어들의 히든 상태를 문장 단위로 결합함으로써, 질문 문장에 대한 히든 상태를 생성할 수 있다. When a feature vector for a question and a paragraph is generated, a hidden state of the question and the paragraph may be encoded using the generated feature vector (S420). The hidden state of the question can be encoded in units of sentences. Specifically, the hidden state of the question sentence can be generated by combining the hidden state of the words included in the question in units of sentences.
문단의 히든 상태는 단어 단위로 인코딩될 수 있다. 구체적으로, 각 단어의 자질 벡터를 양방향 RNN에 입력함으로써, 각 단어의 히든 상태를 획득할 수 있다. 이때, 양방향 RNN은 LSTM GRU 또는 SRU 중 적어도 하나의 메모리 블록을 포함하여 구성될 수 있다.The paragraph's hidden state can be encoded word by word. Specifically, the hidden state of each word can be obtained by inputting the feature vector of each word into the bidirectional RNN. In this case, the bidirectional RNN may include at least one memory block of LSTM GRU or SRU.
질문 문장에 대한 히든 상태가 인코딩되면, 질문 문장의 히든 상태를 기초로 질문 벡터를 생성할 수 있다(S430). 구체적으로, 질문 문장에 관한 얼라인먼트 벡터와 질문 문장의 히든 상태를 곱함으로써 질문 벡터를 생성할 수 있다.When the hidden state of the question sentence is encoded, a question vector may be generated based on the hidden state of the question sentence (S430). Specifically, the question vector can be generated by multiplying the alignment vector of the question sentence and the hidden state of the question sentence.
문단 단어에 대한 히든 상태가 인코딩되면, 각 단어들의 히든 상태를 기초로 문맥 벡터를 생성할 수 있다(S440). 문맥 벡터는 문단에 포함된 단어들 사이의 유사성을 기초로 어텐션 가중치를 조절하는 셀프 매칭 어텐션 과정을 통해 생성될 수 있다.When the hidden state for the paragraph word is encoded, a context vector may be generated based on the hidden state of each word (S440). The context vector may be generated through a self-matching attention process that adjusts the attention weight based on the similarity between words included in the paragraph.
이후, 각 단어들의 히든 상태와 문맥 벡터를 기초로 각 단어별 모델링 벡터를 생성하고(S450), 질문 벡터 및 모델링 벡터를 기초로 정답 위치를 예측할 수 있다(S460). 예측된 정답 위치는 최소 길이 또는 최대 길이에 따라, 수정될 수 있다. 또한, 학습 단위와 동일한 단위로 정답 위치를 예측하되, 출력되는 정답은 원본 문서에서 Thereafter, a modeling vector for each word may be generated based on the hidden state and context vector of each word (S450), and a correct answer position may be predicted based on the question vector and the modeling vector (S460). The predicted correct answer position may be corrected according to the minimum length or the maximum length. In addition, the correct answer position is predicted in the same unit as the learning unit.
이상 설명한 바와 같이, 본 발명에 따른 기계 독해에 기초한 질의 응답 장치는 RNN 및 셀프 매칭 네트워크에 기초하여 문단 및 질문을 학습하게 된다. 이때, SRU로 구성된 RNN 및 셀프 매칭 네트워크(Self-Matching Network)가 적용된 딥 러닝 모델을, S2-Net 라 호칭할 수도 있다.As described above, the query response device based on the machine reading according to the present invention learns paragraphs and questions based on the RNN and the self-matching network. In this case, a deep learning model to which an RNN composed of SRUs and a self-matching network is applied may be referred to as S 2 -Net.
MRC에 기반한 딥 러닝 모델은 질문 및 정답 데이터 셋을 포함할 수 있다. 일 예로, 도 5는 딥 러닝 모델에 적용되는 한국어 기계 독해 데이터 셋을 예시한 도면이다.The deep learning model based on MRC may include a question and answer data set. As an example, FIG. 5 is a diagram illustrating a Korean machine reading data set applied to a deep learning model.
기계 독해를 위한 데이터 셋은 JSON (JavaScript Object Notation) 포맷을 따를 수 있다. 도 5에서, set은 데이터 셋 전체를 포함하는 키를 나타내고, Version은 데이터 셋의 현재 버전을 나타낸다. Version은 문자(string)로 표시될 수 있다. The data set for machine reading can follow the JavaScript Object Notation (JSON) format. In FIG. 5, set represents a key including the entire data set, and Version represents a current version of the data set. Version can be displayed as a string.
Data는 현재 데이터 셋에 포함된 모든 데이터들을 포함하는 리스트를 나타낸다. 일 예로, title은 문서의 제목을, paragraphs는 문서 제목에 대항하는 문단, 질문 및 정답 정보를 포함하는 리스트를 나타낸다. Data represents a list including all data included in the current data set. In one example, title refers to the title of the document, and paragraphs refers to a list containing paragraph, question, and answer information against the document title.
context_original은, 실제 텍스트를 나타낸다. dp는 context_original에 해당하는 텍스트의 의존 구문 분석 결과를 포함하는 리스트를 나타내고, qas는 해당 문서에 관한 질문과 정답 정보를 포함하는 리스트를 나타낸다. 일 예로, dp는 의존관계를 나타내는 head(중심어)와 mods(수식어), 해당 관계의 레이블 정보를 나타내는 label, 각 어절의 id, text 및 weight를 포함할 수 있다. 이때, weight는 의존 관계에 대한 가중치 결과를 나타낸다. qas는 질문의 실제 문자열인 question_original,질문의 id, 질문의 의존 구문 분석 결과인 question_에 리스트, 실제 질문에 대한 형태소 결과를 포함하는 question,그에 따른 정답 정보를 포함하는 answer key를 포함할 수 있다.context_original represents actual text. dp denotes a list containing the result of the dependent parsing of the text corresponding to context_original, and qas denotes a list containing question and answer information about the document. For example, dp may include a head (center word) and mods (modifiers) indicating a dependency relationship, a label indicating label information of a corresponding relationship, and id, text, and weight of each word. At this time, weight represents a weight result for a dependency relationship. qas may include a question_original which is the actual string of the question, the id of the question, a list in the question_ which is the result of parsing the dependency of the question, a question that includes the morpheme result of the actual question, and an answer key that includes the correct answer information accordingly. .
질문에 대응하는 정답 answer와 관련하여, 정답의 실제 문자열인 text_original, 정답의 형태소 정보인 text 리스트, 정답이 문서 내 등장하는 시작과 끝의 인덱스 정보를 나타내는 answer_start 및 answer_end를 포함할 수 있다.In relation to the correct answer corresponding to the question, it may include answer_start and answer_end indicating text_original that is the actual string of the correct answer, text list that is the morpheme information of the correct answer, and index information of the start and end in which the correct answer appears in the document.
이상, 도 1 내지 도 5를 통해 설명한 설명한 기계 독해에 기반한 질의 응답 장치의 구성 및 이들의 동작 순서는 도시된 예에 한정되지 않는다. 일 예로, 도시된 시스템 또는 단계 중 일부가 생략된 채 본 발명이 수행되거나, 도시되지 않은 구성요소를 추가하여 본 발명이 수행될 수도 있다. In the above, the configuration of the query response device based on the machine reading described with reference to FIGS. 1 to 5 and the operation sequence thereof are not limited to the illustrated example. For example, the present invention may be performed while some of the illustrated systems or steps are omitted, or the present invention may be performed by adding components not shown.
또한, 본 발명에 따른 학습 시스템 및 질의 응답 시스템은, 서두에 언급한 바와 같이, 하드웨어, 소프트웨어 또는 이들의 조합에 의해 구현될 수 있다. 예컨대, 상기 시스템들은, 디지털 연산이 가능한 컴퓨팅 디바이스들(예컨대, PC, 스마트폰, PDA, 태블릿 PC, 서버, 클라우드 컴퓨터 등)에 의해 구현될 수 있다. 아울러, 이들 컴퓨팅 디바이스들을 구성하는 소프트웨어 또는 하드웨어 중 적어도 하나를 기초로, 상기 시스템을 구현할 수 있다. Further, the learning system and the question and answer system according to the present invention may be implemented by hardware, software, or a combination thereof, as mentioned at the outset. For example, the systems may be implemented by computing devices capable of digital computing (eg, PC, smart phone, PDA, tablet PC, server, cloud computer, etc.). In addition, the system may be implemented based on at least one of software or hardware constituting these computing devices.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.In the above, the present invention has been described by specific matters such as specific components, etc. and limited embodiments and drawings, which are provided to help the overall understanding of the present invention, but the present invention is not limited to the above embodiments , Those skilled in the art to which the present invention pertains can make various modifications and variations from these descriptions.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention is not limited to the above-described embodiment, and should not be determined, and all claims that are equally or equivalently modified with the claims as described below belong to the scope of the spirit of the present invention. Would say
310 : 자질 벡터 생성부
320 : 히든 상태 인코딩부
330 : 질문 벡터 생성부
340 : 셀프 매칭 어텐션부
350 : 모델링 벡터 생성부
360 : 정답 위치 출력부 310: feature vector generator
320: hidden state encoding unit
330: question vector generator
340: self-matching attention section
350: modeling vector generator
360: correct answer position output
Claims (20)
질문 및 문단에 관한 자질 벡터를 생성하는 단계;
상기 질문의 자질 벡터를 기초로, 질문의 히든 상태를 인코딩하는 단계;
상기 질문의 히든 상태를 기초로, 질문 벡터를 생성하는 단계;
상기 문단의 자질 벡터를 기초로 문단의 히든 상태를 인코딩하는 단계;
상기 문단의 히든 상태를 기초로, 모델링 벡터를 생성하는 단계; 및
상기 질문 벡터 및 상기 모델링 벡터를 기초로, 상기 문단 내에서 정답 위치를 예측하는 단계를 포함하고,
상기 예측하는 단계는
상기 정답 위치에 대응하는 정답이 완결형으로 종결되는지 여부에 따라 상기 정답 위치를 보정하는, 기계 독해에 기초한 질의 응답 방법.In the query response method performed by the query response device,
Generating feature vectors for questions and paragraphs;
Encoding a hidden state of the question based on the feature vector of the question;
Generating a question vector based on the hidden state of the question;
Encoding a hidden state of the paragraph based on the feature vector of the paragraph;
Generating a modeling vector based on the hidden state of the paragraph; And
And predicting a correct answer position in the paragraph based on the question vector and the modeling vector,
The predicting step
A method for answering a question based on machine reading, wherein the correct answer position is corrected according to whether a correct answer corresponding to the correct answer position is terminated in a finalized type.
상기 질문의 자질 벡터 및 상기 문단의 자질 벡터 각각은 단어 단위로 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.According to claim 1,
Each of the feature vector of the question and the feature vector of the paragraph is generated in units of words.
상기 질문의 히든 상태는, 문장 단위로 인코딩되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.According to claim 2,
A method for answering a question based on machine reading, characterized in that the hidden state of the question is encoded in units of sentences.
상기 문단의 히든 상태는 단어 단위로 인코딩되고, 단어의 히든 상태는 상기 단어의 자질 벡터를 양방향 RNN(Recurrent Neural Network)에 입력함에 따라 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.According to claim 2,
The hidden state of the paragraph is encoded in units of words, and the hidden state of the word is generated by inputting a feature vector of the word into a bidirectional Recurrent Neural Network (RNN), wherein the query response method is based on machine reading.
상기 양방향 RNN은 SRU (Simple Recurrent Unit)을 포함하여 구성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.According to claim 4,
The bidirectional RNN is characterized in that it comprises a Simple Recurrent Unit (SRU), a question and answer method based on machine reading.
상기 모델링 벡터는, 상기 문단의 히든 상태 시퀀스 열(sequence)에 관한 문맥 정보에 기초하여 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.According to claim 4,
The modeling vector is generated based on context information about a hidden state sequence sequence of the paragraph, wherein the query response method based on machine reading.
상기 자질 벡터는, 단어에 적어도 하나의 자질을 이용함으로써 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.According to claim 2,
The feature vector is characterized by being generated by using at least one feature in a word, a method for answering a question based on machine reading.
상기 자질은, 워드 임베딩, 음절 임베딩, 정확한 매치, 토큰 자질 및 정렬된 질문 표현 중 적어도 하나를 포함하고,
상기 질문 및 상기 문단에 적용되는 자질의 개수 및 종류는 동일한 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.The method of claim 7,
The qualities include at least one of word embeddings, syllable embeddings, exact matches, token qualities and sorted question expressions,
A question and answer method based on machine reading, characterized in that the number and type of qualities applied to the question and the paragraph are the same.
상기 정답 위치는 정답의 시작 위치 및 정답의 종료 위치를 포함하고,
상기 시작 위치 및 종료 위치 사이의 길이는 기 정의된 최대 길이 이하인 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.According to claim 1,
The correct answer position includes a start position of the correct answer and an end position of the correct answer,
The length between the start position and the end position, characterized in that less than the predefined maximum length, the machine-based query response method.
상기 정답 위치는 정답의 시작 위치 및 정답의 종료 위치를 포함하고,
상기 예측하는 단계는
상기 시작 위치 및 상기 종료 위치 중 적어도 하나에 걸친 단어가 자립 형태소로 종결되지 않는 경우,
상기 시작 위치 및 상기 종료 위치 중 적어도 하나를 보정하는, 기계 독해에 기초한 질의 응답 방법. The method of claim 1
The correct answer position includes a start position of the correct answer and an end position of the correct answer,
The predicting step
If the word spanning at least one of the start position and the end position does not end in a self-contained morpheme,
A method for answering a query based on machine reading, correcting at least one of the start position and the end position.
상기 질문의 자질 벡터를 기초로, 질문의 히든 상태를 인코딩하고, 상기 문단의 자질 벡터를 기초로 문단의 히든 상태를 인코딩하는 히든 상태 인코딩부;
상기 질문의 히든 상태를 기초로, 질문 벡터를 생성하는 질문 벡터 생성부;
상기 문단의 히든 상태를 기초로, 모델링 벡터를 생성하는 모델링 벡터 생성부; 및
상기 질문 벡터 및 상기 모델링 벡터를 기초로, 상기 문단 내에서 정답 위치를 예측하는 정답 위치 예측부를 포함하고,
상기 정답 위치 예측부는
상기 정답 위치에 대응하는 정답이 완결형으로 종결되는지 여부에 따라 상기 정답 위치를 보정하는, 기계 독해에 기초한 질의 응답 장치A feature vector generator that generates feature vectors for questions and paragraphs,
A hidden state encoding unit encoding a hidden state of the question based on the feature vector of the question, and encoding the hidden state of the paragraph based on the feature vector of the paragraph;
A question vector generator that generates a question vector based on the hidden state of the question;
A modeling vector generator that generates a modeling vector based on the hidden state of the paragraph; And
And a correct answer position predicting unit predicting a correct answer position in the paragraph based on the question vector and the modeling vector,
The correct answer position prediction unit
A machine for reading and answering based on machine reading, correcting the position of the correct answer according to whether the correct answer corresponding to the correct answer position is terminated in a finalized type
상기 질문의 자질 벡터 및 상기 문단의 자질 벡터 각각은 단어 단위로 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.The method of claim 11,
Each of the feature vector of the question and the feature vector of the paragraph is generated in units of words, and a device for querying and answering based on machine reading.
상기 히든 상태 인코딩부는, 문장 단위로 상기 질문의 히든 상태를 인코딩하는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.The method of claim 12,
And the hidden state encoding unit encodes the hidden state of the question in units of sentences.
상기 히든 상태 인코딩부는, 단어 단위로 상기 문단의 히든 상태를 인코딩하고,
단어의 히든 상태는 상기 단어의 자질 벡터를 양방향 RNN(Recurrent Neural Network)에 입력함에 따라 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.The method of claim 12,
The hidden state encoding unit encodes the hidden state of the paragraph in units of words,
The hidden state of the word is generated by inputting the feature vector of the word into a bidirectional Recurrent Neural Network (RNN), a query response device based on machine reading.
상기 양방향 RNN은 SRU (Simple Recurrent Unit)을 포함하여 구성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.The method of claim 14,
The bidirectional RNN is characterized in that it comprises a Simple Recurrent Unit (SRU), a query response device based on machine reading.
상기 모델링 벡터 생성부는, 상기 문단의 히든 상태 시퀀스 열(sequence)에 관한 문맥 정보에 기초하여 상기 모델링 벡터를 생성하는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.The method of claim 14,
The modeling vector generating unit generates a modeling vector based on context information regarding a hidden state sequence sequence of the paragraph, and a machine for reading and answering based on machine reading.
상기 자질 벡터 생성부는, 단어에 적어도 하나의 자질을 적용하여 상기 자질 벡터를 생성하는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.The method of claim 12,
The feature vector generating unit generates a feature vector by applying at least one feature to a word, and a device for querying and answering based on machine reading.
상기 자질은, 워드 임베딩, 음절 임베딩, 정확한 매치, 토큰 자질 및 정렬된 질문 표현 중 적어도 하나를 포함하고,
상기 질문 및 상기 문단에 적용되는 자질의 개수 및 종류는 동일한 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.The method of claim 17,
The qualities include at least one of word embeddings, syllable embeddings, exact matches, token qualities and sorted question expressions,
The number and types of qualities applied to the question and the paragraph are the same, characterized in that the machine, based on machine reading and answering questions.
상기 정답 위치는 정답의 시작 위치 및 정답의 종료 위치를 포함하고,
상기 시작 위치 및 종료 위치 사이의 길이는 기 정의된 최대 길이 이하인 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.The method of claim 11,
The correct answer position includes a start position of the correct answer and an end position of the correct answer,
The length between the start position and the end position, characterized in that less than a predefined maximum length, machine-based query response device.
상기 정답 위치는 정답의 시작 위치 및 정답의 종료 위치를 포함하고,
상기 정답 위치 예측부는,
상기 시작 위치 및 상기 종료 위치 중 적어도 하나에 걸친 단어가 자립 형태소로 종결되지 않는 경우, 상기 시작 위치 및 상기 종료 위치 중 적어도 하나를 보정하는, 기계 독해에 기초한 질의 응답 장치.The method of claim 19,
The correct answer position includes a start position of the correct answer and an end position of the correct answer,
The correct answer position prediction unit,
A machine based on machine reading, correcting at least one of the start position and the end position when a word spanning at least one of the start position and the end position is not terminated in a free-standing morpheme.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180021696A KR102116518B1 (en) | 2018-02-23 | 2018-02-23 | Apparatus for answering a question based on maching reading comprehension and method for answering a question using thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180021696A KR102116518B1 (en) | 2018-02-23 | 2018-02-23 | Apparatus for answering a question based on maching reading comprehension and method for answering a question using thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190101567A KR20190101567A (en) | 2019-09-02 |
KR102116518B1 true KR102116518B1 (en) | 2020-05-28 |
Family
ID=67951417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180021696A KR102116518B1 (en) | 2018-02-23 | 2018-02-23 | Apparatus for answering a question based on maching reading comprehension and method for answering a question using thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102116518B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240052511A (en) | 2022-10-14 | 2024-04-23 | 고려대학교 산학협력단 | Device and method for numerically-awaer machine reading comprehension question and answer |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102231365B1 (en) * | 2019-11-20 | 2021-03-24 | 재단법인 한국특허정보원 | Method, server, and medium for providing question answering service for patent area based on machine reading comprehension technology |
KR102569381B1 (en) | 2019-12-16 | 2023-08-23 | 부산대학교 산학협력단 | System and Method for Machine Reading Comprehension to Table-centered Web Documents |
CN111858879B (en) * | 2020-06-18 | 2024-04-05 | 达观数据有限公司 | Question and answer method and system based on machine reading understanding, storage medium and computer equipment |
KR102544700B1 (en) * | 2020-10-08 | 2023-06-20 | 주식회사 엔씨소프트 | Mehtod and apparatus for detecting object contained within paragraph |
KR102498670B1 (en) * | 2020-10-08 | 2023-02-10 | 주식회사 엔씨소프트 | Mehtod and apparatus for ranking passages |
CN112464643B (en) * | 2020-11-26 | 2022-11-15 | 广州视源电子科技股份有限公司 | Machine reading understanding method, device, equipment and storage medium |
KR102379660B1 (en) * | 2020-11-30 | 2022-03-29 | 주식회사 티맥스에이아이 | Method for utilizing deep learning based semantic role analysis |
KR102587265B1 (en) * | 2020-12-03 | 2023-10-11 | 주식회사 포티투마루 | Method and device for reinforcement of multiple choice qa model based on adversarial learning techniques |
CN112966474B (en) * | 2021-02-20 | 2024-05-24 | 中央民族大学 | Tibetan machine reading and understanding method based on multistage attention mechanism |
CN112966499A (en) * | 2021-03-17 | 2021-06-15 | 中山大学 | Question and answer matching method based on self-adaptive fusion multi-attention network |
CN113836893A (en) * | 2021-09-14 | 2021-12-24 | 北京理工大学 | Extraction type machine reading understanding method integrating information of multiple paragraphs |
CN113836283B (en) * | 2021-09-24 | 2024-04-12 | 上海金仕达软件科技股份有限公司 | Answer generation method and device, electronic equipment and storage medium |
CN114757184B (en) * | 2022-04-11 | 2023-11-10 | 中国航空综合技术研究所 | Method and system for realizing knowledge question and answer in aviation field |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017211785A (en) | 2016-05-24 | 2017-11-30 | 日本電信電話株式会社 | Question response generation device, method and program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101259558B1 (en) * | 2009-10-08 | 2013-05-07 | 한국전자통신연구원 | apparatus and method for detecting sentence boundaries |
KR101545050B1 (en) * | 2013-10-10 | 2015-08-17 | 포항공과대학교 산학협력단 | Method for automatically classifying answer type and apparatus, question-answering system for using the same |
-
2018
- 2018-02-23 KR KR1020180021696A patent/KR102116518B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017211785A (en) | 2016-05-24 | 2017-11-30 | 日本電信電話株式会社 | Question response generation device, method and program |
Non-Patent Citations (1)
Title |
---|
WenHui Wang, Nan Yang, Furu Wei, BaoBao Chang, Ming Zhou. Gated Self-Matching Networks for Reading Comprehension and Question Answering. ACL 2017, pp.189-198, 2017.07..* |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240052511A (en) | 2022-10-14 | 2024-04-23 | 고려대학교 산학협력단 | Device and method for numerically-awaer machine reading comprehension question and answer |
Also Published As
Publication number | Publication date |
---|---|
KR20190101567A (en) | 2019-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102116518B1 (en) | Apparatus for answering a question based on maching reading comprehension and method for answering a question using thereof | |
US11755885B2 (en) | Joint learning of local and global features for entity linking via neural networks | |
US11934791B2 (en) | On-device projection neural networks for natural language understanding | |
US11501182B2 (en) | Method and apparatus for generating model | |
CN112487182B (en) | Training method of text processing model, text processing method and device | |
CN111368996B (en) | Retraining projection network capable of transmitting natural language representation | |
CN106502985B (en) | neural network modeling method and device for generating titles | |
US9892113B2 (en) | Generating distributed word embeddings using structured information | |
CN109376222B (en) | Question-answer matching degree calculation method, question-answer automatic matching method and device | |
Britz et al. | Efficient attention using a fixed-size memory representation | |
CN113705313A (en) | Text recognition method, device, equipment and medium | |
US11544457B2 (en) | Machine learning based abbreviation expansion | |
CN111767694B (en) | Text generation method, apparatus and computer readable storage medium | |
CN111859940B (en) | Keyword extraction method and device, electronic equipment and storage medium | |
CN111354333A (en) | Chinese prosody hierarchy prediction method and system based on self-attention | |
CN114298287A (en) | Knowledge distillation-based prediction method and device, electronic equipment and storage medium | |
RU2712101C2 (en) | Prediction of probability of occurrence of line using sequence of vectors | |
CN115392237B (en) | Emotion analysis model training method, device, equipment and storage medium | |
CN114358201A (en) | Text-based emotion classification method and device, computer equipment and storage medium | |
CN113779225A (en) | Entity link model training method, entity link method and device | |
CN116245097A (en) | Method for training entity recognition model, entity recognition method and corresponding device | |
CN113221553A (en) | Text processing method, device and equipment and readable storage medium | |
CN111368066B (en) | Method, apparatus and computer readable storage medium for obtaining dialogue abstract | |
CN109117471A (en) | A kind of calculation method and terminal of the word degree of correlation | |
CN116362242A (en) | Small sample slot value extraction method, device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |