문제 정의
질문의 답변이 항상 주어진 지문 내에 span으로 존재
HuggingFace datasets에서 관련 dataset 다운로드 가능
F1 Score
nervous breakdown
이 유일한 정답이고, 예측이 nervous
일 때 F1 score 값은?
breakdown
token이 ground tokens에 포함되므로 2로 나눔
Overview
Special Tokens
[CLS], [SEP] token 사용
[CLS] Question tokens [SEP] Context tokens 형태
Attention Mask
Token Type IDs
모델 출력 값
Fine-tuning BERT
불가능한 답 제거하기
최적의 답안 찾기
데이터 및 metric 로드
from datasets import load_dataset
from datasets import load_metric
datasets = load_dataset("squad_kor_v1")
metric = load_metric('squad')
prepare_train_features
주어진 텍스트를 토크나이징
이 때 텍스트의 길이가 max_seq_length를 넘으면 stride만큼 슬라이딩하며 여러 개로 쪼갬
※ doc_stride parameter
컨텍스트가 너무 길어서 나눴을 때 오버랩되는 sequence 길이
만약 max_seq_length=384
, doc_stride=128
, context_length=500
이라 하면,
context_length를 둘로 나눔 length=(384, 500-384+128 = 244)
각 문서에서 답을 찾고, 더 확률이 높은 답변을 가져가는 방식
전처리 전/후 비교
※ 모든 이미지 및 코드 출처는 네이버 커넥트재단 부스트캠프 AI Tech 5기입니다. ※