AI
LLM 평가 방법론 - ROUGE
2025. 12. 10. 15:58

자연어 처리(NLP) 및 대규모 언어 모델(LLM)의 성능을 평가할 때, 자동화된 평가 지표는 효율성과 일관성을 제공합니다. 그 중 하나가 ROUGE (Recall-Oriented Understudy for Gisting Evaluation) 입니다. ROUGE는 요약(Summarization) 성능 평가를 위해 고안되었지만, 최근에는 번역, 생성, 질의응답 등 다양한 LLM 태스크에 활용되고 있습니다.

ROUGE란 무엇인가?

ROUGE는 생성된 텍스트와 정답(참조) 텍스트 간의 중복 단어 또는 구의 비율을 측정하는 지표입니다. 주로 recall 기반으로 측정되지만, precision과 F1-score도 함께 사용됩니다. 이는 모델이 얼마나 많은 정답 내용을 잘 포함했는지를 측정하는 데 효과적입니다.

ROUGE의 주요 종류

ROUGE는 여러 변형이 있으며, 각각 비교 방식에 따라 측정 항목이 다릅니다.

 
지표설명
ROUGE-N n-gram(예: unigram, bigram 등)의 겹치는 개수를 기반으로 평가
ROUGE-L 가장 긴 공통 부분 수열(Longest Common Subsequence, LCS)을 기반으로 평가
ROUGE-W LCS를 가중치 기반으로 평가
ROUGE-S skip-bigram (순서 보존된 단어 쌍) 기반 평가

가장 자주 사용되는 것은 ROUGE-1, ROUGE-2, ROUGE-L입니다.

ROUGE-N

ROUGE-N은 n-gram이 얼마나 겹치는지를 측정합니다. 예를 들어 ROUGE-1은 단어 단위, ROUGE-2는 2개의 연속된 단어 단위입니다.

Precision = (겹치는 n-gram 수) / (생성된 n-gram 수)  
Recall    = (겹치는 n-gram 수) / (참조 n-gram 수)
F1        = 2 * (Precision * Recall) / (Precision + Recall)

ROUGE-L

문장 간의 가장 긴 공통 부분 수열(LCS) 를 측정합니다. 문장 구조를 보존하면서 얼마나 유사한지 평가할 수 있습니다.


왜 ROUGE가 중요한가?

ROUGE는 다음과 같은 이유로 널리 사용됩니다.

  • 자동 평가 가능: 인간 평가 없이 대규모 텍스트 평가 가능
  • 직관적 해석: 높은 ROUGE 점수는 참조 요약과 유사하다는 의미
  • 일관성: 동일 조건에서 일관된 평가 제공

그러나 의미적 유사성보다는 표현상의 유사성을 중시하므로, 의미가 같지만 표현이 다른 경우에는 평가가 부정확할 수 있다는 한계가 있습니다.


간단한 Python 코드 예제

아래는 rouge_score 라이브러리를 이용한 간단한 ROUGE 평가 예제입니다.

설치

pip install rouge-score

코드

from rouge_score import rouge_scorer

# 참조 요약과 생성된 요약
reference = "The cat sat on the mat and looked outside the window."
generated = "The cat was sitting on the mat looking out the window."

# ROUGE scorer 초기화
scorer = rouge_scorer.RougeScorer(['rouge1', 'rouge2', 'rougeL'], use_stemmer=True)

# 점수 계산
scores = scorer.score(reference, generated)

# 결과 출력
for rouge_type, score in scores.items():
    print(f"{rouge_type} - Precision: {score.precision:.4f}, Recall: {score.recall:.4f}, F1: {score.fmeasure:.4f}")

예상 출력

rouge1 - Precision: 0.8889, Recall: 0.8000, F1: 0.8421  
rouge2 - Precision: 0.7000, Recall: 0.6364, F1: 0.6667  
rougeL - Precision: 0.8148, Recall: 0.7619, F1: 0.7879

 

'AI' 카테고리의 다른 글

LLM 평가 방법론 - DeepEval  (0) 2025.12.12
LLM 평가 방법론 - BERTScore  (0) 2025.12.11
LLM 평가 방법론 - GPTScore  (0) 2025.12.10
LLM 평가 방법론 - G Eval  (0) 2025.12.10
LLM 평가 방법론 - LLM as a Judge  (0) 2025.12.10