(3강) Generation-based MRC
Last updated
Last updated
생성기반 기계독해
생성기반 기계 독해를 풀수 있는지 알아본다.
전처리 -> 학습 -> 답을 얻어내는 단계
[Reference]
주어진 지문과 질의를 보고, 답변을 생성 -> 생성 문제
Extraction based MRC와 동일한 방법으로 평가도 가능 하지만 ROUGE나 BLEU를 활용하여 평가함
MRC 모델 구조
Seq2Seq PLM 구조 vs PLM + Classifier 구조
Loss계산을 위한 답의 형태 / Prediction의 형태
Free-form text 형태 vs 지문 내 답의 위치
WordPiece Tokenizer를 사용
인덱스로 바뀐 질문을 보통 input_ids
(or input_token_ids
)로 부름
모델의 기본 입력은 input_ids
만 필요하나, 그 외 추가적인 정보가 필요함
special token, attention mask
학습 시에만 사용되며 단어 자체의 의미는 가지지 않는 특별한 토큰
SOS(Start of Sentence), EOS(End of Sentence), CLS, SEP, PAD, UNK...
Extraction-based MRD: CLS, SEP, PAD
Generation-based MRC: PAD, 자연어를 통해 정해진 텍스트 포맷으로 데이터를 생성
Attention mask
어텐션 연산을 수행할지 결정
Token type ids
BERT와 달리 BART에서는 입력 시퀸스에 대한 구분이 없어 token_type_ids
가 존재하지않음 따라서 입력에 token_type_ids
가 들어가지 않음.
Extraction은 단지 토큰의 위치를 출력하는 것이 목표인 반면 Generation의 경우 실제 텍스트를 생성하는 과제를 수행하게 된다.
기계독해, 기계 번역, 요약, 대화 등 seq2seq 문제의 pre-training을 위한 denoising autoencoder
noise를 추가하고 그 부분을 맞추는 방법
Encoder: BERT 처럼 Bi-directional
Decoder: GPT 처럼 uni-directional(auto-regressive)
텍스트에 노이즈를 주고 원래 텍스트를 복구하는 문제를 푸는 방식으로 Pre-Training을 진행하게 된다.
일반적으로 Beam Search와 유사한 방식을 사용한다.