문서 요약 모델의 성능을 평가할 때, ROUGE (Recall-Oriented Understudy for Gisting Evaluation)는 가장 널리 사용되는 평가지표 중 하나이다.
이 글에서는 ROUGE 1, ROUGE 2, ROUGE-L, ROUGE-W, ROUGE-S의 정의와 계산 방법을 이해하기 쉽게 설명하고, 각 지표의 특징과 활용 방안에 대해 알아보자.
1. ROUGE란 무엇인가?
ROUGE는 사람이 작성한 참조 요약(reference summary)과 모델이 생성한 요약(candidate summary) 간의 유사도를 측정하기 위한 평가 지표이다. 주로 n-gram 기반의 겹치는 정도를 비교하며 대표적으로 Precision(정밀도), Recall(재현율), 그리고 F1-score를 산출한다.
ROUGE는 다른 평가 지표와 달리 Recall 중심으로 설계되어 참조 요약이 담고 있는 중요한 정보의 손실 여부를 평가하는 데 초점이 맞춰져 있다. ROUGE 지표는 크게 다음과 같은 유형으로 나뉜다:
- ROUGE-N: n-gram(단어 또는 토큰의 연속된 묶음)의 겹침을 측정.
- 대표적으로 ROUGE-1(단어 수준)과 ROUGE-2(2-gram 수준)가 포함된다.
- ROUGE-L: 문장 내 단어 순서를 고려하여 Longest Common Subsequence (LCS)를 기반으로 평가.
- ROUGE-W: LCS 평가 방식을 확장하여 가중치를 적용.
- ROUGE-S: Skip-Bigram을 사용하여 문장 내 간격이 있는 단어쌍의 유사도를 측정.
2. ROUGE-N: N-gram 기반 평가
ROUGE-N은 참조 요약(reference summary)과 생성된 요약(candidate summary) 간의 N-gram 겹침을 측정하는 방식이다.
여기서 N-gram은 문장에서 연속된 N개의 단어를 의미하며 평가 시 n의 크기에 따라 다양한 정보를 반영할 수 있다.
ROUGE-N의 특징
- n 값이 작을수록 단순히 단어의 빈도를 반영. (e.g., ROUGE-1)
- n 값이 클수록 문맥적 흐름과 단어 순서까지 반영. (e.g., ROUGE-2 이상)
계산 공식
- Precision: 겹치는 N-gram 개수 / 생성 요약의 N-gram 개수
- Recall: 겹치는 N-gram 개수 / 참조 요약의 N-gram 개수
- F1-score: Precision과 Recall의 조화 평균
3. ROUGE-1: 단어 수준의 일치도
ROUGE-1은 참조 요약과 생성된 요약 간의 unigram(단일 단어) 겹치는 정도를 측정한다. 이는 문장에서 단순히 동일한 단어가 얼마나 포함되었는지 평가하며, 문장 구조는 고려하지 않는다.
계산 방법
- 참조 요약과 생성 요약을 각각 unigram으로 분리.
- 두 요약 간 겹치는 unigram 개수를 계산.
- Precision, Recall, F1-score를 산출.
공식
- Precision: 겹치는 unigram 개수 / 생성 요약의 unigram 개수
- Recall: 겹치는 unigram 개수 / 참조 요약의 unigram 개수
- F1-score: Precision과 Recall의 조화 평균
예시
- 참조 요약: I love machine learning
- 생성 요약: machine learning is amazing
여기서 겹치는 unigram은 machine, learning이 있다.
- Precision = 2/4 = 0.5
- Recall = 2/3 ≈ 0.67
- F1-score = 2 * (0.5 * 0.67) / (0.5 + 0.67) ≈ 0.57
특징으로는 문장 내 단어의 순서와 상관없이 포함된 단어의 수를 평가하기 때문에 문장 구조보다는 단순한 단어 선택의 적합성을 측정하는 데 적합하다.
4. ROUGE-2: 연속된 단어쌍의 일치도
ROUGE-2는 참조 요약과 생성 요약 간의 bigram(연속된 2개의 단어)의 겹치는 정도를 측정한다. 이는 단어 순서와 문맥 흐름을 보다 명확히 반영한다.
계산 방법
- 문장을 bigram으로 나눔.
- 참조 요약과 생성 요약에서 겹치는 bigram의 개수를 비교하여 Precision, Recall, F1-score를 계산.
공식
- Precision: 겹치는 bigram 개수 / 생성 요약의 bigram 개수
- Recall: 겹치는 bigram 개수 / 참조 요약의 bigram 개수
- F1-score: Precision과 Recall의 조화 평균
예시
- 참조 요약: I love machine learning
- 생성 요약: machine learning is amazing
여기서 bigram은 machine learning이 된다.
- Precision = 1/3 ≈ 0.33
- Recall = 1/3 ≈ 0.33
- F1-score = 0.33
특징으로는 bigram은 단어의 순서를 고려하므로 문장 구조를 더 세밀하게 평가할 수 있다.
5. ROUGE-L: 문맥과 순서 기반의 평가
ROUGE-L은 문장에서 Longest Common Subsequence (최장 공통 부분 수열, LCS)를 사용하여, 단어의 순서와 문맥적 흐름을 평가한다. LCS는 참조 요약과 생성 요약 간 순서를 유지한 채 겹치는 단어의 최대 길이를 계산한다.
계산 방법
- 참조 요약과 생성 요약 간의 LCS를 계산.
- LCS를 기반으로 Precision, Recall, F1-score를 산출.
공식
- Precision: LCS 길이 / 생성 요약의 단어 수
- Recall: LCS 길이 / 참조 요약의 단어 수
- F1-score: Precision과 Recall의 조화 평균
예시
- 참조 요약: I love machine learning
- 생성 요약: machine learning is amazing
여기서 LCS는 machine learning이 된다.
- Precision = 2/4 = 0.5
- Recall = 2/3 ≈ 0.67
- F1-score = 0.57
특징으로는 LCS를 활용하여 단순 단어 매칭이 아닌 단어 간 순서와 문맥적 흐름을 평가할 수 있다. LCS 기반으로 계산하므로 긴 문장 요약 평가에 적합하다.
ROUGE-N과 ROUGE-L 외에도 ROUGE-W와 ROUGE-S는 문서 요약 평가에서 유용하게 활용될 수 있는 확장 지표이다. 이들은 각각 가중치 기반 LCS와 Skip-Bigram을 활용하여 참조 요약과 생성된 요약 간의 유사성을 측정한다.
6. ROUGE-W: 가중치를 적용한 최장 공통 부분 수열
ROUGE-W (Weighted Longest Common Subsequence)는 ROUGE-L의 LCS을 확장하여, 연속적인 단어 겹침에 더 높은 가중치를 부여한다. 이는 단어 순서와 연속성을 보다 더 강조하려는 목적에서 사용된다.
계산 방법
- 참조 요약(reference)과 생성 요약(candidate) 간의 LCS를 계산.
- 연속된 단어의 겹침이 길어질수록 더 높은 가중치를 부여.
- Weighted LCS를 기반으로 Precision, Recall, F1-score를 계산.
공식
Weighted LCS 값은 다음과 같다.
여기서 p 는 가중치의 정도를 조정하는 파라미터이다.
Precision, Recall, F1-score는 ROUGE-L과 동일하게 계산하되, LCS 대신 WLCS를 사용한다.
예시
참조 요약 (Reference Summary):
I love studying machine learning deeply
생성 요약 (Candidate Summary):
I enjoy studying machine learning
1. LCS (Longest Common Subsequence) 계산
참조 요약과 생성 요약의 최장 공통부분 수열(LCS)은 다음과 같다:
I studying machine learning
LCS 길이: 4 (단어 4개: I, studying, machine, learning)
2. ROUGE-W의 가중치 적용
ROUGE-W는 LCS 길이에 가중치를 부여하여 연속된 단어의 중요성을 반영한다. (연속된 단어는 가중치가 더 높다.)
예를 들어, machine learning은 연속된 단어이므로 길이 2의 수열에 k^p 가중치가 적용된다.
- 단어 가중치 p 값이 1.2라고 가정하면
- 연속된 단어 수열 machine learning의 가중치는 2^{1.2} ≈ 2.297
- 단일 단어(비연속) I, studying의 가중치는 각각 1^{1.2} = 1
- 전체 WLCS = 1 + 1 + 2.297 ≈ 4.297
3. Precision, Recall 계산
- 참조 요약의 단어 수: 6 (I, love, studying, machine, learning, deeply)
- 생성 요약의 단어 수: 5 (I, enjoy, studying, machine, learning)
ROUGE-W는 연속된 단어의 중요도를 반영하기 때문에 단순한 단어 일치보다는 문장 구조와 흐름을 평가할 수 있다.
이 예시에서는 참조 요약과 생성 요약 모두 “machine learning”과 같은 핵심 구문을 포함하고 있으므로 높은 점수를 얻었다.
특징 및 활용
단순히 겹치는 단어 개수를 평가하는 것이 아니라 단어의 연속성과 문맥적 흐름을 중시한다. 문장 내 긴 구문 구조를 정확히 평가해야 하는 경우 적합하다.
7. ROUGE-S: Skip-Bigram 기반 평가
ROUGE-S (Skip-Bigram Based Co-occurrence Statistics)는 참조 요약과 생성된 요약 간의 Skip-Bigram 유사도를 평가한다.
Skip-Bigram은 문장 내에서 간격을 두고 나타나는 단어쌍을 의미하며, 문장 구조와 단어 간 연관성을 반영하는 데 유용하다.
Skip-Bigram이란?
Skip-Bigram은 문장 내 두 단어가 동일한 순서로 나타나는 모든 쌍을 포함한다. 예를 들어, 문장이 I love machine learning이라면 Skip-Bigram은 다음과 같이 생성된다:
- (I, love), (I, machine), (I, learning), (love, machine), (love, learning), (machine, learning)
계산 방법
- 참조 요약과 생성 요약에서 각각 Skip-Bigram을 생성.
- 두 요약 간 겹치는 Skip-Bigram의 개수를 계산.
- Precision, Recall, F1-score를 산출.
공식
- Precision = 겹치는 Skip-Bigram 개수 / 생성된 요약의 Skip-Bigram 개수
- Recall = 겹치는 Skip-Bigram 개수 / 참조 요약의 Skip-Bigram 개수
- F1-score = 2 * (Precision * Recall) / (Precision + Recall)
예시
- 참조 요약: I love machine learning
- 생성 요약: machine learning is amazing
Skip-Bigram 겹침: (machine, learning) (1개)
- Precision = 1 / 생성된 Skip-Bigram 수
- Recall = 1 / 참조 Skip-Bigram 수
- F1-score = 계산된 Precision과 Recall의 조화 평균.
특징 및 활용
단어 간 순서와 간격을 고려하므로, 단순한 연속적인 n-gram보다 더 유연하게 문맥 평가 가능하다. 문장 구조가 복잡한 요약 또는 단어 순서가 중요한 경우 적합하다.
8. ROUGE-W ROUGE-S의 한계 및 활용
한계
- ROUGE-W: LCS 기반으로 평가하기 때문에 계산 비용이 높아질 수 있고 연속성을 지나치게 강조하면 비연속적인 정보의 평가가 어려울 수 있다.
- ROUGE-S: Skip-Bigram의 경우 간격이 너무 크면 실제 의미적 연관성을 반영하지 못할 가능성이 있다.
활용 사례
- ROUGE-W 활용 사례
- 연속된 텍스트 평가: 긴 구문이나 문장의 연속성을 강조해야 하는 논문 요약, 보고서 요약 평가.
- 가중치 조정 가능: 파라미터 p 를 통해 연속성의 중요도를 조정하여 평가 지표를 사용자 정의 가능.
- ROUGE-S 활용 사례
- 다양한 문장 구조: 참조 요약과 생성 요약 간의 단어 순서가 다를 수 있지만 의미가 동일한 경우.
- 비정형 데이터: 대화형 텍스트, 비형식적인 문서 평가.
9. ROUGE 지표의 한계와 실무 활용
한계
- Recall 중심의 평가: 참조 요약에 포함된 정보를 강조하지만, 정보의 중요도나 문장의 질을 충분히 반영하지 못할 수 있다.
- 참조 요약의 다중성: 참조 요약이 다양하게 작성되지 않았다면, 생성 요약이 실제로 좋더라도 낮은 점수를 받을 수 있다.
- 길이 편향: 생성된 요약의 길이에 따라 Precision과 Recall이 달라지는 문제가 있다.
활용 방안
- 다중 참조 요약 사용: 다양한 참조 요약을 제공하여 평가 신뢰성을 높임.
- BLEU, METEOR와 병행 사용: ROUGE 외 다른 평가 지표를 병행하여 다각도로 성능 평가.
- 사람 평가와 병행: 모델 평가 시 인간 평가를 보조적으로 활용하여 문맥적 적합성을 보완.
ROUGE 지표는 문서 요약 모델 성능 평가에서 핵심적인 역할을 하지만, 이를 보완하기 위해 다양한 평가 방식을 함께 사용하는 것이 중요하다. ROUGE-1과 ROUGE-2는 단어 및 구문 수준의 적합성을 평가하고, ROUGE-L은 문맥과 순서를 포함한 문장 흐름을 반영하므로, 각 지표를 상황에 맞게 활용하면 더 나은 평가 결과를 얻을 수 있다.
'Deep Learning' 카테고리의 다른 글
Transformer 모델 디코딩 시 특수 토큰 제거 문제 해결하기 (0) | 2024.11.27 |
---|---|
텍스트 데이터 전처리 방법 (토큰화, 정제, 정규화, Stemming, Lemmatization 등) (2) | 2024.11.12 |
딥러닝 모델 구현에서 PyTorch의 쓰임 (2) | 2024.10.28 |
[Pytorch] tensor shape 변경에서 -1과 1 쓰임 그리고 슬라이싱 (1) | 2024.10.23 |
손실 함수, 활성화 함수, 최적화 함수 등 순서, 쓰임, 역할 (1) | 2024.10.23 |