Text Generation Evaluation 01 - BLEU
NLG 에서 generation 되는 text는 대체 어떻게 평가할까?
일반적으로 NLG는 LM모델이기 때문에 LM모델을 평가하는 방식으로도 볼 수 있겠다.
그러나 LM모델은 꼭 text generation(TG)만을 하는 것은 아니기 때문에 TG에 해당하는 evaluation을 정리해보려고 한다.
방법은 논문을 읽다 나오는 비교 방법들을 하나씩 정리해 보려고 한다.
-----------------------------------------------------------------------------------------
첫 번째로 상당이 유명한 대표적인 BLEU(Bilingual Evaluation Understudy) 방법이다.
BLEU는 워낙 유명하고 정리된 자료도 많기에 밑은 잘 정리된 블로그를 퍼왔다.
일반적으로 NLG는 LM모델이기 때문에 LM모델을 평가하는 방식으로도 볼 수 있겠다.
그러나 LM모델은 꼭 text generation(TG)만을 하는 것은 아니기 때문에 TG에 해당하는 evaluation을 정리해보려고 한다.
방법은 논문을 읽다 나오는 비교 방법들을 하나씩 정리해 보려고 한다.
-----------------------------------------------------------------------------------------
첫 번째로 상당이 유명한 대표적인 BLEU(Bilingual Evaluation Understudy) 방법이다.
BLEU는 워낙 유명하고 정리된 자료도 많기에 밑은 잘 정리된 블로그를 퍼왔다.
<펌 내용>
BLEU
BLEU(Bilingual Evaluation Understudy)score란 성과지표로 데이터의 X가 순서정보를 가진 단어들(문장)로 이루어져 있고, y 또한 단어들의 시리즈(문장)로 이루어진 경우에 사용되며, 번역을 하는 모델에 주로 사용된다. 3가지 요소를 살펴보자.
예제
Translation task를 생각해보자. 영어 sentence
을 모델에 넣으면, 그 모델은 한글 sentence
을 출력한다. 그럼 그 한글 sentence
이 얼마나 잘 예측된 것인지 알려면 사람이 정확히 번역한 문장(true sentence
)과 비교해 보면 된다.
1. n-gram(1~4)을 통한 순서쌍들이 얼마나 겹치는지 측정(precision)
-
예측된 sentence
: 빛이 쐬는 노인은 완벽한 어두운곳에서 잠든 사람과 비교할 때 강박증이 심해질 기회가 훨씬 높았다
-
true sentence
: 빛이 쐬는 사람은 완벽한 어둠에서 잠든 사람과 비교할 때 우울증이 심해질 가능성이 훨씬 높았다
-
1-gram precision:
-
2-gram precision:
-
3-gram precision:
-
4-gram precision:
2. 같은 단어가 연속적으로 나올때 과적합 되는 것을 보정(Clipping)
위 예제에서 단어 단위로 n-gram을 할 경우 보정할 것이 없지만, 영어의 한 예제에서 1-gram precision를 구하면, 예측된 문장에 중복된 단어들(the
:3, more
:2)이 있다. 이를 보정하기 위해 true sentence
에 있는 중복되는 단어의 max count(the
:2, more
:1)를 고려하게 된다.(Clipping). 다른 n-gram도 같은 방식으로 처리하면 된다.
예측된 sentence
: The more decomposition the more flavor the food has
true sentence
: The more the merrier I always say
-
1-gram precision:
-
(보정 후) 1-gram precision:
3. 문장길이에 대한 과적합 보정 (Brevity Penalty)
같은 예제에 문장길이에 대한 보정계수를 구하면 다음과 같다.
-
예측된 sentence
: 빛이 쐬는 노인은 완벽한 어두운곳에서 잠듬
-
true sentence
: 빛이 쐬는 사람은 완벽한 어둠에서 잠든 사람과 비교할 때 우울증이 심해질 가능성이 훨씬 높았다
BLEU score
-
아래 예시의 BLEU score를 계산하면 다음과 같다.
-
예측된 sentence
: 빛이 쐬는 노인은 완벽한 어두운곳에서 잠든 사람과 비교할 때 강박증이 심해질 기회가 훨씬 높았다
-
true sentence
: 빛이 쐬는 사람은 완벽한 어둠에서 잠든 사람과 비교할 때 우울증이 심해질 가능성이 훨씬 높았다
BLEU(Bilingual Evaluation Understudy)score란 성과지표로 데이터의 X가 순서정보를 가진 단어들(문장)로 이루어져 있고, y 또한 단어들의 시리즈(문장)로 이루어진 경우에 사용되며, 번역을 하는 모델에 주로 사용된다. 3가지 요소를 살펴보자.
Translation task를 생각해보자.
영어 sentence
을 모델에 넣으면, 그 모델은 한글 sentence
을 출력한다. 그럼 그 한글 sentence
이 얼마나 잘 예측된 것인지 알려면 사람이 정확히 번역한 문장(true sentence
)과 비교해 보면 된다.예측된 sentence
: 빛이 쐬는 노인은 완벽한 어두운곳에서 잠든 사람과 비교할 때 강박증이 심해질 기회가 훨씬 높았다true sentence
: 빛이 쐬는 사람은 완벽한 어둠에서 잠든 사람과 비교할 때 우울증이 심해질 가능성이 훨씬 높았다
1-gram precision:
2-gram precision:
3-gram precision:
4-gram precision:
위 예제에서 단어 단위로 n-gram을 할 경우 보정할 것이 없지만, 영어의 한 예제에서 1-gram precision를 구하면, 예측된 문장에 중복된 단어들(
the
:3, more
:2)이 있다. 이를 보정하기 위해 true sentence
에 있는 중복되는 단어의 max count(the
:2, more
:1)를 고려하게 된다.(Clipping). 다른 n-gram도 같은 방식으로 처리하면 된다.예측된 sentence
: The more decomposition the more flavor the food hastrue sentence
: The more the merrier I always say
1-gram precision:
(보정 후) 1-gram precision:
같은 예제에 문장길이에 대한 보정계수를 구하면 다음과 같다.
예측된 sentence
: 빛이 쐬는 노인은 완벽한 어두운곳에서 잠듬true sentence
: 빛이 쐬는 사람은 완벽한 어둠에서 잠든 사람과 비교할 때 우울증이 심해질 가능성이 훨씬 높았다
아래 예시의 BLEU score를 계산하면 다음과 같다.
예측된 sentence
: 빛이 쐬는 노인은 완벽한 어두운곳에서 잠든 사람과 비교할 때 강박증이 심해질 기회가 훨씬 높았다true sentence
: 빛이 쐬는 사람은 완벽한 어둠에서 잠든 사람과 비교할 때 우울증이 심해질 가능성이 훨씬 높았다
Reference
- 원래 블로그 자료: https://donghwa-kim.github.io/BLEU.html
댓글
댓글 쓰기