extractive summary : 기존 내용에서 몇 개 문장을 뽑아 만든 요약문. 예컨대, 기존 내용이 10개의 문장으로 이뤄져있다고 가정할 때 1번째 문장이 요약문에 포함되면 1 아니면 0
abstractive summary : 전체 내용을 그대로 사용하지 않은 새롭게 작성한 요약문
oracle summary : 전체 내용에서 문장 k개로 이루어진 집합을 만듭니다. 이때 ROUGE score를 구해 가장 높은 점수를 가진 집합을 만듭니다. 해당 집합을 ground-truth로 활용합니다. Greedy하게 진행합니다.
목표 아티클에 대해 올바른 요약을 제공하는 것은 중요합니다. LLM이 나오고 나서 표현의 풍부함과 문맥의 일관성에 대해 눈에 띄는 성과를 얻을 수 있었습니다. 그러나, LLM은 목표 아티클에 대해 반대되는 내용이나 존재하지 않는 내용을 요약에 포함시키는 경향이 있습니다.
Extractive Summarization via ChatGPT for Faithful Summary Generation
the FactCC scores are extremely low for generate only baselines (less than 10 percent), highlighting the hallucination problems of ChatGPT-based summarization, where ChatGPT tends to make up new content in the summary
LLM의 성능은 입력 토큰의 길이가 증가할수록 감소하며, 긴 문서 요약에서 LLM의 환각 현상이 특히 더 심해진다는 결론 또한 존재했습니다. 또한, LLM은 문맥이 제시되는 순서에 민감하며, 첫 번째 혹은 마지막에 제시되는 문장을 더 깊이 있게 사용한다는 사실이 밝혀졌습니다(심지어 짧은 문장에서도요!) 이것은 LLM이 만든 요약문이 시작/끝 쪽에 위치하는 문장에 더 많이 의존함으로써 전체 아티클을 요약해야하는 요약문의 퀄리티를 낮출 수 있다는 것을 의미합니다.
최근 연구에서는 CoT 프롬프트를 사용하여 사실 의존도를 높이거나(Sum-CoT, LLM이 요약문을 step-by-step으로 생성하도록 함), LLM을 평론가 모델과 편집자 모델로 나누어 평론가 모델이 요약문을 작성하면 편집자 모델이 사실 관계를 정정하는 방법 등이 제시되었습니다. 그러나 이러한 방법들은 위치 편향(시작/끝 선호) 문제와 문단의 길이에 따라 성능이 저조해지는 문제를 해결하지 못했습니다.
해당 논문에서는 슬라이딩 생성과 자기 일관성(self-consistency, https://www.promptingguide.ai/kr/techniques/consistency) 문단의 길이와 상관없이 LLM의 신뢰성을 유지할 수 있는 요약 방법론, SliSum을 제시합니다.
![[Pasted image 20250512150145.png]]
첫 번째로 문단 A를 문장의 집합(C1, C2, ..., Cn)으로 나눕니다. 또한 미리 정의된 윈도우 사이즈로 문단 A를 문장의 집합(C1, C2, ..., Ct)로 나눕니다. 윈도우 내에 단어의 갯수는 윈도우 사이즈와 비슷하게 맞춥니다.
LLM이 첫 번째 윈도우 안의 내용에 대한 로컬 요약문을 만들어냅니다. 이때 LLM이 오직 윈도우 내의 내용에만 집중하도록 해야합니다.
그 이후 스텝 사이즈(윈도우 크기보다 작거나 같아야 함)만큼 이동하여, 해당 윈도우에 있는 내용에 대한 로컬 요약문을 만들어냅니다. 전체 문단을 모두 순회할때까지 해당 과정을 반복합니다. 이때 중요한 것은 윈도우 간 중첩(overlap)이 존재한다는 것입니다.
로컬 요약문을 모두 생성한 후, DBSCAN 알고리즘(+ ROUGE-1 F1 Score)을 사용해 어휘 유사성을 계산하여 생성된 요약문들을 클러스터링합니다. 해당 작업을 통해 단어나 구조가 다르지만 같은 의미를 담고 있는 문장들끼리 묶습니다.
# R은 두 문장 간의 ROUGH-1 F1 score
R(C1, C2) = (2 * 겹치는 단어의 수) / (C1의 길이 + C2의 길이)
문장이 매우 적게 포진되어 있는 작은 클러스터들과 잡음(outliers)들을 필터링하여 오직 정보가 담겨있으며 반복되는 문장들만이 포함되도록 합니다.(이때 잡음의 판단 기준은 낮은 어휘적 유사성입니다.)
필터링된 클러스터들을 합치기전, 모순을 처리해야 합니다. 클러스터 내에서 의미적으로 유사한 문장을 비교하여 모순되는 정보(contradictions)를 찾아내고, 다음의 원칙에 따라 문장을 필터링합니다.
1. 지역 요약에서 빈도가 낮은 문장
2. 의미적으로 일관성이 부족한 문장
3. 원본 문서와의 유사성이 낮은 문장
4. 다수결에서 지지도가 낮은 문장
이제 각 클러스터에서 가장 대표적이고 일관성 있는 문장을 연결(concat)하여 최종 요약을 생성합니다.
내용이 다소 복잡하니, 예시를 들어보겠습니다.
다음과 같은 문단이 있다고 가정하겠습니다.
서울은 대한민국의 수도로, 정치, 경제, 문화의 중심지입니다. 한강이 서울을 가로질러 흐르며, 과거부터 현재까지 중요한 역할을 해왔습니다. 서울은 세계적으로도 유명한 도시로, 관광지와 현대적인 건축물들이 많이 있습니다. 서울의 기후는 온대성 기후로, 여름에는 덥고 겨울에는 추운 편입니다. 서울은 2022년 기준 약 천만 명 이상의 인구를 보유하고 있으며, 한국의 경제 활동 중심지로 평가받고 있습니다.
**C1:** 서울은 대한민국의 수도로, 정치, 경제, 문화의 중심지입니다.
**C2:** 한강이 서울을 가로질러 흐르며, 과거부터 현재까지 중요한 역할을 해왔습니다.
**C3:** 서울은 세계적으로도 유명한 도시로, 관광지와 현대적인 건축물들이 많이 있습니다.
**C4:** 서울의 기후는 온대성 기후로, 여름에는 덥고 겨울에는 추운 편입니다.
**C5:** 서울은 2022년 기준 약 천만 명 이상의 인구를 보유하고 있으며, 한국의 경제 활동 중심지로 평가받고 있습니다.
- **윈도우 크기(Window Size):** 2문장
- **스텝 크기(Step Size):** 1문장
윈도우가 이동하며 LLM은 각 윈도우에 대해 로컬 요약을 생성합니다:
윈도우 1: [C1, C2] → "서울은 대한민국의 수도로, 한강이 중요한 역할을 하는 도시이다."
윈도우 2: [C2, C3] → "한강이 흐르는 서울은 관광과 현대적 건축물로 유명하다."
윈도우 3: [C3, C4] → "서울은 유명한 관광지로, 온대성 기후를 가진다."
윈도우 4: [C4, C5] → "서울은 온대성 기후를 가지며, 천만 명 이상의 인구를 보유하고 있다."
2. Filtering (필터링)
DBSCAN 알고리즘과 ROUGE-1 F1 Score를 사용해 문장들의 어휘적 유사성을 계산하고 클러스터링합니다.
예를 들어, 다음과 같은 클러스터들이 생성됩니다:
작은 클러스터나 잡음(outliers)은 제거됩니다.
예: "서울은 대한민국의 수도로, 정치, 경제, 문화의 중심지입니다."는 다른 문장들과 어휘적 유사성이 낮아 제거될 수 있음.
3. Aggregation (모순 처리 및 최종 요약 생성)
클러스터 내에서 모순을 탐지하고 다음 기준으로 필터링합니다:
1. 지역 요약에서 빈도가 낮은 문장
2. 의미적으로 일관성이 부족한 문장
3. 원본 문서와의 유사성이 낮은 문장
4. 다수결에서 지지도가 낮은 문장
최종적으로 각 클러스터에서 가장 대표적인 문장만 선택됩니다:
최종적으로 선택된 문장을 연결하여 요약문을 만들어냅니다.
한강이 흐르는 서울은 관광과 현대적 건축물로 유명하며, 온대성 기후를 가지며 천만 명 이상의 인구를 보유하고 있다
SliSum의 성능은 다양한 LLM(대규모 언어 모델)에서 평가되었으며, LLaMA-2, Claude-2, GPT-3.5를 사용하여 네 가지 서로 다른 요약 데이터셋(CNN/DM, XSum - 짧은 텍스트용, PubMed, arXiv - 긴 텍스트용)에서 테스트되었습니다. 결과는 요약의 사실적 일관성(factual consistency)을 크게 개선하면서도 유창성(fluency)이나 정보성(informativeness)을 희생하지 않았음을 보여줍니다.