KR20190101567A - 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법 - Google Patents

기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법 Download PDF

Info

Publication number
KR20190101567A
KR20190101567A KR1020180021696A KR20180021696A KR20190101567A KR 20190101567 A KR20190101567 A KR 20190101567A KR 1020180021696 A KR1020180021696 A KR 1020180021696A KR 20180021696 A KR20180021696 A KR 20180021696A KR 20190101567 A KR20190101567 A KR 20190101567A
Authority
KR
South Korea
Prior art keywords
question
hidden state
vector
paragraph
correct answer
Prior art date
Application number
KR1020180021696A
Other languages
English (en)
Other versions
KR102116518B1 (ko
Inventor
황이규
유태준
홍수린
이창기
김현기
박천음
Original Assignee
주식회사 마인즈랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 마인즈랩 filed Critical 주식회사 마인즈랩
Priority to KR1020180021696A priority Critical patent/KR102116518B1/ko
Publication of KR20190101567A publication Critical patent/KR20190101567A/ko
Application granted granted Critical
Publication of KR102116518B1 publication Critical patent/KR102116518B1/ko

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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • 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
    • 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
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Machine Translation (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 개시는 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법에 관한 것이다. 이를 위한 질의 응답 방법은, 질문 및 문단에 관한 자질 벡터를 생성하는 단계, 상기 질문의 자질 벡터를 기초로, 질문의 히든 상태를 인코딩하는 단계, 상기 질문의 히든 상태를 기초로, 질문 벡터를 생성하는 단계, 상기 문단의 자질 벡터를 기초로 문단의 히든 상태를 인코딩하는 단계, 상기 문단의 히든 상태를 기초로, 모델링 벡터를 생성하는 단계, 및 상기 질문 벡터 및 상기 모델링 벡터를 기초로, 정답의 위치를 예측하는 단계를 포함할 수 있다.

Description

기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법{APPARATUS FOR ANSWERING A QUESTION BASED ON MACHING READING COMPREHENSION AND METHOD FOR ANSWERING A QUESTION USING THEREOF}
본 개시는 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법에 관한 것이다.
기계 독해(Machine Reading Comprehension, MRC)는 기계가 문서를 읽고 이해할 수 있도록 하는 기계 학습 방법을 의미한다. MRC에 기반한 질의 응답 모델을 이용할 경우, 기계 독해를 통해 문서 내 답을 찾을 수 있는 질문 및 질문에 대한 정답의 위치를 학습하고, 학습한 결과를 토대로 새로운 문서 또는 질문이 입력되었을 때, 입력된 질문에 대한 정답의 위치를 유추할 수 있다.
최근에는, 순환 신경망(RNN, Recurrent Neural Network)를 이용한, MRC 기반의 딥 러닝 모델이 제안되고 있다. 순환 신경망은, 이전 상태의 정보를 반영하여 현재 상태의 출력을 결정할 수 있어, MRC와 같은 시계열적 데이터를 처리하는데 효과적이다. 다만, RNN에서는, 현재 상태로부터 먼 과거일 수록, 현재 상태에 미치는 영향력이 점차 감소하는 그라디언트 소실 문제(Vanishing Gradient Problem)가 발생하게 된다. 이에, 그라디언트 소실 문제를 해소하는 한편, 처리 속도를 개선한 RNN을 이용한 딥 러닝 모델 구축의 필요성이 제기되고 있다.
본 개시의 기술적 과제는, RNN에 기초한 딥 러닝 모델 및 상기 모델이 적용된 질의 응답 장치를 제공하는 것이다.
본 개시의 기술적 과제는, SRU(Simple Recurrent Unit)을 이용하여, 그라디언트 소실 문제를 해소하는 한편, 연산 속도를 향상시킨 딥 러닝 모델 및 상기 모델이 적용된 질의 응답 장치를 제공하는 것이다.
본 개시의 기술적 과제는, 질문 및 문단에 복수의 자질을 적용하여, 향상된 딥 러닝 모델 및 상기 모델이 적용된 질의 응답 장치를 제공하는 것이다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법은, 질문 및 문단에 관한 자질 벡터를 생성하고, 상기 질문의 자질 벡터를 기초로, 질문의 히든 상태를 인코딩하고, 상기 질문의 히든 상태를 기초로, 질문 벡터를 생성하고, 상기 문단의 자질 벡터를 기초로 문단의 히든 상태를 인코딩하고, 상기 문단의 히든 상태를 기초로, 모델링 벡터를 생성하고, 상기 질문 벡터 및 상기 모델링 벡터를 기초로, 정답의 위치를 예측할 수 있다.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 자질 벡터는 단어 단위로 생성될 수 있다.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 질문의 히든 상태는, 문장 단위로 인코딩될 수 있다.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 문단의 히든 상태는 단어 단위로 인코딩되고, 단어의 히든 상태는 상기 단어의 자질 벡터를 양방향 RNN(Recurrent Neural Network)에 입력함에 따라 생성될 수 있다.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 양방향 RNN은 SRU (Simple Recurrent Unit)을 포함하여 구성될 수 있다.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 모델링 벡터는, 상기 문단의 히든 상태 시퀀스 열(sequence)에 관한 문맥 정보에 기초하여 생성될 수 있다.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 자질 벡터는, 단어에 적어도 하나의 자질을 이용함으로써 생성될 수 있다.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 자질은, 워드 임베딩, 음절 임베딩, 정확한 매치, 토큰 자질 및 정렬된 질문 표현 중 적어도 하나를 포함하고, 상기 질문 및 상기 문단에 적용되는 자질의 개수 및 종류는 동일할 수 있다.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 정답 위치는 정답의 시작 위치 및 정답의 종료 위치를 포함할 수 있다.
본 개시의 일 양상에 따른 기계 독해에 기초한 질의 응답 장치 및 방법에 있어서, 상기 정답 위치에 대응하는 정답이 완결형으로 종결되는지 여부에 따라, 상기 정답 위치가 보정될 수 있다.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.
본 개시에 따르면, RNN에 기초한 딥 러닝 모델을 제공할 수 있는 효과가 있다.
본 개시에 따르면, SRU(Simple Recurrent Unit)을 이용하여, 그라디언트 소실 문제를 해소하는 한편, 연산 속도를 향상시킨 딥 러닝 모델을 제공할 수 있는 효과가 있다.
본 개시에 따르면, 질문 및 문단에 복수의 자질을 적용하여, 딥 러닝 모델의 성능을 향상시킬 수 있는 효과가 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 LSTM, GRU 및 SRU를 비교 도시한 도면이다.
도 2는 본 발명에 따른, 딥 러닝 모델을 계층적으로 나타낸 도면이다.
도 3은 도 2에 도시된 딥 러닝 모델을 이용한 MRC 기반의 질의 응답 장치의 블록도이다.
도 4는 본 발명에 따른 MRC 기반의 질의 응답 방법을 나타낸 흐름도이다.
도 5는 딥 러닝 모델에 적용되는 한국어 기계 독해 데이터 셋을 예시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다. 후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 실시예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 실시예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.
본 발명에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 발명의 어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급 또는 표현된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들은, 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 일 예로, 각 구성부들은, 데이터 통신을 수행하기 위한 통신부, 데이터를 저장하는 메모리, 데이터 처리 및 연산을 수행하는 제어부(또는 프로세서) 등 하드웨어 및/또는 이들 하드웨어를 기초로 구동되는 소프트웨어 중 적어도 하나 이상을 통해 구현될 수 있다.
또한, 본 실시예에 나타난 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어져야 하는 것은 아니다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함될 수 있다.
예컨대, 도 3에 도시된 예에서, 각 구성부들에서 수행되는 연산은 제어부(또는 프로세서) 등의 하드웨어를 통해 수행되는 한편, 각 구성부들 사이의 입출력되는 데이터는 메모리 등에 저장될 수 있다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 즉, 본 발명에서 특정 구성을 "포함"한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
본 발명의 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하고, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
기계 독해에 기반한 질의 응답 시스템을 구축하기 위해, 데이터 셋을 구축하고, 주어진 데이터 셋을 딥 러닝 모델에 적용하여 기계 학습을 진행하게 된다. 일 예로, 스탠포드의 SQuAD, 페이스북의 bAbi, 마이크로 소프트의 MS-MARCO 등의 데이터 셋과, DrQA, fastQA, R-Net, AoA reader, BiDirectional Flow(BiDAF), match-LSTM 등의 end-to-end 딥 러닝 모델 등이 연구되고 있다.
포인터 네트워크 기반 딥 러닝 모델은, RNN Encoder-Decoder 모델을 확장한 것으로, 주어진 입력 시퀀스(sequence)에 대응하는 위치를 결과로 출력하는 모델을 의미한다. 일 예로, 상기 딥 러닝 모델을 이용할 경우, 문맥에서 질문과 유사한 정답의 경계 인덱스(즉, 정답의 시작 위치 및 종료 위치)가 출력될 수 있다.
상기 딥 러닝 모델의 기반이 되는 순환 신경망(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은 이전 상태의 정보를 저장하기 위한 메모리를 포함할 수 있다.
다만, RNN에서는 과거 상태가 현재 상태에 끼치는 영향력이, 현재 상태로 부터 먼 과거일수록 급격히 감소하는 그라디언트 소실 문제(Vanishing Gradient Problem)가 발생할 수 있다. 그라디언트 소실 문제를 해소하기 위해, 히든층을 LSTM(Long Short-Term Memeroy) 또는 GRU(Gated Recurrent Unit) 등의 메모리 블록으로 구성하는 방안이 고려될 수 있다.
LSTM은 입력 게이트(Input gate), 출력 게이트(Output gate) 및 포겟 게이트(Forget gate)를 포함하는 메모리 블록이다. 입력 게이트를 이용하여, 새로운 인풋을 수신할지 여부를 결정할 수 있고, 포겟 게이트를 이용하여, 이전 상태로부터 전달된 정보를 현재 상태에 전달할 것인지 여부를 결정할 수 있다. 출력 게이트를 이용하여 출력값에 이전 상태로부터 전달된 정보를 적용할 것인지 여부를 결정할 수 있다.
GRU는 LSTM 에서 출력 게이트를 제거한 메모리 블록으로, 리셋 게이트(reset gate) 및 업데이트 게이트(updategate)를 포함할 수 있다. 즉, GRU는 LSTM을 단순화한 구조로, LSTM보다 계산량이 적어 빠른 처리가 가능하다는 이점이 있다. GRU에서는, 리셋 게이트를 이용하여 새로운 입력을 이전 메모리와 어떻게 조합할 것인지 여부가 결정될 수 있고, 업데이트 게이트를 이용하여, 이전 메모리 정보를 유지하여 새로운 상태를 계산할 것인지 여부를 결정할 수 있다.
SRU(Simple Recurrent Unit)는 GRU 또는 LSTM과 같이 뉴럴 게이트(neural gate)를 두어, LSTM 또는 GRU와 마찬가지로, 그라디언트 소실 문제를 해결할 수 있다. SRU는 GRU 대비 게이트 입력에서 이전 히든 상태를 제거하여, GRU 보다 계산량이 적고 병렬 계산이 빠른 이점이 있다.
도 1은 LSTM, GRU 및 SRU를 비교 도시한 도면이다.
도 1의 (a)는 LSTM, (b)는 GRU, (c)는 SRU를 나타낸다. 또한, i는 입력 게이트, f는 포겟 게이트, o는 출력 게이트, z는 업데이트 게이트, r는 리셋 게이트를 나타낸다. c 및 h는 각각의 내부 메모리를 나타낼 수 있다. 하기 수학식 1 내지 3은, 각각 LSTM, GRU 및 SRU의 동작을 수학적으로 나타낸 것이다.
Figure pat00001
Figure pat00002
Figure pat00003
수학식 1 내지 수학식 3에서, i는 입력 게이트, f는 포겟 게이트, r는 리셋 게이트, z는 업데이트 게이트, o는 출력 게이트의 동작을 나타낸 것이다. 수학식 1에서, x는 입력, g는 후보 히든 상태(candidate hidden state), s는 히든 상태, c는 내부 상태를 나타낼 수 있다. 수학식 2에서, x는 입력, s는 히든 상태, h는 내부 상태를 나타낼 수 있다. 수학식 3에서, x는 입력, h는 히든 상태, c는 내부 상태를 나타낼 수 있다.
수학식 1 내지 3에서, 첨자 t는 현재 상태의 정보를 나타내고, 첨자 t-1은 이전 상태의 정보를 나타낸다. 또한, sigma()는 시그모이드 함수, tanh()는 쌍곡 함수(hyperbolic tangent function), g()는 활성 함수를 나타낸다. 활성함수는, 시그모이드 함수, 쌍곡 함수, ReLU 함수 또는 소프트맥스(softmax) 함수 중 적어도 하나를 포함할 수 있다. ⊙는 elementwise 곱 연산을 나타낼 수 있다.
SRU의 동작을 나타내는 수학식 3을 살펴보면, 현재 내부 상태(internal sate, 즉 현재 메모리) ct는 현재 입력 xt와 이전 내부 상태 ct-1로부터의 정보 전달을 조절하여 유도될 수 있다.
인풋 게이트 it
Figure pat00004
와 elementwise 곱을 수행하여 입력 정보 반영 여부를 결정하고, 포겟 게이트 ft는 ct-1와의 elementwise 곱을 수행하여, 이전 내부 상태(internel state)의 정보를 얼마나 반영할 것인지를 결정할 수 있다. 여기서,
Figure pat00005
는 입력 xt와 가중치 W를 곱하여 선형 변환한 결과이고, it는 기준값과 포겟 게이트 ft와의 차분값(예컨대, 1-ft)으로 유도될 수 있다. 아울러, ft는 입력 xt에 대해 피드 포워드 신경망(FFNN, Feed-Forward Neural Network)을 적용한 뒤, 시그모이드(Sigmoid) 함수를 적용하여 유도될 수 있다.
수학식 1을 참조하면, LSTM의 포겟 게이트 ft는, 이전 히든 상태 st-1를 이용하여 유도되므로, LSTM의 현재 내부 상태 ct 역시, 이전 히든 상태 st-1를 이용하여 유도된다고 볼 수 있다. 이에 따라, 현재 내부 상태 ct를 기초로 유도되는 현재 히든 상태 역시 이전 히든 상태 st-1를 이용하여 유도된다고 볼 수 있다. 수학식 2를 참조하면, GRU의 현재 내부 상태 역시 이전 히든 상태 st-1를 이용하여 유도되는 것을 확인할 수 있다. 이에 따라, 현재 내부 상태 ht를 기초로 유도되는 현재 히든 상태 역시 이전 히든 상태 st-1를 이용하여 유도된다고 볼 수 있다.
반면, SRU는 이전 히든 상태를 이용하지 않고 포겟 게이트 ft를 계산하는 바, 이전 히든 상태를 이용하지 않고 현재 내부 상태가 결정된다고 볼 수 있다. 이에 따라, SRU에서는 이전 히든 상태 st-1를 이용하지 않고도 현재 히든 상태 st를 유도할 수 있다. 즉, SRU는 이전 히든 상태를 이용하는 대신 FFNN을 적용하여 계산량을 줄임과 동시에, 레이어간 병렬 계산이 가능하도록 하는 것에 특징이 있다.
후술되는 기계 독해 딥 러닝 모델은, LSTM, GRU 또는 SRU 중 적어도 하나를 이용한 RNN을 포함할 수 있다. 바람직하게는, SRU을 기초로 RNN을 구성함으로써, LSTM 또는 GRU를 이용한 것 대비 복잡도 및 연산량을 줄일 수 있다.
도 2는 본 발명에 따른, 딥 러닝 모델을 계층적으로 나타낸 도면이다.
기계 독해를 수행하기 위해, 딥 러닝 모델은, 질문(Q) 및 문단(P) 데이터 셋을 이용하여 학습을 진행할 수 있다. 도 2에 도시된 예에서는, m개의 단어로 구성된 질문 데이터 셋 {q1, q2, … qm} 및 n개의 단어로 구성된 문단 데이터 셋 {p1, p2, … pn}을 이용하여 학습이 수행하는 것으로 도시되었다.
학습하고자 하는 언어에 따라, 형태소, 토큰(token), 띄어쓰기 또는 특수 문자 중 적어도 하나를 기초로 문단과 질문의 각 단어를 정의할 수 있다. 예컨대, 영어를 학습하고자 하는 경우에는, 토큰, 띄어쓰기 및 특수 문자를 기초로 학습 단위가 결정되는 반면, 한글을 학습하고자 하는 경우에는, 형태소 단위로 학습 단위가 결정될 수 있다. 아울러, 소정 단어와 단어의 품사를 나타내는 품사 태그를 한 쌍으로하여 문단과 질문의 단어를 정의할 수도 있다.
일 예로, 문단 또는 질문을 형태소 단위로 분류한 뒤, 각 형태소에 알맞은 품사를 태깅하여 단어를 정의할 수 있다. 도 2에 도시된 예에서, nng는 일반 명사, ec는 연결 어미, sn은 숫자, nnb는 의존 명사, sf는 마침표, 물음표 또는 느낌표를 나타내는 문장 부호를 나타내는 품사 태그일 수 있다.
도 2를 참조하면, 본 발명에 따른 딥 러닝 모델은, 자질 레이어(210), 히든 레이어(220), 셀프 매칭 레이어(230), 모델링 레이어(240) 및 출력 레이어(250)를 포함할 수 있다.
자질 레이어(Feature Layer, 210)에서는, 문단 및 질문에 대한 자질 임베딩(feature Embedding)이 수행된다. 구체적으로, 적어도 하나의 자질을 기초로 입력된 문단에 포함된 단어 및/또는 입력된 질문에 포함된 단어에 대한 임베딩을 수행할 수 있다. 임베딩 수행 결과, 문단에 대한 자질 벡터 및/또는 질문에 대한 자질 벡터가 생성될 수 있다.
히든 레이어(Hidden Layer, 220)에서는, 자질 레이어(210)에서 생성된 자질 벡터에 기초하여, 문단 및/또는 질문에 대한 히든 상태가 인코딩(Encoding)될 수 있다. 먼저, 질문에 관한 히든 상태는, 각 질문 단어들에 대한 히든 상태를 문장 단위로 결합한 뒤, 질문 문장에 대한 히든 상태를 하나의 벡터로 인코딩하여 생성될 수 있다. 즉, 질문에 대한 히든 상태는 문장 단위로 인코딩될 수 있다. 질문 문장의 히든 상태가 인코딩되면, 질문 문장의 히든 상태를 정규화하여 얼라인먼트 벡터를 생성하고, 인코딩된 히든 상태 벡터와 얼라인먼트 벡터를 이용하여 질문 벡터가 생성될 수 있다.
문단에 포함된 각 단어들의 히든 상태는, 양방향 RNN에 기초하여 인코딩될 수 있다. 이때, 상기 양방향 RNN은, LSTM, GRU 또는 SRU 중 적어도 하나의 메모리 블록을 포함하여 구성될 수 있다. 바람직하게는, 양방향 SRU를 이용하여 RNN을 구성할 수 있다.
셀프 매칭 레이어(Self Matching Layer, 230)에서는, 문단의 과거 상태 단어가 현재 상태 단어에 미치는 영향력이 감소하는 것을 보완할 수 있다. 구체적으로, 자기 자신의 히든 상태 시퀀스(sequence)에 대한 어텐션 가중치(attention weight)를 계산하여, 비슷한 의미의 문맥 정보를 생성할 수 있다. 이를 위해, 문단의 인코딩된 히든 상태 시퀀스(sequence)를 대상으로 얼라인먼트 스코어를 계산하고, 계산된 얼라인먼트 스코어를 히든 상태 벡터와 곱하여 문맥 벡터를 생성할 수 있다.
모델링 레이어(Modeling Layer, 240)에서는, 문단에 관한 각 단어들의 인코딩된 히든 상태 벡터와 문멕 벡터를 연결하여 인코딩이 수행될 수 있다. 구체적으로, 게이티드 어텐션에 기초한 순환 네트워크(Gated attention-based recurrent network)를 이용하여 인코딩을 수행하고 그 결과로 모델링 벡터를 출력할 수 있다.
출력 레이어(Output Layer, 250)는 모델링 벡터와 질문 벡터를 기초로, 질문에 적합한 정답의 위치를 문단에서 찾아 출력할 수 있다. 구체적으로, 포인터 네트워크의 포인팅 방법을 기반으로, 모델링 벡터와 질문 벡터를 양선형 시퀀스 어텐션(Bi-linear sequence attention)으로 계산하여, 정답의 위치를 문단에서 찾아 출력할 수 있다. 이때, 정답의 위치는 문맥 내 정답의 시작 위치 및 종료 위치를 포함할 수 있다.
도 3은 도 2에 도시된 딥 러닝 모델을 이용한 MRC 기반의 질의 응답 장치의 블록도이다.
도 3을 참조하면, MRC 기반의 질의 응답 장치는, 자질 벡터 생성부(310), 히든 상태 인코딩부(320), 질문 벡터 생성부(330), 셀프 매칭 어텐션부(340), 모델링 벡터 생성부(350) 및 정답 위치 출력부(360)를 포함할 수 있다.
먼저, 자질 벡터 생성부(310)는, 학습 단위를 수치적으로 변환하기 위해, 적어도 하나의 자질에 기초하여 질문 및/또는 문단에 대한 자질 벡터를 생성할 수 있다. 자질 벡터를 생성하는데 이용되는 자질은, 단어 표현(word embedding), 음절(또는 문자) 표현(character embedding), 정확한 매치(exact match), 토큰 자질(token feature) 또는 정렬된 질문 표현(aligned questionembedding) 중 적어도 하나를 포함할 수 있다.
자질 벡터 생성부(310)는 질문에 대한 자질 벡터를 생성하는 질문 자질 벡터 생성부(312) 및 문단에 대한 자질 벡터를 생성하는 문단 자질 벡터 생성부(315)를 포함할 수 있다. 자질 벡터 생성부(310)는 적어도 하나의 자질에 의해 생성된 값을 연결(concatenation)하여 자질 벡터를 생성할 수 있다.
하기 수학식 4는 시점 t에 입력되는 단어의 자질 벡터를 수식으로 나타낸 것이고, 수학식 5는 문단에 대한 각 자질별 출력값을 수식으로 나타낸 것이다. 질문에 대한 각 자질별 출력값은, 수학식 5의 변수 p 및 q를 각각 q 및 p로 치환함으로써 획득할 수 있다.
Figure pat00006
Figure pat00007
상기 수학식 4에서,
Figure pat00008
는 문단의 자질 벡터를 나타내고,
Figure pat00009
는 질문의 자질 벡터를 나타낸다. femb는 단어 표현 자질에 기초한 출력값, fc_emb는 음절 표현(또는 문자 표현) 자질에 기초한 출력값, fexact_match는 정확한 매치 자질에 기초한 출력값, ftf는 토큰 자질에 기초한 출력값, falign은 정렬된 질문 표현 자질에 기초한 출력값을 나타낸다.
단어 표현 자질을 이용하여, 해당 단어에 대한 임베딩값을 출력할 수 있다. 임베딩값은, 기 훈련된 워드 임베딩 데이터 베이스를 이용하여 산정될 수 있다. 예컨대, Neural Network Language Model (NNLM)을 이용하여 학습된 임베딩 데이터 베이스를 이용하여 단어 표현 자질 값을 획득할 수 있다.
음절 표현 자질을 이용하여, 해당 단어에 대한 임베딩값을 출력할 수 있다. 구체적으로, 음절 표현 자질 값을 임의의 초기 값으로 설정한 뒤, 컨볼루션 신경망(CNN, Convolution Neural Network)을 이용하여, 단어의 임베딩값을 출력할 수 있다.
정확한 매치 자질에 기초한 출력값은, 문단 단어 pt가 질문에 포함되는지 여부 또는 질문 단어 qt가 문단에 포함되는지 여부에 기초하여, 결정될 수 있다. 구체적으로, 문단 단어 pt가 질문에 포함되어 있는지 여부 또는 질문 단어 qt가 문단에 포함되어 있는지 여부에 따라, 0 또는 1이 출력될 수 있다.
토큰 자질의 출력값은, 각 단어의 빈도를 정규화하여 결정된다. 일 예로, 토큰 자질에 기초한 출력값은, 입력된 단어가 문맥 또는 질문에서 출현하는 횟수나 상기 횟수에 대응하는 값으로 결정될 수 있다.
정렬된 질문 표현 자질의 출력값은, 문단 표현 및 질문 표현에 대한 얼라인먼트 스코어(Alignment Score) 및 문맥 인코더 벡터에 기초하여 계산될 수 있다. 구체적으로, 질문에 포함된 단어들의 시퀀스(즉, 질문 시퀀스)와 문단에 포함된 단어들의 시퀀스(즉, 문단 시퀀스) 사이의 얼라인먼트 스코어를 계산한 뒤, 계산된 결과를 문맥 인코더 벡터와 곱하여 매칭 문맥 벡터(matching context vector)를 출력할 수 있다.
질문 및 문단에는 동일한 개수 및 종류의 자질이 적용될 수 있다. 예컨대, 수학식 4에 나타난 것과 같이, 단어 표현, 음절(또는 문자) 표현, 정확한 매치, 토큰 자질 및 정렬된 질문 표현을 질문 및 문단에 공통적으로 적용할 수 있다.
다른 예로, 질문 및 문단에 적용되는 자질의 개수 또는 종류 중 적어도 하나를 상이하게 설정할 수도 있다. 예컨대, 질문의 자질 벡터는 열거된 자질 중 n개를 이용하여 획득되는 한편, 문단의 자질 벡터는 열거된 자질 중 m (n과 상이)개를 이용하여 획득될 수 있다.
또는, 학습 언어에 따라, 자질의 개수 또는 종류 중 적어도 하나를 상이하게 설정할 수도 있다. 예컨대, 한국어에 기초한 질의 응답 장치에서는 n 개의 자질을 이용하도록 설정되고, 영어에 기초한 질의 응답 장치에서는 m개의 자질을 이용하도록 설정될 수 있다.
히든 상태 인코딩부(320)는, 자질 벡터 생성부(310)에서 생성된 자질 벡터에 기초하여 문단 및/또는 질문에 대한 히든 상태를 인코딩하여 출력할 수 있다. 히든 상태 인코딩부(320)는, 질문에 관한 히든 상태를 인코딩하기 위한 질문 히든 상태 인코딩부(322) 및 문단에 관한 히든 상태를 인코딩하기 위한 문단 히든 상태 인코딩부(325)를 포함할 수 있다.
질문 히든 상태 인코딩부(322)는, 각 질문 단어들에 대한 히든 상태를 문장 단위로 결합함으로써, 질문 문장에 대한 인코딩된 히든 상태를 출력할 수 있다. 구체적으로, 각 단어의 자질 벡터를 양방향 RNN에 입력하여 히든 상태가 출력되면, 출력된 히든 상태를 하나로 결합하여, 질문 문장에 대한 히든 상태를 획득할 수 있다. 양방향 RNN은 LSTM, GRU 또는 SRU 중 적어도 하나의 메모리 블록을 포함하여 구성될 수 있고, 바람직하게는, SRU를 포함하여 구성될 수 있다.
문단 히든 상태 인코딩부(325)는, 문단에 포함된 각 단어들의 자질 벡터를 양방향 RNN에 입력함으로써, 단어별 히든 상태를 인코딩할 수 있다. 양방향 RNN은 LSTM, GRU 또는 SRU 중 적어도 하나의 메모리 블록을 포함하여 구성될 수 있고, 바람직하게는, SRU를 포함하여 구성될 수 있다. 하기 수학식 6은 문단에 대한 히든 상태를 인코딩하는 예를 나타낸 것이다.
Figure pat00010
상기 수학식 6에서, uP t는 인코딩된 히든 상태를 나타낸다. 상기 수학식 6에 나타난 바와 같이, 이전 인코딩된 히든 상태 uP t-1 및 자질 벡터를 양방향 SRU (BiSRU, Bidirectional SRU)에 입력함으로써, 인코딩된 히든 상태 uP t를 생성할 수 있다.
질문 벡터 생성부(330)는, 질문 문장의 히든 상태를 정규화하여 얼라인먼트 벡터를 생성하고, 질문 문장의 인코딩된 히든 상태와 얼라인먼트 벡터를 곱하여 질문 벡터를 생성할 수 있다. 하기 수학식 7은 질문 벡터가 생성되는 예를 나타낸 것이다.
Figure pat00011
상기 수학식 7에서, q는 질문 벡터, bj는 얼라인먼트 벡터를 나타낸다. 상기 수학식 7에 도시된 예에서와 같이, 질문 문장의 히든 상태 qj를 정규화하여 얼라인먼트 벡터 bj를 구하고, 질문 문장의 히든 상태 qj와 얼라인먼트 벡터 bj를 곱하여 질문 벡터 q를 생성할 수 있다.
셀프 매칭 어텐션부(340)는, 문단의 인코딩된 히든 상태들의 시퀀스를 대상으로 얼라인먼트 스코어를 구할 수 있다. 그리고, 인코딩된 히든 상태 벡터와 얼라인먼트 스코어를 곱하여 문맥 벡터를 생성할 수 있다. 하기 수학식 8은 문맥 벡터가 생성되는 예를 나타낸 것이다.
Figure pat00012
수학식 8에서, ct는 문맥 벡터를 나타내고, ai t는 얼라인먼트 스코어를 나타낸다. 수학식 8에 나타난 바와 같이, 문단의 인코딩된 히든 상태 시퀀스가 입력되면, 시퀀스 내 단어들의 인코딩된 히든 상태 uj P 및 ut P 를 이용하여 얼라인먼트 스코어를 구할 수 있다. 여기서, 시퀀스는 문장 단위 또는 소정 개수 단위의 데이터로 구분될 수 있다. 그리고, 입력된 히든 상태 시퀀스와 얼라인먼트 스코어를 곱하여, 문맥 벡터 ct를 산출할 수 있다.
모델링 벡터 생성부(350)는, 문단의 인코딩된 히든 상태와 문멕 벡터를 연결하고, 이를 기초로 모델링 벡터를 생성할 수 있다. 일 예로, 수학식 9는 모델링 벡터를 산출하기 위한 수식을 나타낸 것이다.
Figure 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를 이용하여 모델링 벡터를 생성하는 것도 가능하다.
정답 위치 예측부(360)는, 질문 벡터 및 모델링 벡터를 이용하여 문단내 입력된 질문에 대한 정답의 위치를 예측할 수 있다. 이때, 정답 위치 예측부(360)의 출력 결과는 정답의 시작 위치 및 종료 위치를 포함할 수 있다. 하기 수학식 10은 정답 위치를 산출하는 예를 수식으로 나타낸 것이다.
Figure pat00014
상기 수학식 10에서, Pstart(t)는 정답의 시작 위치를 나타내고, Pend(t)는 정답의 종료 위치를 나타낸다.
정답의 시작 위치 및 종료 위치 사이의 길이는 기 정의된 최대 길이 이하로 제한될 수 있다. 여기서, 최대 길이는, 문자 또는 단어의 개수를 나타낼 수 있다. 예컨대, 최대 길이가 50개의 단어를 나타내는 경우, 정답의 시작 위치 및 종료 위치 사이의 길이는 50 형태소로 제한될 수 있다.
또한, 정답의 시작 위치 및 종료 위치 사이의 최소 길이가 정의될 수도 있다. 예컨대, 정답의 시작 위치 및 종료 위치 사이의 거리가 정답의 최소 길이보다 짧은 경우, 정답의 시작 위치 또는 정답의 종료 위치 중 적어도 하나가 인접 단어까지 확장되도록 보정할 수 있다.
정답 예측이 단어 단위로 수행되고, 단어가 형태소 단위로 정의되는 경우, 정답이 완결형으로 종결되지 않는 문제점이 발생할 수 있다. 예컨대, 탐색된 시작 위치 및 종료 위치에 걸친 단어가 자립 형태소로 종결되지 않는 경우, 정답이 완결형으로 종결되지 않는 것으로 판단될 수 있다. 상기와 같은 문제를 해결하기 위해, 정답 예측을 수행한 이후, 최종 정답을 출력할 때에는, 정답의 종결어미에 자립 형태소가 위치하도록 정답의 위치를 보정하거나, 형태소와 다른 단위(예컨대, 공백, 특수 문자 또는 문장)로 정답의 위치를 보정할 수 있다. 또는, 예측된 결과를 이용하여 원본 문단에서 정답을 찾아 출력하되, 출력되는 정답은, 형태소 단위에 국한되지 않도록 설정할 수도 있다.
또는, 기 정의된 종결 어미를 추가하여 정답을 출력할 수도 있다.
도 4는 본 발명에 따른 MRC 기반의 질의 응답 방법을 나타낸 흐름도이다.
도 4를 참조하면, 먼저, 자질 벡터 생성부(310)를 통해, 질문 및 문단에 대한 자질 벡터가 생성될 수 있다(S410). 이때, 질문 및 문단의 학습 단위는 단어 단위일 수 있고, 이에 따라, 각 단어별 자질 벡터가 생성될 수 있다. 각 단어에 대한 자질 벡터는 적어도 하나의 자질에 의해 산출된 값을 연결함으로써 생성될 수 있다.
질문 및 문단에 대한 자질 벡터가 생성되면, 생성된 자질 벡터를 이용하여, 질문 및 문단의 히든 상태를 인코딩할 수 있다(S420). 질문의 히든 상태는 문장 단위로 인코딩될 수 있다. 구체적으로, 질문에 포함된 단어들의 히든 상태를 문장 단위로 결합함으로써, 질문 문장에 대한 히든 상태를 생성할 수 있다.
문단의 히든 상태는 단어 단위로 인코딩될 수 있다. 구체적으로, 각 단어의 자질 벡터를 양방향 RNN에 입력함으로써, 각 단어의 히든 상태를 획득할 수 있다. 이때, 양방향 RNN은 LSTM GRU 또는 SRU 중 적어도 하나의 메모리 블록을 포함하여 구성될 수 있다.
질문 문장에 대한 히든 상태가 인코딩되면, 질문 문장의 히든 상태를 기초로 질문 벡터를 생성할 수 있다(S430). 구체적으로, 질문 문장에 관한 얼라인먼트 벡터와 질문 문장의 히든 상태를 곱함으로써 질문 벡터를 생성할 수 있다.
문단 단어에 대한 히든 상태가 인코딩되면, 각 단어들의 히든 상태를 기초로 문맥 벡터를 생성할 수 있다(S440). 문맥 벡터는 문단에 포함된 단어들 사이의 유사성을 기초로 어텐션 가중치를 조절하는 셀프 매칭 어텐션 과정을 통해 생성될 수 있다.
이후, 각 단어들의 히든 상태와 문맥 벡터를 기초로 각 단어별 모델링 벡터를 생성하고(S450), 질문 벡터 및 모델링 벡터를 기초로 정답 위치를 예측할 수 있다(S460). 예측된 정답 위치는 최소 길이 또는 최대 길이에 따라, 수정될 수 있다. 또한, 학습 단위와 동일한 단위로 정답 위치를 예측하되, 출력되는 정답은 원본 문서에서
이상 설명한 바와 같이, 본 발명에 따른 기계 독해에 기초한 질의 응답 장치는 RNN 및 셀프 매칭 네트워크에 기초하여 문단 및 질문을 학습하게 된다. 이때, SRU로 구성된 RNN 및 셀프 매칭 네트워크(Self-Matching Network)가 적용된 딥 러닝 모델을, S2-Net 라 호칭할 수도 있다.
MRC에 기반한 딥 러닝 모델은 질문 및 정답 데이터 셋을 포함할 수 있다. 일 예로, 도 5는 딥 러닝 모델에 적용되는 한국어 기계 독해 데이터 셋을 예시한 도면이다.
기계 독해를 위한 데이터 셋은 JSON (JavaScript Object Notation) 포맷을 따를 수 있다. 도 5에서, set은 데이터 셋 전체를 포함하는 키를 나타내고, Version은 데이터 셋의 현재 버전을 나타낸다. Version은 문자(string)로 표시될 수 있다.
Data는 현재 데이터 셋에 포함된 모든 데이터들을 포함하는 리스트를 나타낸다. 일 예로, title은 문서의 제목을, paragraphs는 문서 제목에 대항하는 문단, 질문 및 정답 정보를 포함하는 리스트를 나타낸다.
context_original은, 실제 텍스트를 나타낸다. dp는 context_original에 해당하는 텍스트의 의존 구문 분석 결과를 포함하는 리스트를 나타내고, qas는 해당 문서에 관한 질문과 정답 정보를 포함하는 리스트를 나타낸다. 일 예로, dp는 의존관계를 나타내는 head(중심어)와 mods(수식어), 해당 관계의 레이블 정보를 나타내는 label, 각 어절의 id, text 및 weight를 포함할 수 있다. 이때, weight는 의존 관계에 대한 가중치 결과를 나타낸다. qas는 질문의 실제 문자열인 question_original,질문의 id, 질문의 의존 구문 분석 결과인 question_에 리스트, 실제 질문에 대한 형태소 결과를 포함하는 question,그에 따른 정답 정보를 포함하는 answer key를 포함할 수 있다.
질문에 대응하는 정답 answer와 관련하여, 정답의 실제 문자열인 text_original, 정답의 형태소 정보인 text 리스트, 정답이 문서 내 등장하는 시작과 끝의 인덱스 정보를 나타내는 answer_start 및 answer_end를 포함할 수 있다.
이상, 도 1 내지 도 5를 통해 설명한 설명한 기계 독해에 기반한 질의 응답 장치의 구성 및 이들의 동작 순서는 도시된 예에 한정되지 않는다. 일 예로, 도시된 시스템 또는 단계 중 일부가 생략된 채 본 발명이 수행되거나, 도시되지 않은 구성요소를 추가하여 본 발명이 수행될 수도 있다.
또한, 본 발명에 따른 학습 시스템 및 질의 응답 시스템은, 서두에 언급한 바와 같이, 하드웨어, 소프트웨어 또는 이들의 조합에 의해 구현될 수 있다. 예컨대, 상기 시스템들은, 디지털 연산이 가능한 컴퓨팅 디바이스들(예컨대, PC, 스마트폰, PDA, 태블릿 PC, 서버, 클라우드 컴퓨터 등)에 의해 구현될 수 있다. 아울러, 이들 컴퓨팅 디바이스들을 구성하는 소프트웨어 또는 하드웨어 중 적어도 하나를 기초로, 상기 시스템을 구현할 수 있다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
310 : 자질 벡터 생성부
320 : 히든 상태 인코딩부
330 : 질문 벡터 생성부
340 : 셀프 매칭 어텐션부
350 : 모델링 벡터 생성부
360 : 정답 위치 출력부

Claims (20)

  1. 질문 및 문단에 관한 자질 벡터를 생성하는 단계;
    상기 질문의 자질 벡터를 기초로, 질문의 히든 상태를 인코딩하는 단계;
    상기 질문의 히든 상태를 기초로, 질문 벡터를 생성하는 단계;
    상기 문단의 자질 벡터를 기초로 문단의 히든 상태를 인코딩하는 단계;
    상기 문단의 히든 상태를 기초로, 모델링 벡터를 생성하는 단계; 및
    상기 질문 벡터 및 상기 모델링 벡터를 기초로, 정답의 위치를 예측하는 단계를 포함하는, 기계 독해에 기초한 질의 응답 방법.
  2. 제1 항에 있어서,
    상기 자질 벡터는 단어 단위로 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
  3. 제2 항에 있어서,
    상기 질문의 히든 상태는, 문장 단위로 인코딩되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
  4. 제2 항에 있어서,
    상기 문단의 히든 상태는 단어 단위로 인코딩되고, 단어의 히든 상태는 상기 단어의 자질 벡터를 양방향 RNN(Recurrent Neural Network)에 입력함에 따라 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
  5. 제4 항에 있어서,
    상기 양방향 RNN은 SRU (Simple Recurrent Unit)을 포함하여 구성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
  6. 제4 항에 있어서,
    상기 모델링 벡터는, 상기 문단의 히든 상태 시퀀스 열(sequence)에 관한 문맥 정보에 기초하여 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
  7. 제2 항에 있어서,
    상기 자질 벡터는, 단어에 적어도 하나의 자질을 이용함으로써 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
  8. 제7 항에 있어서,
    상기 자질은, 워드 임베딩, 음절 임베딩, 정확한 매치, 토큰 자질 및 정렬된 질문 표현 중 적어도 하나를 포함하고,
    상기 질문 및 상기 문단에 적용되는 자질의 개수 및 종류는 동일한 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
  9. 제1 항에 있어서,
    상기 정답 위치는 정답의 시작 위치 및 정답의 종료 위치를 포함하는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
  10. 제9 항에 있어서,
    상기 정답 위치에 대응하는 정답이 완결형으로 종결되는지 여부에 따라, 상기 정답 위치가 보정되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 방법.
  11. 질문 및 문단에 관한 자질 벡터를 생성하는 자질 벡터 생성부,
    상기 질문의 자질 벡터를 기초로, 질문의 히든 상태를 인코딩하고, 상기 문단의 자질 벡터를 기초로 문단의 히든 상태를 인코딩하는 히든 상태 인코딩부;
    상기 질문의 히든 상태를 기초로, 질문 벡터를 생성하는 질문 벡터 생성부;
    상기 문단의 히든 상태를 기초로, 모델링 벡터를 생성하는 모델링 벡터 생성부; 및
    상기 질문 벡터 및 상기 모델링 벡터를 기초로, 정답의 위치를 예측하는 정답 위치 예측부를 포함하는, 기계 독해에 기초한 질의 응답 장치
  12. 제11 항에 있어서,
    상기 자질 벡터는 단어 단위로 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
  13. 제12 항에 있어서,
    상기 히든 상태 인코딩부는, 문장 단위로 상기 질문의 히든 상태를 인코딩하는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
  14. 제12 항에 있어서,
    상기 히든 상태 인코딩부는, 단어 단위로 상기 문단의 히든 상태를 인코딩하고,
    단어의 히든 상태는 상기 단어의 자질 벡터를 양방향 RNN(Recurrent Neural Network)에 입력함에 따라 생성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
  15. 제14 항에 있어서,
    상기 양방향 RNN은 SRU (Simple Recurrent Unit)을 포함하여 구성되는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
  16. 제14 항에 있어서,
    상기 모델링 벡터 생성부는, 상기 문단의 히든 상태 시퀀스 열(sequence)에 관한 문맥 정보에 기초하여 상기 모델링 벡터를 생성하는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
  17. 제12 항에 있어서,
    상기 자질 벡터 생성부는, 단어에 적어도 하나의 자질을 적용하여 상기 자질 벡터를 생성하는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
  18. 제17 항에 있어서,
    상기 자질은, 워드 임베딩, 음절 임베딩, 정확한 매치, 토큰 자질 및 정렬된 질문 표현 중 적어도 하나를 포함하고,
    상기 질문 및 상기 문단에 적용되는 자질의 개수 및 종류는 동일한 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
  19. 제11 항에 있어서,
    상기 정답 위치는 정답의 시작 위치 및 정답의 종료 위치를 포함하는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
  20. 제19 항에 있어서,
    상기 정답 위치 예측부는, 상기 정답 위치에 대응하는 정답이 완결형으로 종결되는지 여부에 따라, 상기 정답 위치를 보정하는 것을 특징으로 하는, 기계 독해에 기초한 질의 응답 장치.
KR1020180021696A 2018-02-23 2018-02-23 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법 KR102116518B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180021696A KR102116518B1 (ko) 2018-02-23 2018-02-23 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180021696A KR102116518B1 (ko) 2018-02-23 2018-02-23 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법

Publications (2)

Publication Number Publication Date
KR20190101567A true KR20190101567A (ko) 2019-09-02
KR102116518B1 KR102116518B1 (ko) 2020-05-28

Family

ID=67951417

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180021696A KR102116518B1 (ko) 2018-02-23 2018-02-23 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법

Country Status (1)

Country Link
KR (1) KR102116518B1 (ko)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858879A (zh) * 2020-06-18 2020-10-30 达而观信息科技(上海)有限公司 一种基于机器阅读理解的问答方法及系统、存储介质、计算机设备
CN112464643A (zh) * 2020-11-26 2021-03-09 广州视源电子科技股份有限公司 一种机器阅读理解方法、装置、设备及存储介质
KR102231365B1 (ko) * 2019-11-20 2021-03-24 재단법인 한국특허정보원 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법, 서버, 및 기록매체
CN112966499A (zh) * 2021-03-17 2021-06-15 中山大学 一种基于自适应融合多注意力网络的问题和答案匹配方法
CN112966474A (zh) * 2021-02-20 2021-06-15 中央民族大学 一种基于多级注意力机制的藏文机器阅读理解方法
KR20210076871A (ko) 2019-12-16 2021-06-24 부산대학교 산학협력단 테이블 중심의 웹 문서를 위한 기계독해 시스템 및 방법
CN113836283A (zh) * 2021-09-24 2021-12-24 上海金仕达软件科技有限公司 答案的生成方法、装置、电子设备及存储介质
CN113836893A (zh) * 2021-09-14 2021-12-24 北京理工大学 一种融入多个段落信息的抽取式机器阅读理解方法
KR102379660B1 (ko) * 2020-11-30 2022-03-29 주식회사 티맥스에이아이 딥러닝 기반 의미역 분석을 활용하는 방법
KR20220046987A (ko) * 2020-10-08 2022-04-15 주식회사 엔씨소프트 문단 내 객체 탐지 방법 및 장치
KR20220046998A (ko) * 2020-10-08 2022-04-15 주식회사 엔씨소프트 단락의 순위화를 위한 방법 및 장치
KR20220078083A (ko) * 2020-12-03 2022-06-10 주식회사 포티투마루 적대적 학습 기법 기반의 선다형 qa 모델의 강화 방법 및 장치
CN114757184A (zh) * 2022-04-11 2022-07-15 中国航空综合技术研究所 实现航空领域知识问答的方法和系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240052511A (ko) 2022-10-14 2024-04-23 고려대학교 산학협력단 숫자 연산이 가능한 기계독해기반 질의응답 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110038474A (ko) * 2009-10-08 2011-04-14 한국전자통신연구원 문장경계 인식 장치 및 방법
KR20150041908A (ko) * 2013-10-10 2015-04-20 포항공과대학교 산학협력단 정답 유형 자동 분류 방법 및 장치, 이를 이용한 질의 응답 시스템
JP2017211785A (ja) * 2016-05-24 2017-11-30 日本電信電話株式会社 質問応答生成装置、方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110038474A (ko) * 2009-10-08 2011-04-14 한국전자통신연구원 문장경계 인식 장치 및 방법
KR20150041908A (ko) * 2013-10-10 2015-04-20 포항공과대학교 산학협력단 정답 유형 자동 분류 방법 및 장치, 이를 이용한 질의 응답 시스템
JP2017211785A (ja) * 2016-05-24 2017-11-30 日本電信電話株式会社 質問応答生成装置、方法、及びプログラム

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 (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102231365B1 (ko) * 2019-11-20 2021-03-24 재단법인 한국특허정보원 특허분야를 위한 기계독해기술 기반 질의응답 서비스 제공 방법, 서버, 및 기록매체
KR20210076871A (ko) 2019-12-16 2021-06-24 부산대학교 산학협력단 테이블 중심의 웹 문서를 위한 기계독해 시스템 및 방법
CN111858879B (zh) * 2020-06-18 2024-04-05 达观数据有限公司 一种基于机器阅读理解的问答方法及系统、存储介质、计算机设备
CN111858879A (zh) * 2020-06-18 2020-10-30 达而观信息科技(上海)有限公司 一种基于机器阅读理解的问答方法及系统、存储介质、计算机设备
KR20220046987A (ko) * 2020-10-08 2022-04-15 주식회사 엔씨소프트 문단 내 객체 탐지 방법 및 장치
KR20220046998A (ko) * 2020-10-08 2022-04-15 주식회사 엔씨소프트 단락의 순위화를 위한 방법 및 장치
CN112464643A (zh) * 2020-11-26 2021-03-09 广州视源电子科技股份有限公司 一种机器阅读理解方法、装置、设备及存储介质
KR102379660B1 (ko) * 2020-11-30 2022-03-29 주식회사 티맥스에이아이 딥러닝 기반 의미역 분석을 활용하는 방법
KR20220078083A (ko) * 2020-12-03 2022-06-10 주식회사 포티투마루 적대적 학습 기법 기반의 선다형 qa 모델의 강화 방법 및 장치
CN112966474A (zh) * 2021-02-20 2021-06-15 中央民族大学 一种基于多级注意力机制的藏文机器阅读理解方法
CN112966474B (zh) * 2021-02-20 2024-05-24 中央民族大学 一种基于多级注意力机制的藏文机器阅读理解方法
CN112966499A (zh) * 2021-03-17 2021-06-15 中山大学 一种基于自适应融合多注意力网络的问题和答案匹配方法
CN113836893A (zh) * 2021-09-14 2021-12-24 北京理工大学 一种融入多个段落信息的抽取式机器阅读理解方法
CN113836283A (zh) * 2021-09-24 2021-12-24 上海金仕达软件科技有限公司 答案的生成方法、装置、电子设备及存储介质
CN113836283B (zh) * 2021-09-24 2024-04-12 上海金仕达软件科技股份有限公司 答案的生成方法、装置、电子设备及存储介质
CN114757184A (zh) * 2022-04-11 2022-07-15 中国航空综合技术研究所 实现航空领域知识问答的方法和系统
CN114757184B (zh) * 2022-04-11 2023-11-10 中国航空综合技术研究所 实现航空领域知识问答的方法和系统

Also Published As

Publication number Publication date
KR102116518B1 (ko) 2020-05-28

Similar Documents

Publication Publication Date Title
KR102116518B1 (ko) 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법
US11934791B2 (en) On-device projection neural networks for natural language understanding
Kamath et al. Deep learning for NLP and speech recognition
CN111368996B (zh) 可传递自然语言表示的重新训练投影网络
US11288295B2 (en) Utilizing word embeddings for term matching in question answering systems
CN112487182B (zh) 文本处理模型的训练方法、文本处理方法及装置
Kirov et al. Recurrent neural networks in linguistic theory: Revisiting Pinker and Prince (1988) and the past tense debate
CN108628823B (zh) 结合注意力机制和多任务协同训练的命名实体识别方法
CN111859960B (zh) 基于知识蒸馏的语义匹配方法、装置、计算机设备和介质
US11972365B2 (en) Question responding apparatus, question responding method and program
US6684201B1 (en) Linguistic disambiguation system and method using string-based pattern training to learn to resolve ambiguity sites
Beysolow Applied natural language processing with python
KR20200129639A (ko) 모델 학습 방법 및 장치
JP7315065B2 (ja) 質問生成装置、質問生成方法及びプログラム
CN111354333B (zh) 一种基于自注意力的汉语韵律层级预测方法及系统
KR102315830B1 (ko) 반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법
CN113705313A (zh) 文本识别方法、装置、设备及介质
CN108536735B (zh) 基于多通道自编码器的多模态词汇表示方法与系统
KR20230016794A (ko) 언어 모델을 이용한 데이터 생성 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
CN113221553A (zh) 一种文本处理方法、装置、设备以及可读存储介质
Ghatak et al. Recurrent neural networks (RNN) or sequence models
CN116362242A (zh) 一种小样本槽值提取方法、装置、设备及存储介质
Lamons et al. Python Deep Learning Projects: 9 projects demystifying neural network and deep learning models for building intelligent systems
CN114519353A (zh) 模型的训练方法、情感消息生成方法和装置、设备、介质
Goyal et al. Unfolding recurrent neural networks

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