Evaluating machine translation
이전까지는 바람직한 번역 결과, 정답이 딱 한 개 있을 때의 상황이었습니다.
그렇다면 바람직한 번역 결과가 두 개 이상 존재하는 경우엔 평가를 어떻게 해야 할까요?
이때 사용할 수 있는 것이 Bilingual Evaluation Understdy(BLEU)입니다.
원래 사용되던 precision 계산식은 MT의 결과 각 단어가 reference에 포함되어 있는지를 기준으로 삼습니다.
그래서 총 7개의 예측 단어가 모두 reference에 포함되기 때문에 7/7이었죠.
이를 개선한 것은 7개 중에서 실제로 포함된 것을 reference별로 비교하여 최대를 고릅니다.
the는 각 reference에 2개, 1개씩 들어가므로 개수가 더 많은 2/7가 됩니다.
Bleu scroe on bigrams
이때 n-gram이 등장합니다.
쪼개 놓은 단어를 n개만큼 묶어 새로운 단위로 쓰는 것이죠.
위 예시에서는 단어 두 개를 묶는 bigram을 비교 단위로 사용합니다.
이때의 정확도는 reference의 bigram 중 예측 결과를 구성하는 bigram의 개수와 겹치는 것으로 구합니다.
Bleu score on unigrams
위 식은 unigram, 즉 단어 한 개를 기준으로 정확도를 구하는 식입니다.
이를 n으로 확장하게 되면 n-gram에 대한 정확도 식으로 일반화 할 수 있습니다.
Bleu details
n-gram에 대한 Bleu score를 구한 것을 p_n으로 표현할 수 있습니다.
이때 예측 결과의 길이에 대해 일종의 페널티를 부여한 식이 BP입니다.
이는 예측 결과가 너무 짧아지는 것을 방지하는 장치로, 만약 예측 결과의 길이가 실제 정답보다 작으면 지수 함수로 페널티를 부여하는 것을 알 수 있습니다.
특히 길이의 차가 커질수록 페널티가 급격하게 커질 것을 알 수 있습니다.
출처: Coursera, Sequence Models, DeepLearning.AI