BLEU
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
BLEU는 기계 번역의 품질을 평가하는 데 사용되는 지표이다. 후보 번역과 하나 이상의 참조 번역을 비교하여 점수를 계산하며, 후보가 참조와 유사할수록 점수가 높게 나타난다. 수정된 n-gram 정밀도와 간결성 페널티를 사용하여 최종 점수를 계산하며, 가중 기하 평균을 통해 여러 n-gram 정밀도를 결합한다. BLEU는 인간의 판단과 상관관계가 높지만, 토큰화 기술에 의존하고 단어 경계가 없는 언어를 처리하기 어렵다는 비판도 존재한다.
더 읽어볼만한 페이지
| BLEU | |
|---|---|
| 개요 | |
| 종류 | 평가 지표 |
| 분야 | 자연어 처리 |
| 측정 대상 | 기계 번역 품질 |
| 상세 정보 | |
| 개발 | IBM |
| 발표 시기 | 2002년 |
| 참고 문헌 | K. Papineni, S. Roukos, T. Ward, W.-J. Zhu, BLEU: A Method for Automatic Evaluation of Machine Translation, Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics (ACL), Philadelphia, July 2002, pp. 311-318 Coughlin, Joseph. "Using the BLEU Metric to Evaluate an Arabic Chatbot" (PDF). |
2. 수학적 정의
BLEU는 기계 번역된 텍스트의 품질을 평가하는 척도로, 사람이 직접 번역한 텍스트와 얼마나 유사한지를 나타낸다. BLEU 점수는 기계 번역된 문장(후보)과 사람이 번역한 문장(참조)을 비교하여 계산한다.[1]
BLEU 점수를 계산하는 방법은 기계 번역된 문장에 나타나는 단어와 n-gram (n개의 연속된 단어 묶음)이 사람이 번역한 문장에 얼마나 많이 나타나는지를 계산하는 것이다.
수정된 n-gram 정밀도BLEU는 단순히 n-gram 빈도수만 고려하지 않고, 각 n-gram이 참조 번역에 나타나는 최대 횟수를 고려한다. 이를 통해 기계 번역에서 같은 단어나 구절이 불필요하게 반복되는 문제를 방지한다.[1]
:
- : 문자열 에 나타나는 모든 n-gram 집합 (중복 제외)
- : 문자열 에서 부분 문자열 가 나타나는 횟수
간결성 페널티기계 번역에서 너무 짧은 문장은 번역 품질이 낮을 가능성이 크므로, BLEU는 짧은 문장에 페널티를 부여한다. 이를 간결성 페널티(Brevity Penalty)라고 한다.
:
- 는 의 양의 부분으로, 이다.
- 은 참조 번역의 길이, 는 후보 번역의 길이를 나타낸다.
최종 BLEU 점수최종 BLEU 점수는 간결성 페널티와 수정된 n-gram 정밀도를 조합하여 계산한다. 여러 n-gram 정밀도에 대한 가중 기하 평균을 사용하며, 일반적인 경우 4-gram까지의 정밀도를 고려한다.[1]
:
2. 1. 기본 설정
BLEU는 후보(기계 번역) 문자열과 참조(사람 번역) 문자열 목록을 비교한다. 후보 문자열이 참조 문자열과 유사할수록 BLEU 점수는 1에 가까워지고, 그렇지 않으면 0에 가까워진다.[1]이는 마치 언어 교사가 학생 번역의 품질을 평가하기 위해 참조 답안을 얼마나 잘 따르는지 확인하는 것과 유사하다.[1]
자연어 처리에서는 대규모 후보 문자열 집합을 평가해야 하므로, M개의 후보 문자열 목록("코퍼스")과 각 후보 문자열에 대한 참조 후보 문자열 목록이 있는 경우로 BLEU 점수를 일반화해야 한다.[1]
문자열 와 정수 이 주어지면, n-gram의 집합은 다음과 같이 정의된다.[1]
:
이는 중복 요소를 허용하는 멀티셋이 아닌 고유한 요소의 집합이다. 예를 들어 이다.[1]
두 개의 문자열 가 주어지면, 부분 문자열 개수 는 가 의 부분 문자열로 나타나는 횟수로 정의된다. 예를 들어, 이다.[1]
2. 2. 수정된 n-gram 정밀도
BLEU 점수를 매길 때, 단순히 n-gram이 얼마나 많이 나타나는지만 고려하는 것이 아니라, 각 n-gram이 참조 번역에서 나타나는 최대 횟수를 고려하여 점수를 계산한다. 이렇게 수정된 n-gram 정밀도 방식을 사용하면, 기계 번역에서 같은 단어나 구절이 불필요하게 반복되는 문제를 방지할 수 있다.[1]수정된 n-gram 정밀도 함수는 다음과 같이 정의된다.[1]
:
- : 문자열 에 나타나는 모든 n-gram의 집합 (중복 제외)
- : 문자열 에서 부분 문자열 가 나타나는 횟수
일반적인 경우, 즉 하나의 후보 문장과 하나의 참조 문장에 대한 수정된 n-gram 정밀도는 다음과 같이 간략화된다.[1]
:
위 공식에서 분자는 후보 문장에 나타나는 n-gram 중 참조 문장에도 나타나는 n-gram의 횟수를 나타낸다. 이때, 각 n-gram은 후보 문장에서 나타나는 횟수와 참조 문장에서 나타나는 횟수 중 작은 값을 선택하여 계산한다. 분모는 후보 문장에 나타나는 모든 n-gram의 횟수를 나타낸다.[1]
예를 들어, 후보 문장이 이고 참조 문장이 이며, n=2인 경우를 생각해보자. 의 모든 2-gram (ab와 ba)는 에 각각 3번 나타나지만, 최소 함수를 사용하여 각 2-gram의 등장 횟수를 1로 계산한다. 따라서 수정된 2-gram 정밀도는 다음과 같다.[1]
:
이와 같이 수정된 n-gram 정밀도는 0과 1 사이의 값을 가지며, 후보 문장의 n-gram이 참조 문장에 많이 나타날수록 1에 가까워진다. 특히, 후보 문장이 참조 문장의 부분 문자열이면 1이 된다.[1]
2. 3. 간결성 페널티
기계 번역에서 너무 짧은 문장에 대해 점수를 낮추는(패널티) 방법이다. 이는 짧지만 부정확한 문장을 생성하는 기계 번역의 특성을 고려하여, 필요한 내용을 충분히 담지 못하는 번역에 낮은 점수를 부여하기 위해 사용된다.간결성 페널티는 다음과 같이 정의된다.
:
- 는 의 양의 부분으로, 이다.
- 일 때, 간결성 페널티는 이다. 즉, 긴 후보 문자열은 처벌하지 않고 짧은 후보 문자열만 처벌한다.
- 일 때, 간결성 페널티는 이다.
는 후보 코퍼스의 길이이며, 다음과 같다.
:
- 여기서 는 의 길이이다.
은 유효 참조 코퍼스 길이이며, 다음과 같다.
:
- 여기서 는 에서 길이가 에 가능한 가깝게 일치하는 문장으로, 이다.
2. 4. 최종 BLEU 점수
BLEU 점수는 가중치 벡터 에 의해 매개변수화된 여러 종류가 있다. 이는 에 대한 확률 분포이며, 이고, 이다.를 선택하면 BLEU 점수는 다음과 같이 계산된다.[1]
::
이는 간결성 페널티를 곱한, 모든 수정된 n-gram 정밀도의 가중 기하 평균이다. 여러 n-gram 정밀도에 따라 동시에 우수한 후보 코퍼스를 강력하게 선호하기 위해 가중 산술 평균 대신 가중 기하 평균을 사용한다.
가장 일반적인 선택이자 원본 논문에서 권장하는 것은 이다.[1]
3. 알고리즘
BLEU 알고리즘은 2002년 Papineni et al.의 논문에서 처음 제안된 기계 번역 평가 방법이다.[1] 이 알고리즘은 기계가 번역한 문장(후보)과 사람이 번역한 문장(참조)의 n-gram을 비교하여 번역의 품질을 평가한다.
수정된 정밀도 계산기존의 정밀도 계산 방식은 후보 번역에서 참조 번역에 등장하는 단어의 비율을 계산한다. 예를 들어, 다음과 같은 후보 번역과 참조 번역이 있다고 가정하자.
| 후보 | the | the | the | the | the | the | the |
|---|---|---|---|---|---|---|---|
| 참조 1 | the | cat | is | on | the | mat | |
| 참조 2 | there | is | a | cat | on | the | mat |
이 경우, 후보 번역의 모든 단어("the")가 참조 번역에 나타나므로, 단순 정밀도는 7/7 = 1이 된다. 하지만 이는 번역의 품질을 제대로 반영하지 못한다.
BLEU는 이러한 문제를 해결하기 위해 수정된 정밀도를 사용한다. 후보 번역의 각 단어에 대해, 해당 단어가 참조 번역에 나타나는 최대 횟수를 고려한다. 위 예시에서 "the"는 참조 1에 두 번, 참조 2에 한 번 나타나므로, 최대 횟수는 2이다. 따라서 후보 번역에서 "the"의 빈도는 7이 아닌 2로 계산된다. 이를 통해 수정된 유니그램 정밀도는 2/7가 된다.
n-gram 정밀도BLEU는 단어(유니그램)뿐만 아니라 n-gram(연속된 n개의 단어)에 대해서도 수정된 정밀도를 계산한다. 일반적으로 4-gram까지 고려하며, 유니그램 정밀도는 번역의 적절성(얼마나 많은 정보가 보존되었는지)을, 더 긴 n-gram 정밀도는 번역의 유창성(얼마나 자연스럽게 읽히는지)을 평가한다.
예를 들어, 다음과 같은 후보 번역과 참조 번역을 생각해보자.
:the cat
이 경우, 수정된 유니그램 정밀도는 (1/2 + 1/2) = 2/2 = 1이 된다. 수정된 바이그램 정밀도는 1/1 = 1이 된다.
간결성 페널티 (Brevity Penalty)BLEU는 짧은 번역에 대해 과도하게 높은 점수를 주는 것을 방지하기 위해 간결성 페널티를 도입한다. 참조 번역의 총 길이를 r, 후보 번역의 총 길이를 c라고 할 때, c ≤ r인 경우, 간결성 페널티는 e(1-r/c)로 계산된다.
최종 BLEU 점수전체 코퍼스(번역된 문장들의 집합)에 대한 BLEU 점수는 각 문장에 대한 수정된 n-gram 정밀도의 기하 평균과 간결성 페널티를 곱하여 계산된다.
4. 성능
BLEU는 인간의 판단과 자주 상관관계가 있는 것으로 보고되었으며,[2] 새로운 평가 지표를 평가하는 데 여전히 벤치마크로 사용된다. 그러나 여러 비판도 제기되었다. 원칙적으로 모든 언어의 번역을 평가할 수 있지만, 현재 형태의 BLEU는 단어 경계가 없는 언어를 처리할 수 없다는 점이 지적되었다.[2] 여러 참조 번역을 사용하도록 설계되었지만, 실제로 단일 참조 번역에만 사용된다.[2] BLEU는 토큰화 기술에 의존하며, 다른 토큰화 기술로 얻은 점수는 비교할 수 없다(종종 간과됨). 재현성과 비교 가능성을 향상시키기 위해 SacreBLEU 변형이 설계되었다.[2]
BLEU가 상당한 장점을 가지고 있지만, BLEU 점수의 증가는 번역 품질 향상의 지표라는 보장은 없다는 주장이 제기되었다.[2]
5. 비판
BLEU는 인간의 판단과 자주 상관관계가 있는 것으로 보고되었으며,[2] 새로운 평가 지표를 평가하는 데 여전히 벤치마크로 사용된다. 그러나 다음과 같은 여러 비판도 제기되었다.
- 원칙적으로 모든 언어의 번역을 평가할 수 있지만, 현재 형태의 BLEU는 단어 경계가 없는 언어를 처리할 수 없다.[2]
- 여러 참조 번역을 사용하도록 설계되었지만, 실제로 단일 참조 번역에만 사용된다.[2]
- BLEU는 토큰화 기술에 의존하며, 다른 토큰화 기술로 얻은 점수는 비교할 수 없다 (종종 간과됨).[2]
BLEU가 상당한 장점을 가지고 있지만, BLEU 점수의 증가는 번역 품질 향상의 지표라는 보장은 없다는 주장도 제기되었다.[2]
참조
[1]
논문
BLEU
Association for Computational Linguistics
2001
[2]
웹사이트
BLEU: A Misunderstood Metric from Another Age
https://towardsdatas[...]
2022-11-05
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com