본문 바로가기

NLP 자연어 처리, Natural Language Processing

BLEU score (Bilingual Evaluation Understudy score)

언어 모델(Language Model)의 성능 측정을 위한 평가 방법 중 하나입니다.

 

BLEU스코어

BLEU(Bilingual Evaluation Understudy) score로 불립니다. 기계 번역 Task에서 결과와 사람이 직접 번역한 결과가 얼마나 유사한지 비교하여 번역에 대한 성능을 측정하는 방법입니다. 측정 기준은 n-gram에 기반합니다.

 

들어가기 앞서 먼저 Candidate, Reference가 있습니다.

Candidate : Output, 예측된 문장

Reference : Target, 실제 문장

번역에서는 ex)영어 -> 한국어 번역된 문장을 Candidate라고 하며, 한국인이 직접 영어를 번역한 문장을 Reference라고 합니다.

 

1. 정밀도(Precision) 측정

먼저, Candidate와 Reference를 비교하여 정밀도를 측정합니다.

직관적으로 나타나는 정밀도는 $\frac{Reference에서 존재하는 Candidate의 단어 수}{Candidate의 총 단어 수}$  입니다.

 

예를 들어,

Candidate 1 : 현재 우분투를 이용하여 코딩 작업을 진행하고 있습니다.  = 총 7 단어

Candidate 2 : 윈도우를 이용하여 코딩 작업을 진행하는 것은 상당한 어려움이 있습니다. = 총 9 단어

 

Reference 1 : 현재 우분투를 이용하여 작업을 많이 하고 있습니다.

Reference 2 : 우분투를 이용하여 코딩 작업을 하는 것은 쉽습니다.

 

Candidate 1 : $\frac{6}{7}$

Candidate 2 : $\frac{5}{9}$

위와 같이 정밀도로 나타낼 수 있습니다.

 

2. 보정(Clipping)

다음으로는 정밀도를 측정할 때 중복된 단어를 고려하여 측정하는 법입니다.

 

예를 들어,

Candidate 1 : 윈도우에서 코딩 작업을 하는 것은 어려워서 현재 우분투를 이용하여 코딩 작업을 진행하고 있습니다. = 총 13 단어

 

Reference 1 : 현재 우분투를 이용하여 작업을 많이 하고 있습니다.

Reference 2 : 우분투를 이용하여 코딩 작업을 하는 것은 쉽습니다.

 

Precision : $\frac{10}{13}$

 Clipping  : $\frac{8}{13}$

위와 같이 중복된 단어를 보정해 줄 수 있습니다.

 

 

 

반응형