Machine reading comprehension metric 종류
모든 모델은 만들고나서 성능을 정확하게 평가하는 것이 중요함
1. exact match
question에 대한 model이 prediction하여 내놓은 answer과 실제 dataset의 answer로 주어진 ground truth를 character level에서 비교하여
모든 character이 정확하게 일치할경우 1점을 주고 단 하나라도 일치하지 않으면 0점을 줌
모든 sample에 대해서 exact match score를 계산하여 정확히 일치한, 1점인 비율을 계산한 값이 exact match
예를 들어 prediction이 'for 5 days'와 ground truth '5 days'를 비교해보면 for이라는 글자가 일치하지 않으니 EM score=0
2. precision
prediction에서 전체 단어 수에 대해 ground truth와 일치하는 단어 수의 비율
바로 위 예시에서는 'for 5 days'는 3 단어이고 ground truth와 정확히 일치하는 단어 수는 2 단어이므로 2 / 3
prediction이 얼마나 ground truth와 정확한지 비교한 수치
3. recall
ground truth의 전체 단어 수에 대해 prediction 단어 수와 정확히 일치하는 단어 수의 비율
위의 예시에서는 '5 days'가 2단어이고 prediction 'for 5 days' 3단어 중 2단어가 모두 일치하므로 recall=1이다.
prediction이 ground truth를 얼마나 소환했는지 나타낸 수치
4. F1 score
exact match가 정확히 모든 character가 일치해야 1점을 주는 너무 엄격한 metric이라
사실 언어라는 것이 약간은 달라도 이해를 할 수 있기 때문에 이러한 점을 반영하고자했음
ground truth와 prediction 사이 overlap을 soft하게 계산했음
조금이라도 ground truth와 겹친다면 부분점수를 부여
위 예시에서는 precision이 2/3이고 recall이 1이므로 4/ 5 = 0.8로 계산됨
Exact match와 F1 score는 그 특성때문에 extractive answer와 multiple choice에 자주 쓰이고
장황하게 서술하는 descriptive answer에는 사용하기 어렵다
왜냐하면 descriptive한 경우는 완벽하게 일치하는 경우를 찾기 어렵기 때문이다.
F1같은 경우는 단어의 단순한 overlap만 봐서 답변 자체가 가지는 언어적 의미를 보지 못한다고 함
5. ROUGE-N
precision이랑 recall을 통합하여 의미한다
recall은 겹치는 단어 수/정답 문장의 단어 수이고 precision은 겹치는 단어 수/예측 문장의 단어 수
ROUGE-N은 N-gram 겹치는 단어 수에 대해 recall과 precision을 계산한 것
N은 필요에따라 1,2 등등 사용자가 정한다
그 외에 ROUGE-L, ROUGE-S 등등이 있다.
6. ROUGE-L
descriptive answer에 쓰이는 metric
ROUGE-L에서 L은 longest common subsequence를 나타내는 단어로
model의 prediction과 ground truth사이 최장으로 매칭되는 subsequence를 찾아 그 비율을 계산함
무조건 연속적으로 매칭되는 것을 찾는 것이 아니라 부분 연속으로 매칭되면 된다.
예를 들어 정답이 ‘police killed the gunman’이라고 하자.
모델 1은 police kill the gunman이라고 예측했고 모델 2는 the gunman kill police라고 예측했다면
모델 1은 정답과 police the gunman이 일치했으므로 3 / 4
모델 2는 정답과 the gunman이 일치했으므로 2 / 4
the gunman police랑 police the gunman은 다른거니까
정답에 대한 비율을 계산했으므로 overlap recall이라고도 부름
6. BLEU
prediction에서 모든 n-gram 쌍에 대해 ground truth와 일치하는 n-gram 쌍의 비율로 n-gram precision이라고 부름(individual n-gram score)
당연하지만 n이 커질수록 일치하는 경우는 드물어서 0에 가까우므로 보통은 1~4까지만 계산함
4-gram precision까지 계산한다면 최종 BLEU score를 아래 그림과 같이 계산함
내 생각인데 4-gram precision을 이용해 계산한 위 score를 BLEU-4라고 부르고 1-gram precision까지만 이용해서 계산한다면 BLEU-1이라 하지 않을까(cumulative n-gram score)
'딥러닝 > Machine Reading Comprehension' 카테고리의 다른 글
KorQuAD 데이터셋에 대한 개요 (0) | 2024.03.03 |
---|---|
subword tokenizing, byte pair encoding 간단하게 알아보기 (0) | 2024.03.03 |
Machine reading comprehension에서 어려운 점 (0) | 2024.03.02 |
Machine reading comprehension 개요 (0) | 2024.03.01 |
in batch negative를 이용한 dense embedding encoder modeling (0) | 2022.05.26 |