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 PDF

Info

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
Application number
KR1020180021696A
Other languages
Korean (ko)
Other versions
KR20190101567A (en
Inventor
황이규
유태준
홍수린
이창기
김현기
박천음
Original Assignee
주식회사 마인즈랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 마인즈랩 filed Critical 주식회사 마인즈랩
Priority to KR1020180021696A priority Critical patent/KR102116518B1/en
Publication of KR20190101567A publication Critical patent/KR20190101567A/en
Application granted granted Critical
Publication of KR102116518B1 publication Critical patent/KR102116518B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

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

기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법{APPARATUS FOR ANSWERING A QUESTION BASED ON MACHING READING COMPREHENSION AND METHOD FOR ANSWERING A QUESTION USING THEREOF}A question-and-answer device based on machine reading and a question-and-answer method using the same {APPARATUS FOR ANSWERING A QUESTION BASED MACHING READING COMPREHENSION AND METHOD FOR ANSWERING A QUESTION USING THEREOF}

본 개시는 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법에 관한 것이다. 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.

Figure 112018018999212-pat00001
Figure 112018018999212-pat00001

Figure 112018018999212-pat00002
Figure 112018018999212-pat00002

Figure 112018018999212-pat00003
Figure 112018018999212-pat00003

수학식 1 내지 수학식 3에서, i는 입력 게이트, f는 포겟 게이트, r는 리셋 게이트, z는 업데이트 게이트, o는 출력 게이트의 동작을 나타낸 것이다. 수학식 1에서, x는 입력, g는 후보 히든 상태(candidate hidden state), s는 히든 상태, c는 내부 상태를 나타낼 수 있다. 수학식 2에서, x는 입력, s는 히든 상태, h는 내부 상태를 나타낼 수 있다. 수학식 3에서, x는 입력, h는 히든 상태, c는 내부 상태를 나타낼 수 있다. In Equations 1 to 3, i is an input gate, f is a forward gate, r is a reset gate, z is an update gate, and o is an output gate. In Equation 1, x may be an input, g may be a candidate hidden state, s may be a hidden state, and c may indicate an internal state. In Equation 2, x may be an input, s may be a hidden state, and h may indicate an internal state. In Equation 3, x may be an input, h may be a hidden state, and c may be an internal state.

수학식 1 내지 3에서, 첨자 t는 현재 상태의 정보를 나타내고, 첨자 t-1은 이전 상태의 정보를 나타낸다. 또한, sigma()는 시그모이드 함수, tanh()는 쌍곡 함수(hyperbolic tangent function), g()는 활성 함수를 나타낸다. 활성함수는, 시그모이드 함수, 쌍곡 함수, ReLU 함수 또는 소프트맥스(softmax) 함수 중 적어도 하나를 포함할 수 있다. ⊙는 elementwise 곱 연산을 나타낼 수 있다.In Equations 1 to 3, subscript t indicates information of the current state, and subscript t-1 indicates information of the previous state. In addition, sigma () represents a sigmoid function, tanh () represents a hyperbolic tangent function, and g () represents an active function. The active function may include at least one of a sigmoid function, a hyperbolic function, a ReLU function, or a softmax function. ⊙ can represent elementwise multiplication.

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

Figure 112018018999212-pat00004
와 elementwise 곱을 수행하여 입력 정보 반영 여부를 결정하고, 포겟 게이트 ft는 ct-1와의 elementwise 곱을 수행하여, 이전 내부 상태(internel state)의 정보를 얼마나 반영할 것인지를 결정할 수 있다. 여기서,
Figure 112018018999212-pat00005
는 입력 xt와 가중치 W를 곱하여 선형 변환한 결과이고, it는 기준값과 포겟 게이트 ft와의 차분값(예컨대, 1-ft)으로 유도될 수 있다. 아울러, ft는 입력 xt에 대해 피드 포워드 신경망(FFNN, Feed-Forward Neural Network)을 적용한 뒤, 시그모이드(Sigmoid) 함수를 적용하여 유도될 수 있다.The input gate i t is
Figure 112018018999212-pat00004
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,
Figure 112018018999212-pat00005
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 Equation 1, since the forward gate f t of the LSTM is derived using the previous hidden state s t-1 , it is considered that the current internal state c t of the LSTM is also derived using the previous hidden state s t-1 . Can be. Accordingly, it can be seen that the current hidden state derived based on the current internal state c t is also derived using the previous hidden state s t-1 . Referring to Equation 2, it can be seen that the current internal state of the GRU is also derived using the previous hidden state s t-1 . Accordingly, it can be seen that the current hidden state derived based on the current internal state h t is also derived using the previous hidden state s t-1 .

반면, 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, a hidden layer 220, a self-matching layer 230, a modeling layer 240, and an output layer 250. .

자질 레이어(Feature Layer, 210)에서는, 문단 및 질문에 대한 자질 임베딩(feature Embedding)이 수행된다. 구체적으로, 적어도 하나의 자질을 기초로 입력된 문단에 포함된 단어 및/또는 입력된 질문에 포함된 단어에 대한 임베딩을 수행할 수 있다. 임베딩 수행 결과, 문단에 대한 자질 벡터 및/또는 질문에 대한 자질 벡터가 생성될 수 있다.In the feature layer 210, feature embedding for paragraphs and questions is performed. Specifically, embedding may be performed on words included in the input paragraph and / or words included in the input question based on at least one feature. As a result of embedding, a feature vector for a paragraph and / or a feature vector for a question may be generated.

히든 레이어(Hidden Layer, 220)에서는, 자질 레이어(210)에서 생성된 자질 벡터에 기초하여, 문단 및/또는 질문에 대한 히든 상태가 인코딩(Encoding)될 수 있다. 먼저, 질문에 관한 히든 상태는, 각 질문 단어들에 대한 히든 상태를 문장 단위로 결합한 뒤, 질문 문장에 대한 히든 상태를 하나의 벡터로 인코딩하여 생성될 수 있다. 즉, 질문에 대한 히든 상태는 문장 단위로 인코딩될 수 있다. 질문 문장의 히든 상태가 인코딩되면, 질문 문장의 히든 상태를 정규화하여 얼라인먼트 벡터를 생성하고, 인코딩된 히든 상태 벡터와 얼라인먼트 벡터를 이용하여 질문 벡터가 생성될 수 있다.In the hidden layer 220, a hidden state for a paragraph and / or question may be encoded based on a feature vector generated in the feature layer 210. First, the hidden state for the question may be generated by combining the hidden state for each question word in units of sentences, and then encoding the hidden state for the question sentence into one vector. That is, the hidden state for the question may be encoded in units of sentences. When the hidden state of the question sentence is encoded, an alignment vector may be generated by normalizing the hidden state of the question sentence, and a question vector may be generated using the encoded hidden state vector and the alignment vector.

문단에 포함된 각 단어들의 히든 상태는, 양방향 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 layer 230, it is possible to compensate for a decrease in the influence of the past state word of the paragraph on the present state word. Specifically, it is possible to generate context information of a similar meaning by calculating an attention weight for the own own hidden state sequence. To this end, an alignment score may be calculated for an encoded hidden state sequence of a paragraph, and a context vector may be generated by multiplying the calculated alignment score by a hidden state vector.

모델링 레이어(Modeling Layer, 240)에서는, 문단에 관한 각 단어들의 인코딩된 히든 상태 벡터와 문멕 벡터를 연결하여 인코딩이 수행될 수 있다. 구체적으로, 게이티드 어텐션에 기초한 순환 네트워크(Gated attention-based recurrent network)를 이용하여 인코딩을 수행하고 그 결과로 모델링 벡터를 출력할 수 있다.In the modeling layer 240, encoding may be performed by concatenating the encoded hidden state vector of each word related to the paragraph and the Munmek vector. Specifically, encoding may be performed using a gated attention-based recurrent network and a modeling vector may be output as a result.

출력 레이어(Output Layer, 250)는 모델링 벡터와 질문 벡터를 기초로, 질문에 적합한 정답의 위치를 문단에서 찾아 출력할 수 있다. 구체적으로, 포인터 네트워크의 포인팅 방법을 기반으로, 모델링 벡터와 질문 벡터를 양선형 시퀀스 어텐션(Bi-linear sequence attention)으로 계산하여, 정답의 위치를 문단에서 찾아 출력할 수 있다. 이때, 정답의 위치는 문맥 내 정답의 시작 위치 및 종료 위치를 포함할 수 있다.The output layer 250 may find and output a position of a correct answer suitable for a question in a paragraph based on a modeling vector and a question vector. Specifically, based on the pointing method of the pointer network, the modeling vector and the question vector can be calculated with bi-linear sequence attention, and the location of the correct answer can be found and output from the paragraph. At this time, the position of the correct answer may include a start position and an end position of the correct answer in the context.

도 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 feature vector generator 310, a hidden state encoding unit 320, a question vector generator 330, a self-matching attention unit 340, and a modeling vector generator. 350 and the correct answer position output unit 360.

먼저, 자질 벡터 생성부(310)는, 학습 단위를 수치적으로 변환하기 위해, 적어도 하나의 자질에 기초하여 질문 및/또는 문단에 대한 자질 벡터를 생성할 수 있다. 자질 벡터를 생성하는데 이용되는 자질은, 단어 표현(word embedding), 음절(또는 문자) 표현(character embedding), 정확한 매치(exact match), 토큰 자질(token feature) 또는 정렬된 질문 표현(aligned questionembedding) 중 적어도 하나를 포함할 수 있다.First, the feature vector generator 310 may generate feature vectors for questions and / or paragraphs based on at least one feature in order to numerically transform the learning unit. The qualities used to generate feature vectors are: word embedding, syllable (or character embedding), exact match, token feature, or aligned question embedding. It may include at least one of.

자질 벡터 생성부(310)는 질문에 대한 자질 벡터를 생성하는 질문 자질 벡터 생성부(312) 및 문단에 대한 자질 벡터를 생성하는 문단 자질 벡터 생성부(315)를 포함할 수 있다. 자질 벡터 생성부(310)는 적어도 하나의 자질에 의해 생성된 값을 연결(concatenation)하여 자질 벡터를 생성할 수 있다.The feature vector generator 310 may include a question feature vector generator 312 for generating a feature vector for a question and a paragraph feature vector generator 315 for generating a feature vector for a paragraph. The feature vector generator 310 may generate feature vectors by concatenating values generated by at least one feature.

하기 수학식 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.

Figure 112018018999212-pat00006
Figure 112018018999212-pat00006

Figure 112018018999212-pat00007
Figure 112018018999212-pat00007

상기 수학식 4에서,

Figure 112018018999212-pat00008
는 문단의 자질 벡터를 나타내고,
Figure 112018018999212-pat00009
는 질문의 자질 벡터를 나타낸다. femb는 단어 표현 자질에 기초한 출력값, fc_emb는 음절 표현(또는 문자 표현) 자질에 기초한 출력값, fexact_match는 정확한 매치 자질에 기초한 출력값, ftf는 토큰 자질에 기초한 출력값, falign은 정렬된 질문 표현 자질에 기초한 출력값을 나타낸다.In Equation 4,
Figure 112018018999212-pat00008
Denotes the feature vector of the paragraph,
Figure 112018018999212-pat00009
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 state encoding unit 320 may encode and output a hidden state for a paragraph and / or question based on the feature vector generated by the feature vector generator 310. The hidden state encoding unit 320 may include a question hidden state encoding unit 322 for encoding a hidden state related to a question and a paragraph hidden state encoding unit 325 for encoding a hidden state related to a paragraph.

질문 히든 상태 인코딩부(322)는, 각 질문 단어들에 대한 히든 상태를 문장 단위로 결합함으로써, 질문 문장에 대한 인코딩된 히든 상태를 출력할 수 있다. 구체적으로, 각 단어의 자질 벡터를 양방향 RNN에 입력하여 히든 상태가 출력되면, 출력된 히든 상태를 하나로 결합하여, 질문 문장에 대한 히든 상태를 획득할 수 있다. 양방향 RNN은 LSTM, GRU 또는 SRU 중 적어도 하나의 메모리 블록을 포함하여 구성될 수 있고, 바람직하게는, SRU를 포함하여 구성될 수 있다.The question hidden state encoding unit 322 may output the encoded hidden state for the question sentence by combining the hidden states for each question word in units of sentences. Specifically, when the hidden state is output by inputting the feature vector of each word into the bidirectional RNN, the hidden state for the question sentence can be obtained by combining the outputted hidden states into one. The bidirectional RNN may include a memory block of at least one of LSTM, GRU, or SRU, and preferably, may include SRU.

문단 히든 상태 인코딩부(325)는, 문단에 포함된 각 단어들의 자질 벡터를 양방향 RNN에 입력함으로써, 단어별 히든 상태를 인코딩할 수 있다. 양방향 RNN은 LSTM, GRU 또는 SRU 중 적어도 하나의 메모리 블록을 포함하여 구성될 수 있고, 바람직하게는, SRU를 포함하여 구성될 수 있다. 하기 수학식 6은 문단에 대한 히든 상태를 인코딩하는 예를 나타낸 것이다.The paragraph hidden state encoding unit 325 may encode the hidden state for each word by inputting a feature vector of each word included in the paragraph into the bidirectional RNN. The bidirectional RNN may include a memory block of at least one of LSTM, GRU, or SRU, and preferably, may include SRU. Equation 6 below shows an example of encoding a hidden state for a paragraph.

Figure 112018018999212-pat00010
Figure 112018018999212-pat00010

상기 수학식 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 question vector generator 330 may generate the alignment vector by normalizing the hidden state of the question sentence, and multiply the encoded hidden state of the question sentence by the alignment vector to generate the question vector. Equation 7 below shows an example in which a question vector is generated.

Figure 112018018999212-pat00011
Figure 112018018999212-pat00011

상기 수학식 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 attention unit 340 may obtain an alignment score for a sequence of encoded hidden states of the paragraph. In addition, the context vector may be generated by multiplying the encoded hidden state vector and the alignment score. Equation 8 below shows an example in which a context vector is generated.

Figure 112018018999212-pat00012
Figure 112018018999212-pat00012

수학식 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 vector generation unit 350 may connect the encoded hidden state of the paragraph and the Munmek vector, and generate a modeling vector based on this. As an example, Equation 9 shows an equation for calculating a modeling vector.

Figure 112018018999212-pat00013
Figure 112018018999212-pat00013

수학식 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.

Figure 112018018999212-pat00014
Figure 112018018999212-pat00014

상기 수학식 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 feature vector generator 310, feature vectors for questions and paragraphs may be generated (S410). In this case, the learning units of the questions and paragraphs may be word units, and accordingly, feature vectors for each word may be generated. A feature vector for each word can be generated by concatenating values calculated by at least one feature.

질문 및 문단에 대한 자질 벡터가 생성되면, 생성된 자질 벡터를 이용하여, 질문 및 문단의 히든 상태를 인코딩할 수 있다(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.
제1 항에 있어서,
상기 질문의 자질 벡터 및 상기 문단의 자질 벡터 각각은 단어 단위로 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
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.
제2 항에 있어서,
상기 질문의 히든 상태는, 문장 단위로 인코딩되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
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.
제2 항에 있어서,
상기 문단의 히든 상태는 단어 단위로 인코딩되고, 단어의 히든 상태는 상기 단어의 자질 벡터를 양방향 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.
제4 항에 있어서,
상기 양방향 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.
제4 항에 있어서,
상기 모델링 벡터는, 상기 문단의 히든 상태 시퀀스 열(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.
제2 항에 있어서,
상기 자질 벡터는, 단어에 적어도 하나의 자질을 이용함으로써 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
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.
제7 항에 있어서,
상기 자질은, 워드 임베딩, 음절 임베딩, 정확한 매치, 토큰 자질 및 정렬된 질문 표현 중 적어도 하나를 포함하고,
상기 질문 및 상기 문단에 적용되는 자질의 개수 및 종류는 동일한 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
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.
제1 항에 있어서,
상기 정답 위치는 정답의 시작 위치 및 정답의 종료 위치를 포함하고,
상기 시작 위치 및 종료 위치 사이의 길이는 기 정의된 최대 길이 이하인 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
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.
제1 항에 있어서
상기 정답 위치는 정답의 시작 위치 및 정답의 종료 위치를 포함하고,
상기 예측하는 단계는
상기 시작 위치 및 상기 종료 위치 중 적어도 하나에 걸친 단어가 자립 형태소로 종결되지 않는 경우,
상기 시작 위치 및 상기 종료 위치 중 적어도 하나를 보정하는, 기계 독해에 기초한 질의 응답 방법.
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
제11 항에 있어서,
상기 질문의 자질 벡터 및 상기 문단의 자질 벡터 각각은 단어 단위로 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
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.
제12 항에 있어서,
상기 히든 상태 인코딩부는, 문장 단위로 상기 질문의 히든 상태를 인코딩하는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
The method of claim 12,
And the hidden state encoding unit encodes the hidden state of the question in units of sentences.
제12 항에 있어서,
상기 히든 상태 인코딩부는, 단어 단위로 상기 문단의 히든 상태를 인코딩하고,
단어의 히든 상태는 상기 단어의 자질 벡터를 양방향 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.
제14 항에 있어서,
상기 양방향 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.
제14 항에 있어서,
상기 모델링 벡터 생성부는, 상기 문단의 히든 상태 시퀀스 열(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.
제12 항에 있어서,
상기 자질 벡터 생성부는, 단어에 적어도 하나의 자질을 적용하여 상기 자질 벡터를 생성하는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
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.
제17 항에 있어서,
상기 자질은, 워드 임베딩, 음절 임베딩, 정확한 매치, 토큰 자질 및 정렬된 질문 표현 중 적어도 하나를 포함하고,
상기 질문 및 상기 문단에 적용되는 자질의 개수 및 종류는 동일한 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
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.
제11 항에 있어서,
상기 정답 위치는 정답의 시작 위치 및 정답의 종료 위치를 포함하고,
상기 시작 위치 및 종료 위치 사이의 길이는 기 정의된 최대 길이 이하인 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
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.
제19 항에 있어서,
상기 정답 위치는 정답의 시작 위치 및 정답의 종료 위치를 포함하고,
상기 정답 위치 예측부는,
상기 시작 위치 및 상기 종료 위치 중 적어도 하나에 걸친 단어가 자립 형태소로 종결되지 않는 경우, 상기 시작 위치 및 상기 종료 위치 중 적어도 하나를 보정하는, 기계 독해에 기초한 질의 응답 장치.
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.
KR1020180021696A 2018-02-23 2018-02-23 Apparatus for answering a question based on maching reading comprehension and method for answering a question using thereof KR102116518B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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