자연어처리를 위한 BLEU

아래 내용은 BLEU: a Method for Automatic Evaluation of Machine Translation을 참고하였습니다.

미리 확인해야할 내용


1. How to evaluate Machine Translation

'Education is the most powerful weapon we can use to change the world.'을 번역하면 아래와 같이 다양하게 번역될 수 있습니다.

  • 교육은 세상을 바꿀 수 있는 가장 강력한 무기이다.
  • 세상을 바꿀 수 있는 가장 강력한 무기는 교육이다.
  • 가장 강력한 무기인 교육을 통해 세상을 바꿀 수 있다.

사람이 아닌 컴퓨터를 이용해 어떤 번역이 좋다고 평가할 수 있을까요?

사람이 번역한 결과를 정답으로 얼마나 비슷한지를 비교해서 품질을 평가하는 방법을 BLEU(Bilingual Evaluate Understudy)라고 합니다.


2. BLEU(Bilingual Evaluate Understudy)


2.1. n-gram precision
Candidate 1: It is a guide to action which ensures that the military always obeys the commands of the party.
Candidate 2: It is to insure the troops forever hearing the activity guidebook that party direct.

Reference 1: It is a guide to action that ensures that the military will forever heed Party commands.
Reference 2: It is the guiding principle which guarantees the military forces always being under the command of the Party.
Reference 3: It is the practical guide for the army always to heed the directions of the party.

위와 같이 두 개의 Machine Translation 결과 문장이 'Candidate 1', 'Candidate 2'와 세 사람이 번역한 정답 문장 'Reference 1', 'Reference 2', 'Reference 3'가 있다고 가정해 보겠습니다.

Candidate 1: 1-gram precision $= {17 \over 18}$
예측한 전체 18개의 1-gram 중 'obeys'를 제외한 나머지 모든 1-gram이 Reference에 존재합니다.

Candidate 2: 1-gram precision $= {8 \over 14}$
예측한 전체 14개의 1-gram 중 'It', 'is', 'to', 'the', 'forever', 'the', 'that', 'party' 등 8개의 1-gram이 Reference에 존재합니다.

Candidate 1: 2-gram precision $= {12 \over 17}$
예측한 전체 17개의 2-gram 중 (It, is), (is, a), (a, guide), (guide, to), ..., (the, party) 등 12개의 2-gram이 Reference에 존재합니다.

Candidate 2: 2-gram precision $= {1 \over 13}$
예측한 전체 13개의 2-gram 중 (It, is) 1개의 2-gram이 Reference에 존재합니다.

1-gram, 2-gram을 비교했을 때 Candidate 1의 precision이 더 큰 값을 가집니다. 3-gram, 4-gram을 비교해 봐도 역시 Candidate 1이 큰 값을 가집니다. 그러므로 Candidate 1의 번역 품질이 Candidate 2보다 더 좋다고 할 수 있습니다.


2.2. modified n-gram precision
Candidate: the the the the the the the.

Reference 1: The cat is on the mat.
Reference 2: There is a cat on the mat.

위와 같이 번역한 문장이 'the the the the the the the.'등으로 의미는 없지만 많이 발생되는 단어 위주로 예측을 한 경우를 가정해 보겠습니다.

이 경우 Candidate 1-gram precision $= {7 \over 7}$이 됩니다. 이유는 'the'가 Reference에 존재하기 때문입니다. 즉 'the', 'a'와 같은 글자를 예측하게 되면 n-precision이 큰 값을 가질 확률이 높아집니다.

이를 방지하기 위해서 precision의 분자 값이 Reference에서 단어가 발생한 최대 빈도수를 넘지 못하도록 clipping을 합니다.

$$ Count_{clip} = min(Count, Max\_ref\_count) $$

Candidate: modified 1-gram precision $= {2 \over 7}$
Reference 1은 'the'가 2개, Reference 2는 'the'가 1개입니다. 그러므로 'the'의 $Max\_ref\_count$는 2입니다. Candidate에서의 'the'의 $Count$는 7이므로 두 숫자 중 작은 값을 선택하는 $Count_{clip}$은 2입니다.

$$ p_n = {\sum_{\text{n-gram} \in C} Count_{clip} (\text{n-gram}) \over \sum_{\text{n-gram}' \in C'} Count (\text{n-gram}')} $$

n-gram precision을 위 수식과 같이 표현할 수 있습니다. 분모는 Candidate의 전체 n-gram 개수 분자는 Candidate와 Reference가 match 되는 n-gram 개수를 clipping 한 값을 의미합니다.


2.3. brevity penalty
Candidate: of the

Reference 1: It is a guide to action that ensures that the military will forever heed Party commands.
Reference 2: It is the guiding principle which guarantees the military forces always being under the command of the Party.
Reference 3: It is the practical guide for the army always to heed the directions of the party.

위와 같이 번역한 문장이 'of the'와 같이 아주 짧은 문장인 경우를 가정해 보겠습니다.

Candidate: 1-gram precision $= {2 \over 2}$
짧은 문장의 경우 분모가 작아지기 때문에 n-gram precision이 커지는 경향이 있습니다. 이를 방지하기 위한 값이 brevity penalty입니다.

$$ BP= \begin{cases} 1, & \mbox{if } c > r \\ exp(1 - {r \over c}), & \mbox{if } c \le r \end{cases} $$

위 수식은 BP(brevity penalty)의 수식입니다. Candidate의 길이 ($c$)가 Reference의 최소 길이 ($r$)보다 작을 경우 $exp(1 - {r \over c})$의 penalty를 줍니다.


2.4. brevity metric

$$ BLEU = BP \cdot exp(\sum _{n=1} ^N w_n \log p_n) $$

BLEU의 최종 수식은 위와 같습니다.

  • $N$: 계산할 n-gram precision 개수입니다. 4가 기본값입니다. 1-gram부터 4-gram까지의 n-gram precision을 계산한다는 의미입니다.
  • $w_n$: 각 n-gram precision의 가중치입니다. 1/N이 기본값입니다. 각 n-gram precision에 동일한 가중치를 준다는 의미입니다.