언어 모델(Language Model)의 성능 측정을 위한 평가 방법 중 하나입니다.
BLEU스코어
BLEU(Bilingual Evaluation Understudy) score로 불립니다. 기계 번역 Task에서 결과와 사람이 직접 번역한 결과가 얼마나 유사한지 비교하여 번역에 대한 성능을 측정하는 방법입니다. 측정 기준은 n-gram에 기반합니다.
들어가기 앞서 먼저 Candidate, Reference가 있습니다.
Candidate : Output, 예측된 문장
Reference : Target, 실제 문장
번역에서는 ex)영어 -> 한국어 번역된 문장을 Candidate라고 하며, 한국인이 직접 영어를 번역한 문장을 Reference라고 합니다.
1. 정밀도(Precision) 측정
먼저, Candidate와 Reference를 비교하여 정밀도를 측정합니다.
직관적으로 나타나는 정밀도는 $\frac{Reference에서 존재하는 Candidate의 단어 수}{Candidate의 총 단어 수}$ 입니다.
예를 들어,
Candidate 1 : 현재 우분투를 이용하여 코딩 작업을 진행하고 있습니다. = 총 7 단어
Candidate 2 : 윈도우를 이용하여 코딩 작업을 진행하는 것은 상당한 어려움이 있습니다. = 총 9 단어
Reference 1 : 현재 우분투를 이용하여 작업을 많이 하고 있습니다.
Reference 2 : 우분투를 이용하여 코딩 작업을 하는 것은 쉽습니다.
Candidate 1 : $\frac{6}{7}$
Candidate 2 : $\frac{5}{9}$
위와 같이 정밀도로 나타낼 수 있습니다.
2. 보정(Clipping)
다음으로는 정밀도를 측정할 때 중복된 단어를 고려하여 측정하는 법입니다.
예를 들어,
Candidate 1 : 윈도우에서 코딩 작업을 하는 것은 어려워서 현재 우분투를 이용하여 코딩 작업을 진행하고 있습니다. = 총 13 단어
Reference 1 : 현재 우분투를 이용하여 작업을 많이 하고 있습니다.
Reference 2 : 우분투를 이용하여 코딩 작업을 하는 것은 쉽습니다.
Precision : $\frac{10}{13}$
Clipping : $\frac{8}{13}$
위와 같이 중복된 단어를 보정해 줄 수 있습니다.
'NLP 자연어 처리, Natural Language Processing' 카테고리의 다른 글
부트스트랩, Bootstrap in ML (0) | 2021.02.17 |
---|---|
나만의 Tokenizer, vocab 만들기 (0) | 2021.02.02 |
RealFormer: Transformer Likes Residual Attention (0) | 2021.01.19 |
ELECTRA : Pre-training Text Encoders as Discriminators Rather Than Generators (0) | 2021.01.19 |
네이버 개발자센터(NAVER Developers), 번역 API 사용해보기 (0) | 2021.01.07 |