본문 바로가기

boostcamp AI tech/boostcamp AI

BLEU, Precision-Recall

728x90

생성 문장의 성능을 평가할때 사용하는 metric을 알아보자.

단순히 cross entropy를 loss로 사용해버리면 다음과 같은 문제가 발생한다.

I Love you를 예측했는데 ground truth가 Oh I Love you 라면 한개도 맞추지 못한게 되어버린다.

 

1. Precision and Recall

reference : Half of my heart is in Havana ooh na na
predicted : Half as my heart is in Obama ooh na

(True라고 분류한 것 중에 실제 true인 비율)
precision = true positive / true positive + false positive
          = correct / len of predicted
          = 7 / 9

(True중에 내가 True라고 예측한 비율)
recall = true postivie / true positive + false negative
       = correct / len of reference
       = 7/ 10 

(precision, recall 조화 평균)
f-score = 2(precision * recall) / (precision + recall)

만약 구글이 검색 결과를 10개 알려줬는데 그 중 내가 찾으려는 정보가 7개라면 이는 precision을 느끼고 있는 것이다.

만약 구글이 옳은 검색 결과를 20개 중에 7개만 알려줬다면 이는 recall을 느끼고 있는 것이다.

 

reference : Half of my heart is in Havana ooh na na
model1 : Half as my heart is in Obama ooh na
model2 : Havana na in heart my is Half ooh of na

그러나 이 precision, recall도 허점이 있다. model2는 precision, recall이 모두 100프로 이나 순서가 완전 엉망이다.

 

2. BLEU (BiLingual Evaluation Understudy)

단순히 한개의 단어 뿐만 아니라 n-gram overlap이 어느정도인지도 고려하여 구한다. 블루 스코어는 precision만 고려한다. 번역 결과의 품질만을 생각하는 것과 같다.

위 식은 four-gram 예시이다. 만약 예측 문장의 길이가 정답 길이보다 크면 1로 만들어버린다. 반대로 정답길이보다 짧으면 1보다 작은 숫자가 곱해져서 penalty가 부과된다. gravity penalty라고 한다.

거기에 precision들의 기하평균을 구해서 곱한다.

reference : Half of my heart is in Havana ooh na na

model1 : Half as my heart is in Obama ooh na
1-gram precision | 7/9
2-gram precision | 4/8
3-gram precision | 2/7
4-gram precision | 4/6
brevity penalty  | 9/10
BLEU | 52%


model2 : Havana na in heart my is Half ooh of na
1-gram precision | 10/10
2-gram precision | 0/9
3-gram precision | 0/8
4-gram precision | 0/7
brevity penalty  | 10/10
BLEU | 0%

model2의 결과는 fscore가 100인 것에 비해 BLUE 스코어는 0이다

728x90
반응형

'boostcamp AI tech > boostcamp AI' 카테고리의 다른 글

Transformer - Multi-Head attention  (2) 2023.12.06
Transformer - self attention  (1) 2023.12.06
Beam search  (1) 2023.11.30
Seq2Seq with attention  (1) 2023.11.30
Long-Short Term Memory, GRU  (0) 2023.11.29