일반적인 precision이나 recall을 계산하면 Seq2Seq에서는 모든 지표가 0에 가까울 것이다. 왜냐하면 step별로 비교하면 대부분 일치하지 않을 확률이 매우 높기 때문이다. 즉, 아래처럼 굉장히 유사한 문장의 지표가 0에 가깝게 나올 수도 있다.
그래서 이러한 맥락을 지표에 반영할 필요가 있다.
Precision(정밀도)
Recall(재현율)
Precision과 recall에 대한 통계량을 표현하고 싶다면 두 지표의 평균을 구하면 된다.
이 때 평균들의 대소 관계는 아래와 같다.
산술평균 >= 기하평균 >= 조화평균
F1 score는 조화평균을 사용하는데, Precision과 recall 중에서 보다 작은 지표에 집중한다. 내 생각에는 마치 Big O 표기법과 같이 최악의 상황을 가정하는 쪽으로 지향하는 것이 보다 정확한 지표이기 때문에 조화평균을 사용한 것 같다.
기계번역에서 기존 방식과 같이 f1 score를 연산하면 문법 고려, 어순 등 여러가지 요소들이 무시된다. 따라서 새로운 지표가 필요하다.
BiLingual Evaluation Understudy. 블루라고 발음하시더라.
너무 작은 번역 결과에 대한 가중치를 계산하기 위한 항이다. BLEU 수식에서 min()에 해당한다.
예측한 결과가 기존 문장보다 짧다면 이 값이 1보다 작아진다.
이를 통해 뒷 항에서는 고려하지 못한 recall을 어느정도 고려해준다. 왜냐하면 재현률의 최댓값이 1보다 커지는 상황이 발생할 수 있는데 이를 최대 1로 억제시켜주기 때문이다. 또한 기존 문장보다 예측문장이 짧을 경우 이에 대한 수치를 곱해주는 역할 또한 한다.