(3강) Generation-based MRC
생성기반 기계독해
생성기반 기계 독해를 풀수 있는지 알아본다.
전처리 -> 학습 -> 답을 얻어내는 단계
[Reference]
1. Generation-based MRC
1.1. 문제 정의
주어진 지문과 질의를 보고, 답변을 생성 -> 생성 문제

1.2. 평가방법
Extraction based MRC와 동일한 방법으로 평가도 가능 하지만 ROUGE나 BLEU를 활용하여 평가함
1.3. Overview

1.4. Generation-Based vs Extraction-Based
- MRC 모델 구조 - Seq2Seq PLM 구조 vs PLM + Classifier 구조 
 
- Loss계산을 위한 답의 형태 / Prediction의 형태 - Free-form text 형태 vs 지문 내 답의 위치 
 

2. Pre-processing
2.1. 입력 표현 - 데이터 예시

2.2. 토큰화
WordPiece Tokenizer를 사용
- 인덱스로 바뀐 질문을 보통 - input_ids(or- input_token_ids)로 부름
- 모델의 기본 입력은 - input_ids만 필요하나, 그 외 추가적인 정보가 필요함- special token, attention mask 
 
2.3. Special Token
학습 시에만 사용되며 단어 자체의 의미는 가지지 않는 특별한 토큰
- SOS(Start of Sentence), EOS(End of Sentence), CLS, SEP, PAD, UNK... 
- Extraction-based MRD: CLS, SEP, PAD 
- Generation-based MRC: PAD, 자연어를 통해 정해진 텍스트 포맷으로 데이터를 생성 

2.4. additional information
- Attention mask - 어텐션 연산을 수행할지 결정 
 
- Token type ids - BERT와 달리 BART에서는 입력 시퀸스에 대한 구분이 없어 - token_type_ids가 존재하지않음 따라서 입력에- token_type_ids가 들어가지 않음.
 

2.5. 출력표현
Extraction은 단지 토큰의 위치를 출력하는 것이 목표인 반면 Generation의 경우 실제 텍스트를 생성하는 과제를 수행하게 된다.

3. Model
3.1. BART
기계독해, 기계 번역, 요약, 대화 등 seq2seq 문제의 pre-training을 위한 denoising autoencoder

- noise를 추가하고 그 부분을 맞추는 방법 
3.2. BART Encoder & Decoder
- Encoder: BERT 처럼 Bi-directional 
- Decoder: GPT 처럼 uni-directional(auto-regressive) 
3.3. Pre-training BART

- 텍스트에 노이즈를 주고 원래 텍스트를 복구하는 문제를 푸는 방식으로 Pre-Training을 진행하게 된다. 
4. Post-processing
4.1. Searching

- 일반적으로 Beam Search와 유사한 방식을 사용한다. 
실습코드 Link
Last updated
Was this helpful?

