본문 바로가기
AI

[Metric] BLEU (Bilingual Evaluation Understudy)

by Ladun 2021. 10. 2.

BLUE

BLEU(Bilingual Evaluation Understudy) score란 성과지표로 데이터의 X가 순서정보를 가진 단어들(문장)로 이루어져 있고, y 또한 단어들의 시리즈(문장)로 이루어진 경우에 사용되며, 번역을 하는 모델에 주로 사용됩니다. 3가지 요소를 살펴보겠습니다.

  • n-gram을 통한 순서쌍들이 얼마나 겹치는지 측정(precision)
  • 문장길이에 대한 과적합 보정 (Brevity Penalty)
  • 같은 단어가 연속적으로 나올때 과적합 되는 것을 보정(Clipping)

$$\text{BP} = \begin{cases} 1 &\text{if } c > r\\ e^{(1-r/c)}& \text{if } c \le r \end{cases}\\BLEU = \text{BP}\cdot\exp\Big(\sum^N_{n=1}w_n\log p_n\Big)$$

  • $p_n$: 각 n-gram에 대한 precision
  • $w_n$: 각 n-gram에 대한 weight, 다 더하면 1
  • BP : Brevity penalty

1. n-gram을 통한 precision

candidate에서의 n-gram와 reference에서의 n-gram을 가지고 얼마나 일치하는 지를 확인합니다. 수시적으로 표현하면 아래와 같습니다.

$$\cfrac{\text{candidate의 n-gram의 개수}}{\text{n-gram쌍의 개수}}$$

분모에는 candidate sentence의 n-gram의 수, 분자에는 candidate sentence와 reference sentence에서 서로 일치하는 n-gram의 수가 들어갑니다.

Example

  • candidate sentence빛이 쐬는 노인은 완벽한 어두운곳에서 잠든 사람과 비교할 때 강박증이 심해질 기회가 훨씬 높았다
  • reference sentence빛이 쐬는 사람은 완벽한 어둠에서 잠든 사람과 비교할 때 우울증이 심해질 가능성이 훨씬 높았다
  • $\text{1-gram precision} = \cfrac{10}{14}$
  • $\text{2-gram precision} = \cfrac{5}{13}$
  • $\text{3-gram precision} = \cfrac{2}{12}$
  • $\text{4-gram precision} = \cfrac{1}{11}$

$$(\prod^4_{i=1}\text{precision}_i)^{\frac{1}{4}} = (\cfrac{10}{14}\times\cfrac{5}{13}\times\cfrac{2}{12}\times\cfrac{1}{11})^\frac{1}{4}$$

2. 같은 단어가 연속적으로 나올때 과적합 되는 것을 보정(Clipping)

1-gram으로 precision을 구할 때 candidate sentence에서 중복된 단어가 나오면 precision이 높게나올 수 있습니다. 예를 들어 아래와 같은 상황에서 1이라는 값을 가지게 됩니다.

  • Candidate : the the the the the the the
  • Reference1 : the cat is on the mat

이와 같은 상황을 막기 위해서 단순히 candidate에서의 일치하는 n-gram단어를 찾는 것이 아닌 reference에서의 n-gram 개수와 비교해서 찾습니다. 이전에는 아래와 같은 수식이었다면,

$$\cfrac{\text{candidate의 n-gram의 개수}}{\text{n-gram쌍의 개수}}$$

$Count_{clip} = \min(Count, \text{Max Ref Count})$이라는 수식을 통해서 아래와 같은 방식으로 구합니다.

$$\cfrac{Count_{clip} = \min(Count, \text{Max Ref Count})}{\text{n-gram쌍의 개수}}$$

Example

  • candidate sentence : the the the the the the the
  • reference sentence : the cat is on the mat
  • 기존의 값 1-gram 값: $\cfrac{7}{7}$
  • 수정 후 값 1-gram 값: $\cfrac{2}{7}$

3. 문장길이에 대한 과적합 보정 (Brevity Penalty)

만약에 refence가 10단어가 넘는 문장인데 아래와 같은 candidate가 높은 점수를 받으면 이상할 것입니다.

  • Candidate : it is

이런 경우에 대해 패널티를 주기 위한 값입니다.

$$\text{BP} = \begin{cases} 1 &\text{if } c > r\\ e^{(1-r/c)}& \text{if } c \le r \end{cases}$$

Reference

'AI' 카테고리의 다른 글

CutMix  (0) 2022.01.27
Cross Entropy를 사용하는 이유  (0) 2021.11.12
Backpropagation  (0) 2021.11.03
[Metric] Recall과 Precision  (0) 2021.10.03
[Metric] ROUGE (Recall-Oriented Understudy for Gisting Evaluation)  (0) 2021.10.02