모델 평가

AutoML Translation은 모델을 학습한 후 TEST 세트를 사용하여 새 모델의 품질과 정확성을 평가합니다. AutoML Translation은 후보 텍스트가 참조 텍스트와 얼마나 비슷한지를 나타내는 BLEU(Bilingual Evaluation Understudy) 점수로 모델 품질을 보여줍니다. BLEU 점수 값이 1에 가까울수록 번역이 참조 텍스트에 더 가깝다는 뜻입니다.

이 데이터를 사용하여 모델의 준비 상태를 평가합니다. 모델의 품질을 개선하려면 더 많고 다양한 학습 세그먼트 쌍을 추가해 보세요. 데이터 세트를 조정한 후에는 향상된 데이터 세트를 사용하여 새 모델을 학습시키세요.

모델 평가 가져오기

  1. AutoML Translation 콘솔로 이동합니다.

    Translation 페이지로 이동

  2. 탐색 메뉴에서 모델을 클릭하여 모델 목록을 확인합니다.

  3. 평가할 모델을 클릭합니다.

  4. 학습 탭을 클릭하여 BLEU 점수와 같은 모델의 평가 측정항목을 확인합니다.

모델 예측 테스트

Google Cloud 콘솔을 사용하여 커스텀 모델의 번역 결과를 기본 NMT 모델과 비교합니다.

  1. AutoML Translation 콘솔로 이동합니다.

    Translation 페이지로 이동

  2. 탐색 메뉴에서 모델을 클릭하여 모델 목록을 확인합니다.

  3. 테스트할 모델을 클릭합니다.

  4. 예측 탭을 클릭합니다.

  5. 출발어 텍스트 상자에 입력 텍스트를 추가합니다.

  6. 번역을 클릭합니다.

    AutoML Translation은 커스텀 모델 및 NMT 모델의 번역 결과를 보여줍니다.

새 테스트 세트를 사용하여 모델 평가 및 비교

Google Cloud 콘솔에서 새 테스트 데이터 세트를 사용하여 기존 모델을 다시 평가할 수 있습니다. 단일 평가에서 최대 5개의 서로 다른 모델을 포함한 후 결과를 비교할 수 있습니다.

테스트 데이터를 Cloud Storage에 탭으로 구분된 값(TSV) 또는 Translation Memory eXchange(TMX) 파일로 업로드합니다.

AutoML Translation은 테스트 세트를 기준으로 모델을 평가한 다음 평가 점수를 생성합니다. 선택적으로 각 모델의 결과를 Cloud Storage 버킷에 TSV 파일로 저장할 수 있습니다. 각 행의 형식은 다음과 같습니다.

Source segment tab Model candidate translation tab Reference translation
  1. AutoML Translation 콘솔로 이동합니다.

    Translation 페이지로 이동

  2. 탐색 메뉴에서 모델을 클릭하여 모델 목록을 확인합니다.

  3. 평가할 모델을 클릭합니다.

  4. 평가 탭을 클릭합니다.

  5. 평가 탭에서 새 평가를 클릭합니다.

  6. 평가하고 비교할 모델을 선택한 후 다음을 클릭합니다.

    현재 모델을 선택해야 하며 기본적으로 Google NMT가 선택되어 있으며 선택을 해제할 수 있습니다.

  7. 테스트 세트 이름의 이름을 지정하여 다른 평가와 구별한 다음 Cloud Storage에서 새 테스트 세트를 선택합니다.

  8. 다음을 클릭합니다.

  9. 예측을 내보내려면 Cloud Storage 대상 폴더를 지정합니다.

  10. 평가 시작을 클릭합니다.

    AutoML Translation은 평가가 완료된 후 콘솔의 테이블 형식으로 평가 점수를 표시합니다. 한 번에 하나의 평가만 실행할 수 있습니다. 예측 결과를 저장할 폴더를 지정한 경우 AutoML Translation은 연결된 모델 ID로 이름이 지정된 TSV 파일을 테스트 세트 이름과 함께 해당 위치에 작성합니다.

BLEU 점수 이해

BLEU(BiLingual Evaluation Understudy)는 기계 번역된 텍스트를 자동으로 평가하는 측정항목입니다. BLEU 점수는 기계 번역된 텍스트와 고품질 참조 번역 세트의 유사성을 측정하는 0과 1 사이의 숫자입니다. 값이 0이면 기계 번역된 출력이 참조 번역과 겹치는 부분이 없는 것을 의미하고(저품질), 1이면 참조 번역과 완벽하게 겹치는 것을 의미합니다(고품질).

BLEU 점수는 사람이 번역 품질을 판단한 결과와 상관관계가 높은 것으로 확인되었습니다. 참고로, 번역사도 1.0의 완벽한 점수를 얻지는 못합니다.

AutoML Translation은 BLEU 점수를 0과 1 사이의 십진수가 아닌 백분율로 나타냅니다.

해석

서로 다른 말뭉치 및 언어 간에는 BLEU 점수를 비교하지 않는 것이 좋습니다. 말뭉치는 동일하지만 참조 번역 수가 다른 BLEU 점수를 비교하는 경우에도 잘못된 해석으로 이어질 수 있습니다.

다음 BLEU 점수 해석(숫자가 아닌 백분율로 표시)을 대략적인 지침으로 활용하면 도움이 될 수 있습니다.

BLEU 점수 해석
10점 미만 거의 의미 없음
10~19점 핵심을 파악하기 어려움
20~29점 요점은 명확하지만 많은 문법적 오류가 있음
30~40점 이해할 수 있는 양호한 번역
40~50점 고품질 번역
50~60점 매우 우수한 품질의 적절하고 유창한 번역
60점 초과 대체적으로 사람보다 우수한 품질

다음과 같은 색상 그라디언트를 BLEU 점수 해석의 일반 척도로 사용할 수 있습니다.

척도의 일반 해석 가능성

수학적 세부정보

수학적으로 BLEU 점수는 다음과 같이 정의됩니다.

$$ \text{BLEU} = \underbrace{\vphantom{\prod_i^4}\min\Big(1, \exp\big(1-\frac{\text{reference-length}} {\text{output-length}}\big)\Big)}_{\text{brevity penalty}} \underbrace{\Big(\prod_{i=1}^{4} precision_i\Big)^{1/4}}_{\text{n-gram overlap}} $$

\[ precision_i = \dfrac{\sum_{\text{snt}\in\text{Cand-Corpus}}\sum_{i\in\text{snt}}\min(m^i_{cand}, m^i_{ref})} {w_t^i = \sum_{\text{snt'}\in\text{Cand-Corpus}}\sum_{i'\in\text{snt'}} m^{i'}_{cand}} \]

각 항목의 의미는 다음과 같습니다.

  • \(m_{cand}^i\hphantom{xi}\)은 참조 번역에 일치하는 후보 번역의 I-그램 수입니다.
  • \(m_{ref}^i\hphantom{xxx}\)은 참조 번역의 I-그램 수입니다.
  • \(w_t^i\hphantom{m_{max}}\)은 후보 번역의 총 I-그램 수입니다.

수식은 축약 패널티(Brevity Penalty)와 N-그램 중복(N-gram Overlap)이라는 두 부분으로 구성됩니다.

  • 축약 페널티
    축약 페널티는 지수 감소를 근거로, 의미가 가장 가까운 참조 길이에 비해 지나치게 짧게 생성된 번역에 페널티를 적용합니다. 이 페널티는 BLEU 점수에 재현율 조건이 없다는 단점을 보완합니다.

  • N-그램 중복
    N-그램 중복은 참조 번역에서 유니그램, 바이그램, 트라이그램, 포그램(i=1,...,4)이 그에 해당하는 N-그램과 얼마나 일치하는지 측정합니다. 이 조건은 정밀도 측정항목의 역할을 합니다. 유니그램은 적합성을 나타내며, 더 긴 N-그램은 번역의 유창성을 나타냅니다. 과잉 계산을 방지하기 위해 참조에서 발생하는 최대 N-그램 수(\(m_{ref}^n\))에 맞게 N-그램 수를 자릅니다.

\(precision_1\) 계산

다음 참조 문장과 후보 번역을 고려하세요.

참조 : the cat is on the mat
후보 : the the the cat mat

첫 번째 단계에서는 참조 문장과 후보 문장에서 각 유니그램 항목 수를 계산합니다. BLEU 측정항목은 대소문자를 구분합니다.

유니그램 \(m_{cand}^i\hphantom{xi}\) \(m_{ref}^i\hphantom{xxx}\) \(\min(m^i_{cand}, m^i_{ref})\)
the 3 2 2
cat 1 1 1
is 0 1 0
on 0 1 0
mat 1 1 1

후보 문장의 총 유니그램 수(\(w_t^1\))는 5이므로 \(precision_1\) = (2 + 1 + 1)/5 = 0.8입니다.

BLEU 점수 계산

참조:     The NASA Opportunity rover is battling a massive dust storm on Mars .
후보 1: The Opportunity rover is combating a big sandstorm on Mars .
후보 2: A NASA rover is fighting a massive storm on Mars .

위의 예시는 하나의 참조 번역과 2개의 후보 번역으로 구성됩니다. 위에 설명한 대로 BLEU 점수를 계산하기 전에 문장을 토큰화합니다. 예를 들어 마침표는 별도의 토큰으로 계산됩니다.

번역별 BLEU 점수를 계산하기 위해 다음 통계를 계산합니다.

  • N-그램 정밀도
    다음 표에는 두 후보 문장의 N-그램 정밀도가 포함되어 있습니다.
  • 축약 페널티
    후보 1과 후보 2 문장은 모두 11개의 토큰으로 구성되므로 두 문장의 축약 페널티는 동일합니다.
  • BLEU 점수
    0보다 큰 BLEU 점수를 얻으려면 하나 이상의 상응하는 포그램이 필요합니다. 후보 번역 1에는 대응하는 포그램이 없으므로 BLEU 점수가 0입니다.
측정항목 후보 1 후보 2
\(precision_1\)(1그램) 8/11 9/11
\(precision_2\)(2그램) 4/10 5/10
\(precision_3\)(3그램) 2/9 2/9
\(precision_4\)(4그램) 0/8 1/8
축약 패널티 0.83 0.83
BLEU 점수 0.0 0.27

속성

  • BLEU: 말뭉치 기반 측정항목
    BLEU 측정항목은 개별 문장을 평가하는 데 사용될 경우 올바르게 이행되지 않습니다. 예를 들어 예시의 두 문장은 대부분의 의미를 반영하지만 BLEU 점수가 매우 낮습니다. 개별 문장의 N-그램 통계가 유의미하지 않고 BLEU는 기본적으로 말뭉치 기반 측정항목이기 때문입니다. 즉, 점수를 계산할 때 전체 말뭉치에 대한 통계가 누적됩니다. 위에 정의된 BLEU 측정항목을 개별 문장에 관해 인수 분해할 수 없습니다.

  • 내용어와 기능어 간 구분 없음
    BLEU 측정항목은 내용어와 기능어를 구분하지 않습니다. 즉, 'a'와 같은 기능어가 누락되면 이름 'NASA'를 'ESA'로 잘못 입력된 경우와 동일한 페널티가 적용됩니다.

  • 문장의 의미와 문법이 잘 파악되지 않음
    'not'과 같은 한 단어가 누락되는 경우 문장의 긍정, 부정이 바뀔 수 있습니다. n≤4인 N-그램만 고려할 경우 간격이 먼 호응 단어는 무시되므로 BLEU에서 문법적 오류가 있는 문장에 작은 페널티만 부과하는 경우가 종종 있습니다.

  • 정규화 및 토큰화
    BLEU 점수를 계산하기 전에 참조 번역과 후보 번역이 모두 정규화되고 토큰화됩니다. 정규화 및 토큰화 단계의 선택은 최종 BLEU 점수에 큰 영향을 줍니다.