데이터과학/자연어처리

[자연어처리[Metric] BLEU score : bilingual Evaluation Understudy

섭구
반응형

BLEU

BLEU(bilingual Evaluation Understudy) score는 input과 output이 모두 sequence로 이루어져 있는 경우 사용하는 지표로서

machine translation과 같은 generation task에 주로 사용됩니다.

$$BLEU = min(1,{output\,length(예측\,문장)\over reference\,length(정답\,문장)})(\prod_{i=1}^4precision_i)^{1\over 4}$$

\((\prod_{i=1}^4precision_i)^{1\over 4}\)은 정답 문장과 예측 문장 사이에 n-gram(1~4)이 겹치는 정도의 기하평균 입니다.

 

Clipping

이 때, 하나의 단어가 예측문장에 여러번 등장하여 중복계산될 수 있기 때문에, Clipping 작업을 통해 해당단어가 카운팅 되는 횟수는 정답문장에서 등장하는 횟수를 넘지 못하게 합니다.

ex)Clipping

정답문장: "an apple is on the desk"

예측문장: "an an an an apple "

'an'은 정답문장에서 1회 등장 --> 1회 카운팅

before Clipping : 겹치는 횟수 : 5

after Clipping : 겹치는 횟수 : 2

 

 

ex)1-gram precision

Clipping 유무에 따른 1-gram precision의 예시입니다.

정답문장: "한화는 10년 안에 우승 할 것이다."

예측문장: "한화는 한화는 한화는 한화는 10년 안에 준우승 할 것이다."

1-gram precision(Clipping X) =\(일치하는\,1-gram\,수\over 모든\,1-gram\,수\) \(=\)\(8\over 9\) 입니다.

1-gram precision(Clipping O) =\(일치하는\,1-gram\,수\over 모든\,1-gram\,수\) \(=\)\(5\over 9\) 입니다.

 

Brevity Penalty

또한 \(min(1,{output\,length(예측\,문장)\over reference\,length(정답\,문장)})\) term은 문장길이에 대한 과적합을 보정해 줍니다.

비교적 짧은 문장은 결과에 있어 우위를 가져다 줄 수 있기 때문입니다.

 

이러한 과정을 통하여 BLEU score가 계산됩니다.

종합하여 볼 때, BLEU 문장의 길이와 단어의 중복을 고려하여 정답문장과 예측문장 사이의 겹치는 정도를 계산하는 지표라고 생각하면 될 것 같습니다.

반응형