Q: BLEU score란 무엇인가요?"
BLEU는 기계 번역 결과와 사람이 직접 번역한 결과가 얼마나 유사한지 비교하여 번역에 대한 성능을 측정하는 방법이다. 언어에 구애받지 않고 사용할 수 있으며, 계산 속도가 빠르다는 장점이 있다. 값이 클수록 성능이 좋다.
Unigram Precision
Ca의 총 단어 수Ref들 중에서 존재하는 Ca의 단어의 수=the total number of words in the Cathe number of Ca words(unigrams) which occur in any Ref다
Ref : 정답 문장
Ca: 번역된 문장
BLEU는 Unigram Precision의 문제점을 보완한다.
1. 단어의 순서를 고려하지 않는 문제점 보완
BLEU는 n-gram을 이용한 정밀도이다.
예시)
- Candidate : the cat the cat on the mat
- Reference1 : the cat is on the mat
- Reference2 : there is a cat on the mat
pn=∑n-gram∈Candidate Count(n-gram)∑n-gram∈Candidate Countclip(n-gram) : n-gram 정밀도
p2=4/6
BLEU는 p1, p2, …, pn을 모두 활용한다.
BLEU=exp(∑n=1Nwn log pn)
pn : 각 gram의 정밀도
N : n-gram에서 n의 최대 숫자 (보통 4)
N이 4라는 것은 p1,p2,p3,p4를 사용한다는 것을 의미.
wn : 각 gram의 보정된 정밀도에 서로 다른 가중치를 줄 수 있다. 이 가중치의 합은 1이다. 예를 들어 N이 4라고 하였을 때, p1,p2,p3,p4에 대해서 동일한 가중치를 주고자한다면 모두 0.25를 적용할 수 있다.
2. 짧은 문장일수록 score가 높아지는 문제점 보완
Ca가 Ref보다 문장의 길이가 짧은 경우에는 점수에 패널티를 줘야 하는데, 이를 브레버티 패널티(Brevity Penalty)라고 한다.
최종적인 BLEU는 다음과 같다.
BLEU=BP×exp(∑n=1Nwn log pn)
BP={1e(1−r/c)if c>rif c≤r
c : Candidate의 길이
r : Candidate와 가장 길이 차이가 작은 Reference의 길이
Reference : https://wikidocs.net/31695