본문 바로가기

NLP/용어정리

[용어정리] METEOR Score

 

 

참고 자료

참고자료를 많이 참고했습니다. 좋은 글 써주셔서 감사드립니다. Thank you for your hard work :)

 

https://machinelearninginterview.com/topics/machine-learning/meteor-for-machine-translation/

 

METEOR metric for machine translation

METEOR, for evaluating machine generated text. Used for applications like machine translation, summarization, image captioning and so on....

machinelearninginterview.com

 


 

시작하기 전에

 

'BLEU Score'의 한계를 지적하고 개선한 것이 'Meteor Score'다. 그러니, 당연히 'BLEU Score'부터 공부하고 오길 바란다. '어벤져스3: 인피니티워'는 안 봤는데 '어벤져스4: 엔드게임'을 보면 무슨 감동이 있고, 무슨 재미가 있겠냐 이말이다.

 

 

https://heygeronimo.tistory.com/20

 

[용어정리] BLEU Score

3줄 요약 N - gram 에 기반하여 기계 번역 결과와 사람이 직접 번역한 결과가 얼마나 유사한지 비교하여 번역에 대한 성능을 측정하는 방법 Bilingual Evaluation Understudy bilingual: 2개 언어의 → 입력 언

heygeronimo.tistory.com

 

 

BLEU Score 의 한계

 

  1. BLEU Score 는 'recall' 보다 'precision'에 가까운 성격을 지닌다. BLEU Score 를 구할 땐, 예측값(prediction)이 정답(reference)에 포함되었는지 확인한다. 하지만 반대로, 모든 정답이 예측값에 반영되었는지를 묻지 않는다.
  2. BLEU Score 는 의미적 유사도를 반영하지 못한다. 즉, 완전히 정답과 같아야만(Exact Match) 점수를 준다. 예컨대, '노랗다'와 '누렇다'가 유사하다는 걸 전혀 모른다. 실제로 BLEU Score 를 구해보면은 '하늘이 노랗다.'가 정답이면, '하늘이 누렇다.'와 '하늘이 파랗다.' 모두 틀렸다고 본다.
  3. words of cluster 를 잘 잡아내지 못한다. 보통 good match 인 경우, '정답으로 구성된 words of cluster' 와 '예측값으로 구성된 words of cluster'이 매우 근접하다고 한다. 근데, BLEU Score 는 그렇지 못하다.

 

→ 이 이야기를 왜 할까. 당연히 METEOR Score 는 이 문제를 해결하는데 이바지했기 때문이다.

 

 

METEOR Score 는 어떻게 구하는데?

 

구하는 과정을 차례대로 지켜보면, 어떻게 해결했는지도 나올 것이다.

 

ㄱ. Computing the alignments

 

Alignment 란?

 

예측값(generated text)와 정답(reference)를 위 그림처럼 잇는다. 이때, 잇는 방식은 '단어 대 단어'로 연결하거나, word embedding, dictionary 등을 활용한다.

 

 

chunk 란?

 

 

그리고 'chunk' 를 정의한다. 'chunk in an alignment' 란, '정답에 속하는 인접한 단어들과 연결된 인접한 단어들의 집합'을 의미한다. 뭔소리인지 모르실까봐, 위 그림을 손수 만들었으니 천천히 음미하며 읽어보시라. 위에서 chunk 의 개수는 3개가 된다.

 

 

chunk 의 개수가 최소화되길 바란다

 

chunk 의 정의를 이해했다면, alignment 에 따라 chunk 의 개수가 다양할 수 있다는 점을 이해했을 것이다. 이 점을 방지하고자, chunk 의 개수가 최소화되도록 alignment 를 잇기로 결정했다.

 

예컨대, 다음과 같은 두 문장이 있다고 가정하자.

  • 예측값: The cat likes the bone.
  • 정답: The cat loves the bone.

여기서, 예측값에 존재하는 'The'가 정답에 존재하는 ['The', 'the'] 중 하나로 alignment 를 만들 수 있다. 만일, 'the'를 선택한 경우 chunk 의 개수가 증가할 게 뻔하다. 이럴 땐, 'The'는 'The' 로, 'the'는 'the' 로 연결하자는 것이다.

 

 

ㄴ. Computing F - score

 

METEOR Score 는 Precision 뿐만 아니라 Recall 을 반영한 지표다. (하지만, F 를 구하는 공식을 보니 precision 의 영향력이 더 클 수 밖에 없는 것 같다. 1:9로 반영된 이유에 대해선 논문을 읽어봐야 할 것 같다.)

 

 

  • m: 정답(reference)과 예측값(candidate)이 일치하는 개수 (unigram)
  • w_t: 예측값의 단어의 개수
  • w_r: 정답의 단어의 개수

 

 

그럼 위 예시는 alignment 가 모두 존재하기 때문에 F = 1이다. (왜 만점인 예시를 들어주신거지?)

 

 

ㄷ.Computing Chunk Penalty

 

chunk 의 개수는 이상적인 경우엔 1개다. 정답과 예측이 완전히 일치할 때, 가능하다. 하지만 현실에선 그럴 리가. 그래서 Chunk Penalty 는 Chunk 의 개수에 따라 달라지며, 많을수록 불리하다.

 

  • C: chunk 의 개수
  • U_m: 예측값의 단어의 개수

 

예시로 다시 구해보자.

 

chunk 의 개수는 3개다. 그리고 예측값의 단어의 개수는 6개다. 고로, C = 3 & U_m = 6 이다. 최종적으로 p = 1 / 16 이다.

 

 

ㄹ.Computing the overall METEOR score

 

구하는 공식은 다음과 같다. (1 - p) 가 추가되었으므로, chunk penalty 가 Meteor Score 에 영향을 미친다.

  • 정답: The cat sits on the mat.
  • 후보1: Mat on cat sits the the.
  • 후보2: The cat on the mat sits.

하마터면, 후보1의 BLEU Score 가 후보2의 BLEU Score 랑 같을 뻔 했으나, 순서를 고려할 수 있어서 후보2가 chunk의 개수가 작기 때문에 점수가 더 높을 것이다.

 

 

METEOR Score 는 BLEU Score 의 한계를 정말로 극복했나?

 

1. Precision 뿐만 아니라 Recall 도 반영했다.

 

2. Alignment 를 만들 때, word embedding 이나 dictionary 등을 사용할 수 있어서 의미적 유사도를 반영할 수 있게 되었다.

 

3. words of cluster 가 정확히 무엇을 의미하는지 모르겠으나, chunk 라고 무방할 것 같다. chunk 의 개수를 점수에 반영하여, METEOR Score 값이 높으면 words 의 순서도 비슷하도록 설계했다.

 

'NLP > 용어정리' 카테고리의 다른 글

[용어정리] semicolon notation in probability  (0) 2022.12.30
[용어 정리] oracle summary  (0) 2022.12.14
[용어정리] perplexity  (0) 2022.10.20
[용어정리] BLEU Score  (1) 2022.10.04
[용어정리] agnostic  (0) 2022.09.14