-
Notifications
You must be signed in to change notification settings - Fork 0
MRC 2강
Kim Yeonju edited this page Oct 13, 2021
·
9 revisions
- 본인이 생각하는 핵심부문을 요약하기
- 의문점, 궁금했던 점도 적기
- 쓸만한 실습코드 있으면 여기다가 붙여넣기
Improved Baseline은 Embedding Layer을 resize하지 않아도 되는 간편함이 있다.
~~~~
-
truncation="only_second"
,max_length
,stride
- context의 길이는 max_seq_length만큼 자르고, 서로 doc_stride만큼 겹치게 slice (len(
offset_mapping)
= 384
- context의 길이는 max_seq_length만큼 자르고, 서로 doc_stride만큼 겹치게 slice (len(
-
offset mapping
: sub token의 (start, end) -
overflow_to_sample_mapping
: 몇 번째 example인지 -
token_start_index
,token_end_index
: answer가 현재 span(max seq length만큼 잘린 context) 을 벗어나면 0 (cls index) span 내부에 있다면 각각 answer의 시작점과 끝점으로 옮김
Improved Baseline은 Embedding Layer을 건드리지 않기 때문에, 기존에 있는 hidden features를 그대로 사용함으로서, initiialized된 special token을 활용하지 않는 장점이 있다.
Extraction-based MRC | Generation-based MRC | |
---|---|---|
접근 | 지문 내에 존재하는 정답의 Start point/End point를 파악 | 질문에 대한 정답 생성 |
평가 방법 | EM(Exact Match), F1 score | ROUGE-L, BLEU (Extraction-based MRC와 같은 평가 방법을 사용할 수 있지만 일반적인 생성 문제에 비슷하게 접근하기 위해 ROUGE-L, BLEU를 사용하기도 한다.) |
정답 생성 | 모델 output을 Score로 바꾸고 이를 Start/End point로 변환하는 작업 추가 | 모델에서 바로 정답 추출 |
모델 구조 | Encoder + Classifier | Seq2seq(Encoder-Decoder) |
Prediction | 지문 내 답이 위치 | Free-form text |
Loss | 위치에 대한 확률 분포를 Negative Log Likelihood로 계산하여 접근 | 실제 text를 decoding할 때, teacher forcing과 같은 방식으로 학습 |
Special Token | [CLS], [SEP], [PAD] 등 | 정해진 텍스트 포맷으로 생성하여 사용한다, (e.g. question, context) |
token_type_ids | BERT를 주로 사용하며, token_type_ids 존재 | BART를 주로 사용하며, token_type_ids가 존재하지 않는다. |
post-preprocessing | score 순으로 top-k -> 불가능한 조합 삭제 -> score가 가장 높은 조합 예측 | Beam Search |