o2o-plagiarism-ai/docs/INTEGRATION_INTERFACE.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단계 통합 인터페이스 명세 (오투오 ↔ 바이칼/컴북스)

계획서 마일스톤 2.4(요소 추출+표절 검출 고도화 통합), 3.x(침해요소 DB 공유), 5.x(공유서비스 고도화) 연동을 위한 API 계약. 데이터 수령 전 사전 확정용.

1. 오투오가 제공하는 API (현행)

Method Path 용도 비고
POST /v1/plagiarism/detect 단건 표절 탐지 군집 부분표절 신호 포함
POST /v1/plagiarism/batch 배치(≤500) 비동기 잡
POST /v1/summary 스토리 요약 신규(과제2 ②)
GET /v1/taxonomy 10태그·39케이스 컴북스/바이칼 라벨 공유
GET /v1/health 엔진 상태

2. detect 응답 — 2단계 신규 필드 partial_signal

군집화 기반 요소별 부분 표절 분해. 바이칼 침해요소 DB 에 '무엇을 바꿔치기했는지'를 구조화해 적재할 수 있도록 제공.

{
  "matches": [{
    "source_doc": "ref-0003",
    "similarity": 0.88,
    "tags": [{"tag": "reproduction", "role": "primary", "label_ko": "복제권"}],
    "case_id": "A1",
    "partial_signal": {
      "cluster_id": 2,
      "verdict": "element_swap_plagiarism",
      "signature_score": 0.74,
      "per_element": {"lemmas": 0.92, "keywords": 0.88, "characters": 0.0, "motifs": 0.1},
      "retained_elements": ["lemmas", "keywords"],
      "changed_elements": ["characters", "motifs"]
    }
  }]
}
  • verdict: near_duplicate | element_swap_plagiarism | weak | none
  • element_swap_plagiarism = 본문(lemma/키워드) 유지 + 인물/모티프만 교체한 표절.

3. 바이칼 침해요소 DB 연동 (계획서 3.x)

  • 오투오 detect 결과 → 바이칼 침해요소 케이스 DB 적재 매핑:
    • case_id, tags[], partial_signal.verdict, score_breakdown → DB 컬럼.
    • 분류체계 버전 동기화: GET /v1/taxonomycases_version/meta_tags_version.
  • 합의 필요: ① DB 스키마(필드/타입), ② 적재 방식(API push vs 배치 export), ③ 침해요소 식별자 체계(컴북스 콘텐츠>제품>아티클 식별코드와 매핑).

4. 공유서비스 / 저작권 자동 분석 경계

  • 저작권 침해 자동 분석 모듈(1차/2차 침해 자동 판단, 권한 기반 적용범위 계산)은 계획서상 바이칼 담당(p.22). 오투오는 표절 '유사도/태그/케이스' 신호까지 제공, 권한·계약 기반 침해 '확정' 판단은 바이칼 모듈로 위임.
  • 경계 인터페이스: 오투오 MatchResult → 바이칼 침해 판단 입력. 본 매핑 표를 통합 설계 회의에서 확정.

5. 인증/배포

  • 현재 API Key 인증(app/core/auth.py). 공유서비스 통합 시 OAuth2(계획서 p.18)와의 연동 방식 협의.
  • 상용 데이터 구간 암호화(AES256-CBC)·키 배포는 바이칼 공유서비스 아키텍처 기준 적용.

6. 통합 테스트 항목(연말 인수시험 역산)

  • taxonomy 버전 동기화 라운드트립
  • detect → 바이칼 DB 적재 E2E
  • partial_signal 필드 계약 테스트
  • summary 엔드포인트 통합
  • 배치 처리 성공률 95%(마일스톤 점검기준)