쉽게 이해하는 ROUGE-N과 ROUGE-L

신재완·2025년 6월 25일

AI & Data Science/NLP

목록 보기
1/2
post-thumbnail

개요

ROUGE는 2004년 ROUGE: A Package for Automatic Evaluation of Summaries 논문에서 도입한 개념으로 Recall-Oriented Understudy for Gisting Evaluation의 약자이다. n-gram overlap을 통해 인간이 만든 요약문에 비해 기계가 만든 요약문의 품질이 어떠한지 평가한다. 종류로는 ROUGE-N, ROUGE-L, ROUGE-W, ROUGE-S가 있다. 이 글에서는 N과 L만 알아보겠다. 더 자세한 내용이 궁금하다면 위 논문을 참고하면 된다.

n-gram

n-gram은 n개의 인접한 기호를 순서대로 묶은 나열을 말한다.
예를 들어 아래 문장을 어절 단위로 기호를 구분한다고 해보자.

나는 너를 너무 좋아해

이때 1-gram과 2-gram은 다음과 같다.

1-gram (unigram)

[나는], [너를], [너무], [좋아해]

2-gram (bigram)

[나는 너를], [너를 너무], [너무 좋아해]

3-gram (trigram)

[나는 너를 너무], [너를 너무 좋아해]

ROUGE - N

ROUGE-N은 n-gram의 Recall(재현율)을 구한다.

식은 아래와 같다.

ROUGE-N=S{ReferenceSummaries}gramnSCountmatch(gramn)S{ReferenceSummaries}gramnSCount(gramn)\text{ROUGE-N} = \frac{\sum_{S \in \{\text{ReferenceSummaries}\}} \sum_{\text{gram}_n \in S} \text{Count}_{\text{match}}(\text{gram}_n)}{\sum_{S \in \{\text{ReferenceSummaries}\}} \sum_{\text{gram}_n \in S} \text{Count}(\text{gram}_n)}

좀 더 풀어서 설명하면 아래와 같다.

ROUGE-N=n-gram overlap 수Ref의 n-gram 수\text{ROUGE-N} = \frac{\text{n-gram overlap 수}}{\text{Ref의 n-gram 수}}

ROUGE-2를 구하는 예시를 들어보자. Reference는 인간이 만든 요약문이고 Candidate는 기계가 만든 요약문이다.

Reference
요약: 나는 너를 너무 좋아해
2-gram: [나는 너를], [너를 너무], [너무 좋아해]

Candidate
요약: 나는 너무 좋아해 너를
2-gram: [나는 너무], [너무 좋아해], [좋아해 너를]

이를 통해 계산하면 Ref의 n-gram 수는 3이고 겹친 수는 1이므로 그 값은 1/3이 된다.

ROUGE - L

ROUGE-L은 n-gram을 사용하는 게 아니라 LCS(Longest Common Subs equence)에서의 F-Score이다.

LCS는 순서를 유지하면서 Ref와 Can에서 동시에 등장하는 가장 긴 기호의 나열이다. 예를 들어 아래 예시에서는 '나는 너무 좋아해'가 순서를 유지하면서 가장 긴 나열인 LCS가 된다.

Reference
요약: 나는 너를 너무 좋아해

Candidate
요약: 나는 너무 좋아해 너를

이를 통해 계산을 해보자. 우선 Recall을 구한다.

RlcsR_{lcs} = LCS 길이Ref 길이\frac{\text{LCS 길이}}{\text{Ref 길이}} = 34\frac{\text{3}}{\text{4}}

다음으로 Precision을 구한다.

PlcsP_{lcs} = LCS 길이Can 길이\frac{\text{LCS 길이}}{\text{Can 길이}} = 34\frac{\text{3}}{\text{4}}

이 두 값으로 F-score를 구한다. 아래 식에서 β\beta는 Recall에 대한 가중치이고 논문에서는 이 값을 매우 크게 두어 Recall를 구하는 것이 기본이라고 한다. 아래 식에서는 1로 두어 F1-score를 구해보자.

PlcsP_{lcs} = (1+β2)RlcsPlcsRlcs+β2Plcs\frac{(1+\beta^2)R_{lcs}P_{lcs}}{R_{lcs} + \beta^2P_{lcs}} = 2343434+134\frac{2\frac{3}{4}\frac{3}{4}}{\frac{3}{4} + 1\frac{3}{4}} = 34\frac{3}{4}

여기서는 Ref와 Can의 길이가 같기 때문에 간단하게 나온다.

Reference

[1] Chin-Yew Lin. 2004. ROUGE: A Package for Automatic Evaluation of Summaries. In Text Summarization Branches Out, pages 74–81, Barcelona, Spain. Association for Computational Linguistics.

profile
Developer, 출판사 운영, 콘텐츠 크리에이터, 드론, 3D프린팅

0개의 댓글