o2o-plagiarism-ai/docs/PHASE2_PROGRESS.md
hbyang 0472ae1f8a 2단계 고도화 선행 작업: 군집화·요약·평가환경·데이터 스펙 (데이터 수령 전)
컴북스 데이터 수령 전 가능한 작업을 선행 구현. 데이터 도착 즉시
학습·검증에 착수할 수 있도록 알고리즘·평가 하니스·문서를 준비.

알고리즘/파이프라인:
- engine/clustering.py: 군집화 기반 부분 표절(요소 교체) 판별,
  detect 응답에 partial_signal 필드 노출 (계획서 2단계 표절검출 고도화)
- engine/summarizer.py + POST /v1/summary: TextRank 추출적 요약 +
  통합(LLM) 골격 (과제2 ② 스토리 요약/분석)
- engine/preference.py + scripts/build_preference_dataset.py:
  Human Feedback 선호학습(DPO) 데이터 파이프라인 골격

평가 하니스 (정답셋 도착 즉시 측정):
- engine/rouge.py + scripts/eval_rouge.py: 요약 ROUGE (지표 No.7)
- engine/metadata_eval.py + scripts/eval_metadata_f1.py: 메타 추출 F1
  (지표 No.3, KLUE NER 호환)
- engine/case_coverage.py + scripts/analyze_case_coverage.py:
  39 케이스 갭 분석 → 컴북스 데이터 요청 목록 (정밀도 97% 근거)

문서:
- docs/DATA_REQUEST_SPEC.md: 요청 데이터 스펙 + 요약 정답셋/HF 라벨 가이드
- docs/INTEGRATION_INTERFACE.md: 2단계 통합 인터페이스
- docs/SW_COPYRIGHT_REGISTRATION.md: SW 저작권 등록 준비
- docs/PHASE2_PROGRESS.md, docs/CASE_COVERAGE.md

테스트 31 → 67건 전부 통과.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:16:07 +09:00

3.2 KiB

오투오 2단계 진행 현황 (데이터 수령 전 선행 작업 완료분)

데이터 수령 전까지 가능한 작업을 선행 구현하여, 컴북스 데이터가 들어오면 즉시 학습·검증에 착수할 수 있도록 준비한 결과 요약.

1. 한눈에 보기

남은 작업(계획서 2단계) 선행 구현 상태 데이터 도착 후 할 일
표절 검출 고도화 — 군집화 ✅ engine/clustering.py 구현·테스트 실데이터로 임계값 튜닝
표절 검출 고도화 — Human Feedback ✅ 선호데이터 파이프라인 골격 사람 라벨 → DPO 학습
스토리 요약 모듈 ✅ 추출적 요약+통합 골격+API 추상적(sLLM) 연결, 정답셋 평가
메타 추출 F1(No.3) ✅ 평가 하니스(KLUE NER 호환) 정답 라벨로 정식 측정·향상
표절 정밀도 97%(No.4) ✅ 케이스 갭 분석으로 요청목록 산출 자서전 도메인 샘플로 달성
요약 ROUGE 65(No.7) ✅ ROUGE 평가 모듈·CLI 요약 정답셋으로 정식 측정
SW 저작권 등록 ✅ 등록 준비 문서 서류 제출
2단계 통합 ✅ 통합 인터페이스 명세 바이칼/컴북스 E2E

2. 구현 산출물

코드 모듈 (테스트 포함)

  • app/engine/clustering.py — 군집화 기반 부분 표절(요소 교체) 판별. detect 응답에 partial_signal 필드로 노출. (tests/test_clustering.py)
  • app/engine/summarizer.py — 추출적(TextRank)+통합 요약. /v1/summary 엔드포인트. 외부 의존 0으로 동작, LLM 키 있으면 추상적 단계 결합. (tests/test_summarizer.py)
  • app/engine/rouge.py — ROUGE-1/2/L 자체 구현 (성능지표 No.7). (tests/test_rouge.py)
  • app/engine/metadata_eval.py — 요소 추출 F1(성능지표 No.3). (tests/test_metadata_eval.py)
  • app/engine/case_coverage.py — 39 케이스 커버리지 갭 분석. (tests/test_case_coverage.py)
  • app/engine/preference.py — HF 선호학습 데이터 골격. (tests/test_preference.py)

평가/유틸 스크립트 (데이터 도착 시 즉시 사용)

  • scripts/eval_rouge.py — 요약 ROUGE 평가 (dry-run 내장)
  • scripts/eval_metadata_f1.py — 메타 추출 F1 (KLUE NER --klue 지원)
  • scripts/analyze_case_coverage.py — 케이스 갭 → 데이터 요청 목록
  • scripts/build_preference_dataset.py — 선호데이터 template/convert

문서

  • docs/DATA_REQUEST_SPEC.md — 컴북스 요청 데이터 스펙 + 요약 정답셋 가이드
  • docs/INTEGRATION_INTERFACE.md — 2단계 통합 인터페이스
  • docs/SW_COPYRIGHT_REGISTRATION.md — SW 저작권 등록 준비

3. 데이터에 묶여 남는 것 (수령 후 착수)

  • 표절 정밀도 97% 최종 달성 — 자서전 도메인 표절 샘플 필요
  • 요약 ROUGE 65 학습·최종 평가 — 요약 정답셋 필요
  • HF 실제 선호학습 수행 — 사람 선호 라벨 필요
  • sLLM 학습 실행 — A100급 GPU 인프라 필요

4. 평가환경 (계획서 p.24 기준)

  • 공인인증 평가환경: A100 GPU / Python 3.9 / transformers 4.39.3
  • 본 저장소 평가 스크립트는 위 환경에서 정답셋만 연결하면 동작하도록 작성됨.