NLP

BLEU Score

uomnf97 2025. 3. 16. 16:41
안녕하세요, 제이덥입니다! 기술 면접을 준비하면서 기초 개념들을 하나씩 정리하고 있는데요. 오늘은 기계 번역 등 생성 모델 평가에 널리 사용되는 BLEU Score에 대해 다뤄보려고 합니다.본격적으로 BLEU Score를 살펴보기 전에, 먼저 Precision, Recall, F1 Score와 같은 전통적인 평가 방법이 번역 품질 평가에 어떻게 활용되는지 간단히 짚고 넘어가겠습니다. 이후, 이러한 지표들의 한계를 보완하기 위해 BLEU Score가 어떤 방식으로 발전했는지 정리해 보겠습니다.

 

0️⃣ 언어 모델에서 생성한 문장은 어떻게 평가해야할까?

언어 모델이 생성한 문장, 특히 번역된 문장은 어떻게 평가하는 것이 좋을까요? 번역 태스크에는 특이한 특징이 있습니다. 바로 생성된 문장의 단어 수나 단어 위치가 다르더라도 전체 의미에는 큰 영향을 미치지 않을 수 있다는 점입니다.예를 들어 정답 문장이 “I thought NLP is very difficult.“인데 모델이 “Oh, I thought NLP is very difficult.“라고 생성했다고 가정해봅시다. ‘Oh’라는 단어가 추가되어 문장의 길이는 달라졌지만 문장의 뜻은 크게 변하지 않았으며 의미는 그대로 전달됩니다. 이런 경우가 있기 때문에, 번역 태스크의 단어를 순서에 따른 일치 여부만으로 번역 품질을 평가한다면, 실제로는 좋은 품질의 번역 문장인데도, 낮은 점수가 측정되 올바르게 번역품질을 평가할 수 없게 됩니다. 따라서 단순히 위치별로 단어가 일치하는지를 확인하는 방식은 한계가 존재합니다. 

1️⃣ Precision & Recall & F1 Score

따라서 이러한 한계를 보완하기 위해, 전통적인 분류 모델의 평가지표인 Precision, Recall, F1 Score를 번역 품질 평가에 활용할 수 있습니다. 번역 태스크에서 Precision는 정밀도라고도 하며 예측된 문장에서 실제 정답 문장에 존재하는 단어의 비율을 의미합니다. Recall은 재현율이라고도 하며 실제 정답 문장에 포함된 단어 중 예측 문장에서 맞춘 단어의 비율을 나타냅니다. 간단히 말해, Precision은 결과물의 정확도를, Recall은 중요한 정보를 놓치지 않았는지를 평가하는 데 도움을 줍니다. 예시로 살펴보겠습니다.

 

🧪 Example Sentences:

Reference: Jadob loves studying Natural Language Processing

Predicted: Jadob love studying Natural Language

 

Reference 문장은 6개의 단어로 이루어져 있으며, Predicted 문장에서는 “Jadob”, “studying”, “Natural”, “Language”라는 4개의 단어가 일치합니다. 

  • Precision = 일치하는 단어 수 / 예측 문장 단어 수 = 4 / 5 = 0.8
  • Recall = 일치하는 단어 수 / 정답 문장 단어 수 = 4 / 6 = 0.66

Precision과 Recall은 Trade-off를 가지므로, 두 지표를 균형 있게 반영하는 F1 Score를 활용합니다. F1 Score는 Precision과 Recall의 조화 평균으로 계산되며, 두 값이 균형을 이룰 때 높은 점수를 가지게 됩니다. 조화 평균은 낮은 값에 더 큰 영향을 받기 때문에 두 지표 모두 일정 수준 이상이어야 좋은 F1 Score가 도출됩니다.

 

그러나 이러한 방식에도 한계가 있습니다. Precision, Recall, F1 Score는 단어의 유무만 고려하고 순서를 평가하지 않기 때문에, 어순이 뒤바뀌어 문장의 의미가 훼손된 경우에도 높은 점수가 부여될 수 있습니다. 이러한 문제를 보완하기 위해, 문법구조, 단어의 순서 정보를 반영한 BLEU Score가 널리 사용됩니다.

 

2️⃣ BLEU Score

BLEU Score는 Bilingual Evaluation Understudy의 약자로, 예측된 번역 문장과 실제 정답 문장 간의 n-gram 일치 비율을 기반으로 번역 품질을 평가하는 지표입니다. 여기서 n-gram은 연속된 n개의 단어로, BLEU에서는 일반적으로 1-그램부터 4-그램까지 사용합니다. 즉, 유니그램(n=1), 바이그램(n=2), 트라이그램(n=3), 4-그램(n=4)에 대해 각각 Precision 값을 계산합니다. BLEU가 Precision을 중심으로 평가하는 이유는, 정답 문장에 일부 단어가 빠져도 문장의 의미가 유지될 수 있지만, 예측 문장에 불필요한 단어가 추가될 경우, 원문의 의미가 왜곡될 가능성이 높아지기 때문입니다. 계산된 n-gram Precision 값들은 1-그램부터 4-그램까지 기하 평균을 통해 종합합니다. 이를 통해 짧은 n-gram뿐 아니라 긴 n-gram에서도 일관된 품질을 유지하는지를 평가할 수 있습니다.

 

하지만 너무 짧은 문장을 생성할 경우, n-gram 일치율은 높게 나오더라도 번역된 문장이 실제로 충분한 정보를 전달하지 못할 수 있습니다. 이를 방지하기 위해 정답 문장보다 짧은 문장을 생성할 경우 BLEU Score가 낮아지도록 1보다 작은 값을 곱하는 Brevity Penalty를 줍니다. 이를 통해 단어를 얼마나 빠뜨리지 않았는지 확인할 수 있도록 간접적으로 Recall을 반영해줄 수 있게 됩니다. 

BLEU Score 식

3️⃣ 정리

자연어 생성 모델, 특히 번역 태스크 모델을 평가할 때는 단어의 순서와 일치 여부뿐만 아니라 문장 전체의 유사도도 함께 고려해야 합니다. 이를 위해 생성된 문장이 얼마나 정확히 단어를 예측했는지와 중요한 정보를 빠뜨리지 않았는지 두 가지 관점에서 평가하는 것이 중요합니다. BLEU Score는 n-gram Precision과 Brevity Penalty를 통해 이 두 관점을 모두 반영하여 번역 품질을 평가하는 데 널리 사용됩니다.

 

 

출처 :