본문 바로가기

NLP/논문이해

[논문이해] BLEURT: Learning Robust Metrics for Text Generation

논문명: BLEURT: Learning Robust Metrics for Text Generation

논문 링크: https://arxiv.org/abs/2004.04696

 

BLEURT: Learning Robust Metrics for Text Generation

Text generation has made significant advances in the last few years. Yet, evaluation metrics have lagged behind, as the most popular choices (e.g., BLEU and ROUGE) may correlate poorly with human judgments. We propose BLEURT, a learned evaluation metric ba

arxiv.org

 

아이디어만 정리합니다


아이디어

  • 다른 지표들(BLEU, ROUGE, BERTSCORE 등)을 예측하도록 학습하여 단단한 지표를 만들자
  • 그 지표 이름이 BLEURT

 

  • 위에 나온 걸 task 를 다 한꺼번에 학습해버리겠다는 속셈이다
  • caption 에 signals 라는 표현이 있고, 논문에서 계속 pretraining signals 라고 하는데 그냥 pretraining 이라고 보면 된다. 괜히 신경쓰다가 혼자 signal 에 의미부여했다.
  • BLEU, ROUGE: 그냥 계산해서 쓰면 되니까 정답 문장과 예측 문장 쌍만 있으면 된다.
  • BERTscore: 모델을 활용해서 측정했고, 그 모델의 점수를 흉내내고자 한다
  • Backtrans likelihood & flag: 일단 넘어가자. 뒤에서 이야기하겠다.
  • Entailment: 2문장의 관계를 예측한다. 이것도 MNLI finetuned model 의 점수를 흉내내고자 한다

 

왜 사전학습이야? 따로 또 fine-tuning 하는거야?

  • 맞다. fine-tuning 하려는 데이터셋 WMT가 있는데, 그 전에 wikipedia 데이터셋으로 warm up 하고자 한다.
  • 그래야 domain 에 영향을 받지 않고, 어떤 데이터셋에도 강건한 학습 능력을 가질 거라고 저자는 주장한다.

 

그러면 fine-tuning 은 어떻게 해?

  • 매년 기계번역 분야에서 진행하는 WMT 라는 대회가 있다. WMT2017 이런 식으로 연도가 붙는데, 가장 번역을 잘 하는 모델이 수상한다.
  • 문제는 '가장 번역을 잘 했다'를 어떻게 평가하는가다. 돈만 많다면, 사람이 평가한 지표가 최고다. 그래서 이 대회 역시 사람이 직접 평가하여, 평가한 점수를 다 남겨두고 공개한다.
  • 이 대회에서 남긴 (모델 번역 문장, 정답 문장, 사람 점수) 데이터셋을 fine-tuning 할 때 사용한다는 의미다.
  • 하지만 대회에서 쓰이는 데이터셋은 번역이라는 domain 에 편향되었을 위험이 있어 그 전에 사전학습을 하려는 것이다.
  • 다만, 사전학습은 사람의 손을 거치지 않고 기존에 있던 평가지표들을 모두 모아 학습하겠다는 것이고.

 

좋아, 그러면 사전학습에 쓰이는 데이터셋인 WIKIPEDIA 는 무슨 말이야?

  • 사전 학습을 위해선 (정답 문장, 예측 문장) 만 있으면 된다. 그러면, 점수는 BLEU, ROUGE, BERTscore 등 알아서 계산해서 넣어주면 되니까.
  • 그래서 WIKIPEDIA 에서 우선 180만개의 문장을 추출했다. 이건 정답 문장으로 쓸 것이다.

 

그러면 예측 문장은 어떻게 만들어?

일부러 문장을 훼손시켜야 한다. 그래야 정답 문장과 다르면서도 어느 정도 의미가 유사할 테니까.

 

예시 - 정답 문장: The capital of South Korea is Seoul.

 

1. MASK-FILLING with BERT: 문장 일부를 가리고, BERT에게 채우도록 한다.

  • 가리기: The capital of South Korea is [MASK]
  • BERT로 예측: The capital of South Korea is Busan.

 

2. Backtranslation: 다른 언어로 번역했다가 다시 원래 언어로 되돌린다

  • 한글로 번역: 대한민국의 수도는 서울입니다
  • 다시 영어로 번역: The capital city of South Korea is Seoul

 

3. Dropping words: 일부 단어를 삭제한다

  • The capital of South is Seoul.
  • The of South Korea is Seoul.
  • The capital of South Korea is.

 

이렇게 650만쌍의 wikipedia 데이터셋을 만들었다. 그 다음, 여러 평가지표로 점수를 만들어서 (예측 문장, 정답 문장, 지표 점수) 데이터셋을 만들어서 사전학습을 진행했다. 그리고 finetuning 할 땐, WMT에서 남겨준 사람이 직접 평가한 점수를 예측하게 했다.

 

실험을 보면, 사전학습의 효과와 해당 지표가 사람 점수와 Correlation 점수가 높은지 확인할 수 있다. 끝.