언어 전공자의 NLP 로그
BLEU: a Method for Automatic Evaluation of Machine Translation 본문
논문 출처 : https://dl.acm.org/doi/10.3115/1073083.1073135
BLEU | Proceedings of the 40th Annual Meeting on Association for Computational Linguistics
We present the results of an experiment on extending the automatic method of Machine Translation evaluation BLUE with statistical weights for lexical items, such as tf.idf scores. We show that this extension gives additional information about evaluated ...
dl.acm.org
- 본 논문은 2002년 7월에 게재된 논문으로, 여기서 제기된 BLEU는 아직까지도 여러 언어 모델의 성능 지표로 사용되고 있다.
- Bilangual evaluation understudy의 약자인 BLEU는 본래 기계 번역의 품질을 평가하기 위한 지표로 제안되었으나, 논문의 말미에 요약이나 기타 NLG 과제에 사용될 가능성이 언급되어 있다.
- 본 논문의 요지는 자동으로 사람과 비슷한 평가 결과를 낼 수 있는 지표를 찾는 것으로, 그 핵심은 '전문 번역가의 결과물에 가까울 수록 더 나은 기계 번역이다'라는 데에서 온다. 연구자들은 그 기준을 적절성 (adequacy), 정확성 (fidelity), 유창성 (fluency) 세 가지로 언급했고, BLEU는 그중 적절성과 유창성에 집중한다.
- 따라서 인간 번역 참조문과의 일치도를 판단하는 n-gram 모델 (precision)에서부터 시작한다.
- unigram, 즉 word-to-word 번역이 잘 될수록 adequate (적절한)하고, n-gram, 즉 구 단위 번역이 일치할 수록 fluent (유창한)하다. 본 연구에서는 n을 4로 설정했으며, 이에 동일한 가중치 (1/4)를 두어 합해준다.
- **Modified n-gram precision** : 정확도의 맹점은 번역문에 있는 단어 중 하나만 겹쳐도, 그 단어로만 문장을 구성해도 정확도가 100%가 나온다는 점이다. (the the the the the the와 같은 예시) 따라서 정확도를 계산할 때 단어의 실제 등장 빈도도 감안해주어야 한다. 연구자들은 이를 $Countclip=min(Count,MaxRefCount)$의 형태로 정의하였다. 즉, 아무리 많이 등장해도 최대 값은 실제 참조 문장의 빈도수를 넘을 수 없다는 것이다. 이 방식대로 계산했을 때 the the the the the the와 같은 문장이 높은 정확도를 기록하는 것을 막을 수 있다.
- **문장 단위 n-gram 점수 $pn$** : 번역문과 참조문의 쌍으로 이루어진 코퍼스가 있다고 치자. 이때 BLEU 스코어는 문장 대 문장을 기준으로 매겨지고, 기본적으로 참조문이 여러 개일 것이라고 가정한다. (ex) 기계 번역문 1 vs 인간 번역문 3) 이때, modified precision score인 $pn$은 다음과 같이 구할 수 있다.
$pn=∑C∈Candidates∑n−gram∈CCountclip(n−gram)∑C′∈Candidates∑n−gram∈C′Count(n−gram′)$
- 이정도만 해도 충분히 *좋은* 번역과 *나쁜* 번역을 구분할 수가 있지만, 아직 맹점이 하나 있다. n-gram의 count 방식으로 너무 긴 번역문에 대한 페널티는 충분히 주어지지만, 어처구니 없이 짧은 번역문에 대해서는 역시나 정확도 기반이기에 불합리하게 높은 점수가 부여될 수 있다. Recall을 사용하더라도 이 점은 해소가 되지 않는다. 따라서 Brevity penalty (단문 페널티)를 부여한다.
- 단, BP를 문장별로 적용하는 것이 아니라, 전체 코퍼스 단위에서 비교함으로써 문장 길이에 대한 자유를 일정 부분 인정하는 방법을 택한다. 이는 번역문이 원문과 1:1 대응이 아니라, 전문가 번역 결과도 스타일에 따라 길이나 단어 선정이 다르기 때문에 이를 보존하기 위한 시도로 해석할 수 있다. 따라서 참조문 코퍼스에서 각각 가장 짧은 길이의 문장을 'best match length'로 설정하고, 이 값들을 다 합친 값인 r을, 번역문 전체 코퍼스 문장의 길이 합인 c과 비교하여 BP를 결정한다.
$BP={1if c > re(1−r/c)if c <= r$
- 위 수식을 자세히 살펴보면, 번역문의 길이가 참조문보다 길어지는 경우는 페널티가 없지만, 짧아지는 경우에는 점점 큰 페널티를 부여한다.
- $pn$과 BP, 두 가지를 모두 적용한 BLEU의 최종 공식은 다음과 같다.
$logBLEU=min(1−rc,0)+∑n=1Nwnlogpn$
- 이렇게 나온 결과물은 0과 1 사이의 값을 갖게 되며, 높을 수록 좋은 결과이다. 통상적으로 0.3이면 준수한 결과, 0.5이면 잘된 번역으로 판단한다고 한다.
- 또한 본문 초반에는 기계 번역과 참조문 사이의 관계가 1:다라고 했는데, 만약 참조문이 모두 한 사람의 번역가가 번역한 결과물이 아니라면 1:1의 큰 코퍼스도 충분히 활용할 수 있다고 한다.
- 논문의 후반부는 이렇게 측정한 BLEU 결과값이 사람이 판단한 결과값의 유사함을 밝히는 과정이며, 결론부에서는 BLEU가 자동화된 방식으로 쉽게 인간의 판단에 근접한 성과 지표를 측정할 수 있다는 점을 언급하며 마친다. 핵심은 코퍼스가 커질 수록 퀄리티가 높아진다는 점이다. (quantity leads to quality)