본문 바로가기

Programming/(Python)(Ubuntu)

Self-Attention Architectures for answer-Agnostic Neural Question /BERT Question Generator 논문 정리

BERT-QG, BERT Question generator

BERT-SQG, BERT-Sequence Question generation

BERT-HISQG, BERT-Highlight Sequential Question Generation

참고 : https://github.com/teacherpeterpan/Question-Generation-Paper-List
논문 : Self-Attention Architectures for Answer-Agnostic Neural Question

1. Introduction

 

MRC(Machine Reading Compension) 커뮤니티는 자연 문장에 포함된 의미를 기계가 올바르게 나타낼 수 있도록 하는 모델과 알고리즘 개발에 초점을 맞추고, 질문에 대한 답을 제공하고, 요약을 생성하며, 주어진 관련 질문을 생성하는 등 유용하고 가치 있는 하류 작업을 수행할 수 있도록 합니다.

 

최근 Self-Attention에 기초한 신경 구조는 풍부한 데이터를 이용할 수 있는 언어 모델링과 기계 번역과 같은 몇 가지 작업에서 예술의 상태에 대한 상당한 개선을 얻었습니다. 그러나 상대적으로 더 부족한 데이터 세트를 이용할 수 있는 문제에 대해서는 철저히 평가되지 않았습니다. 따라서 우리 텍스트 조각이 주어지는 뉴럴 질문 생성(Neural Question Generation, NQG) 과제에 트랜스 포머의 적용을 조사하며, 그 모델에 관련되고 있는 질문을 생성하기 위해 모델을 호출합니다.

 

질문 생성(QG)은 기계 판독의 맥락 안에서 활발한 연구 분야입니다. 그것은 주어진 주제에 대한 이해도를 평가할 때 인간의 행동과 일치합니다. 전문가는 그들의 능력을 평가하기 위해 다른 사람들에게 관련 질문을 할 수 있습니다. 그것의 잠재적 애플리케이션은 정보 검색, 채팅 봇, AI 지원 학습 기술과 같은 광범위한 시나리오를 다룹니다. 더욱이, 그것은 질의응답 시스템이라는 맥락에서 데이터 증대를 위한 전략으로 사용될 수 있습니다.

 

QG 과제는 원래 규칙 기반 시스템(Rus et al., 2010)을 사용하여 다루어졌으며, 연구 커뮤니티는 최근 몇 년간 신경 접근방식으로 전환했습니다. 가장 인기 있는 감소에서 과제는 응답 인식입니다. 즉, 소스 텍스트 내의 목표 답은 QG 모델에 대한 입력으로 알려져 있습니다.(Zhu 등, 2017). 이 시나리오에 따라 송 외 연구진(2017년)은 질문 생성과 답변을 위해 공동으로 훈련된 생성 모델을 제안했습니다. 최근에는 자오 외 연구진(2018년)이 게이트 Self-Attention encoder 및 maxout pointer decoder을 이용해 최첨단 결과를 얻었습니다. 이러한 모든 작업에는 SQuAD(Rajpurkar et al., 2016) 질문 응답 데이터 세트가 사용되므로 제공된 답변 범위를 직접 활용합니다. 반대로, 답-무응답 시나리오는 질문을 생성하기 전에 목표 답을 아는 제약조건을 완화시킵니다. Du 등(2017)은 global attention 메커니즘을 가진 RNN encoder-decoder 아키텍처를 기반으로 시퀀스 접근에 대한 end to end Sequence를 제안했습니다. 

 

답변 인식으로 NQG를 캐스팅하는 것은 분명 목적 적합하고 유용하지만 (예를 들어, 질문 응답 데이터에 대한 data-augmentation 전략으로서), 그러한 제약 없이 질문을 생성할 수 있는 능력은 매우 매력적입니다. 실제로 응답 선거 구성요소에 대한 의존성을 제거하면 명명된 실체에 대한 편견을 감소시켜 모델의 자유도를 높일 수 있습니다. 이렇게 하면 작업이 더 어렵지만, 최종 사용자와 자연스러운 상호작용이 필요한 애플리케이션 등 특정 애플리케이션에 잠재적으로 더 유용할 수 있습니다. 이 작업에서는 Du 등(2017년)에 원래 정의된 작업을 따릅니다. 즉, 특정 답에 기초하여 Generation을 구속하는 것을 피하며,  end to end, 응답에 구애받지 않는 시나리오에서 효과적으로 운영됩니다.

 

트랜스포머를 NQG 과제에 적응시키기 위해, 우리는 복사 메커니즘, 자리 표시자 및 상황별 단어 포함으로 기본 아키텍처를 보완합니다. 그러한 메커니즘은 데이터 스카우트 과제의 성능에 더 영향을 미칠 가능성이 더 높은 어휘를 처리하는데 유용합니다. 우리는 이러한 메커니즘이 최첨단 시스템에 대한 개선을 보고하면서 Self-Attention에 기반한 아키텍처에 미치는 영향을 연구합니다.

 

2. Architecture

Neural sequence-to-sequence 모델은 종종 encoder-decoder 아키텍처에 의존합니다. 실제로, 재귀신경망(RNNs)은 요약 및 번역과 같은 자연어 처리 작업에 대한 최신 결과를 일관되게 제공했습니다. RNN 모델의 단점은 병렬주의에 내재된 장애물과 그에 따른 계산 비용뿐만 아니라 장거리 의존성 취급의 어려움도 포함합니다. 최근 제안된 트랜스포머 모델은 반복 게이트에 의존하지 않음으로써 이러한 문제를 극복하면서 여러 과제에 매우 효과적인 것으로 입증되었습니다. 이는 Self-Attention 메커니즘에 기초한 대칭 Encoder와 Decoder를 가진 sequence-to-sequence 모델이라고 간단히 설명할 수 있습니다. 자세한 설명은 (e.g. "The annotated Transformer").

 

구현 시,

  • N=2(numer of blocks)
  • d model = (hidden state dimension)
  • df = 512(Position-wise feed-forward networks dimension)
  • h = 2(number of attention heads)

등 보다 작은 아키텍처를 사용하였습니다. Vaswani 등이 제안한 초기 하이퍼 파라미터로 실행한 실험은 일관되고 수치적으로 유사한 결과를 얻었습니다. 실험 내내, 우리는 명명된 엔티티 인식(NER), POS(Part-of-Speech) 태그 지정 및 토큰화를 위해 spaCy 2.0 라이브러리를 사용했습니다.

 

3. Experiments

 

실험에서, 우리는 NQG 과제에 Vanilla Transformer 아키텍처를 적용할 때 낮은 성능을 관찰했습니다. 따라서 우리는 Transformer 아키텍처 내에서 여러 메카니즘이 어떻게 이용될 수 있는지 그리고 그것들이 그 과제의 성능에 어떻게 영향을 미치는지 조사합니다. 다음에서 우리는 기본 Transformer 아키텍처를 증강할 때의 이점에 대해 설명하고 평가합니다.

  • a copying mechanism ( 복사 메커니즘)
  • a placeholding strategy (자리 잡기 전략)
  • and, contextualized word embeddings (문맥화된 단어 삽입)

 

5. Conclusion and Future Work

 

우리는 Neural Question Generation에 대한 Transformer 아키텍처의 adaptation에 관한 예비 연구를 기술햇습니다. 획득한 결과는 복사 메커니즘, 위치 고정, 상황별 내장 등 상호 보완적인 보조 기법의 기여를 보여줍니다. 최상의 성능은 세 가지 메커니즘을 모두 사용할 때 얻어지며, 현재 첨단 접근법에 비해 거의 하나의 BLEU4 포인트(ROUGE-L의 경우 0.5점)가 개선됩니다. 또한 질적 평가는 관련성과 응답성의 측면에서 개선을 나타냈습니다. 우리는 제안된 접근방식을 다른 QA 데이터 셋으로 확장하고 BERT와 같은 사전 훈련된 언어 모델을 사용하여 도입된 메커니즘의 일관성을 평가하고 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

'Programming > (Python)(Ubuntu)' 카테고리의 다른 글

BART 논문 번역  (2) 2020.03.16
GPT-2 BERT 이용 문장 생성  (0) 2020.03.13
BERT  (0) 2020.03.07
Transformer 및 Torchtext를 사용한 Seq2Seq 모델  (0) 2020.03.02
Seq2Seq 알고리즘 + Attention 코드  (0) 2020.02.27