o2o-plagiarism-ai/reports/SUMMARY_BENCHMARK_EVIDENCE_2026.md
hbyang 8ae52b0a82 feat: add summary (No.7) consensus and grounded generation trials
요약 성능지표(No.7, ROUGE 65점) 실험 일습을 커밋한다.

- app/engine/summary_consensus.py: 후보 5개 생성 후 합의 선택(select_consensus).
  문자/어절 2-gram 가중 합의로 고르며, 유효 후보가 없으면 valid=False 를 낸다.
- app/engine/summary_grounded.py: 근거 추출 후 압축하는 2단계 생성.
- summarizer.py: 추출 전략 3종(textrank/coverage/lead). coverage 는 MMR 로
  중복 문장을 눌러 문서 전체를 넓게 담는다. 기본값은 textrank 로 유지한다.

스크립트는 생성·평가·검증을 분리했다. verify_* 는 API 호출 없이 저장된 산출물만
재계산하는 독립 검증기라 지표를 공용 함수로 합치지 않는다. 합치면 검증이 성립하지
않는다. tune_summarizer 는 사람 검수 참조(build_summary_annotation_packet ->
export_summary_annotations)를 입력으로 받아 선택과 최종 보고를 분리한다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-28 10:02:04 +09:00

2.3 KiB

요약 성능 내부 벤치 증빙 — 2026-09-16

결론

보존된 30건 내부 벤치의 **ROUGE-1 recall은 67.6579%**다. 첨부된 전 차수 성적서 코드는 F1을 반환하므로 이 recall 값으로 올해 65% 달성을 판단할 수 없다. 이를 작년 시험 방식의 복원·달성값으로 설명했던 내용은 정정한다.

이 결과는 사람 작성 정답셋이 아닌 GPT-4o 은(silver) 기준을 사용한 내부 A/B 벤치다. 따라서 사람 정답셋 기반의 공인 시험성적서 결과로 기재하지 않는다.

보존된 실행 결과

항목 값
결과 파일 King /mnt/data2/demo/o2o-plagiarism-ai/reports/summary_bench_v2.json
파일 수정 시각 2026-09-16 10:44:24 KST (생성·실행 시각을 입증하지 않음)
SHA-256 1e8022227c7a905f5926ab0c75aef0961248a901be19ead9cb501b98a5b70381
표본 수 30건
참조 요약 모델 GPT-4o (결과 JSON에 기록)
시스템 요약 모델 GPT-4o (결과 JSON에 기록)
프롬프트·seed·다중 참조 개수 결과 JSON에 미기록; 현재 스크립트 기본값으로 과거 실행 조건을 확정할 수 없음

결과

ROUGE recall 추출 요약 추상 요약
ROUGE-1 (어절) 21.2612% 67.6579%
ROUGE-2 (어절) 7.8993% 51.8763%
ROUGE-1 (형태소) 41.8747% 79.1366%
ROUGE-2 (형태소) 18.0236% 62.1995%

재실행 상태

벤치 스크립트는 /w/ai_publish/data_output4/*.json의 전기 본문 30건을 읽는다. 호스트의 실제 경로는 /mnt/data2/demo/ai_publish/data_output4이며 JSON 85개가 존재한다. 앞선 확인에서 컨테이너 경로와 호스트 경로를 혼동하여 원문이 없다고 단정한 내용을 정정한다. 다만 30건 결과에는 원문 ID·참조 및 시스템 요약 원문이 없어 동일 표본·출력의 정확한 재채점은 불가능하다. 아래는 새 벤치 실행 예시다.

python scripts/bench_summarizer.py \
  --glob '/mnt/data2/demo/ai_publish/data_output4/*.json' \
  --count 30 --seed 20260916 \
  --ref-model gpt-4o --sys-model gpt-4o \
  --length-matched \
  --out reports/summary_bench_new.json

새 1,000건 실험은 scripts/build_summary_trial.py로 수행하며 데이터·참조·출력을 모두 저장한다. 이 30건 보존 결과와 구분한다.