o2o-plagiarism-ai/docs/PHASE2_PROGRESS.md

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
  • 본 저장소 평가 스크립트는 위 환경에서 정답셋만 연결하면 동작하도록 작성됨.