BLEU Score

기린이·2022년 6월 13일
0

BLEU(Bilingual Evaluation Understudy)

n_gram(n개의 단어단위로 끊는 것)의 정밀도의 합, 예측 문장의 길이에 따른 페널티를 고려한 값

유니그램 정밀도

Unigram precision=정답에존재하는예측의단어수예측의총단어수\text{Unigram precision} = \frac{정답에 존재하는 예측의 단어수}{예측의 총 단어수}

보정된 유니그램 정밀도

예측에서 다 같은 단어를 예측하고, 해당 단어가 정답에 존재한다면 1이라는 최대 성능을 가지게 된다.

정답에 등장했다고 판단했던 단어는 다시 세지 않아야한다.

이는 min(count, max_ref_count) 로 나타낼 수 있다. (-> 이 부분 이해 안됌)

BLEU

유니그램 정밀도는 단순히 단어의 빈도만 측정하기 때문에 순서성을 고려한 측정이 필요하다. 이를 위해 바이그램, 트라이그램 등 더 많은 단어를 같이 보는 방법을 사용한다.
BLEU=exp(n=1Nwn log pn)BLEU = exp(\sum_{n=1}^{N}w_{n}\ \text{log}\ p_{n})
(pnp_n은 n_gram의 정밀도를 뜻한다.)

위는 모든 1~n gram까지의 정밀도를 합한 것이다.

그러나 예측 문장의 길이가 정답 문장의 길이보다 짧은 경우 제대로 된 예측이 아니더라도 이득을 받을 수 있고, 긴 경우 과한 페널티를 받을 수 있다.

따라서 브레버티 패널티(짧음 페널티)를 고려하여 최종 식을 완성하게 된다.

BLEU=BP×exp(n=1Nwn log pn)BLEU=BP×exp(n=1Nwn log pn)BLEU = BP × exp(\sum_{n=1}^{N}w_{n}\ \text{log}\ p_{n})BLEU = BP × exp(\sum_{n=1}^{N}w_{n}\ \text{log}\ p_{n})

BP={1if c>re(1r/c)if crBP = \begin{cases}1&\text{if}\space c>r\\ e^{(1-r/c)}&\text{if}\space c \leq r \end{cases}

profile
중요한 것은 속력이 아니라 방향성, 공부하며 메모를 남기는 공간입니다.

0개의 댓글