o2o-plagiarism-ai/docs/RECEIVED_DATA_PIPELINE.md

3.8 KiB

컴북스 수령 데이터 처리 및 AI 대조문 구축

1. 2026-08-20 수령 현황

파일 확인 내용 현재 쓰임
자서전.net-에피소드.xlsx 실제 사람 작성, 6,651건의 본문 human 정답 코퍼스, AI 의심도 비교 기준, 요약·표절 튜닝
한국인 생활 수기집 _ 파일 목록.xlsx 30건의 원본 파일/링크 목록 수령 provenance 목록. 본문 파일 확보·OCR 후 코퍼스 적재

자서전 원고는 combooks_confirmed_human, human_verified=true, ai_assistance=false로 기록한다. 두 번째 파일은 본문이 아니므로 목록만으로 학습·탐지에 쓰지 않는다.

운영 정책: 목록에 있는 Google Drive·공개 웹 링크에 자동 접속하지 않는다. 컴북스가 실제로 다운로드해 전달한 로컬 원본만 OCR·적재한다.

2. 익명화와 누출 방지

  • id(이메일)는 운영 비밀 salt로 HMAC 가명화한다. 원본 ID는 DB와 학습셋에 저장하지 않는다.
  • 같은 작성자의 에피소드는 같은 source_group으로 묶어 train/val/test 누출을 막는다.
  • 본문의 이메일·휴대전화·주민번호 형식은 적재 전 치환한다.
  • AI 대조문 생성기는 본문 컬럼을 프롬프트로 지정하면 실패한다. 제목·키워드 컬럼만 허용한다.
  • DATA_ANONYMIZATION_SALT는 코드·문서·산출물에 넣지 않는다.

3. 검증된 실행 결과

2026-08-20 원본 XLSX 로컬 드라이런 결과:

  • 운영 코퍼스 적재: 533문서, 6,331개 익명 에피소드, 5,048,397자
  • 학습 적합 human 표본: 200자 이상 6,139건 → 중복 560건 제거 → 5,579건
  • 작성자 그룹: 290개, train/val/test 그룹 교차 0건
  • 분할: train 3,946 / val 729 / test 904
  • 길이: 평균 847.1자; AI 생성 목표는 human 길이 분포에서 표본화

human 데이터만으로는 이진 AI 생성 판별기를 학습할 수 없다. 순수 AI 대조문을 생성하되 최종 일반화 평가는 적어도 2개 이상의 생성 모델과 독립된 human 검토용 세트로 수행한다.

2026-08-21에 King GPU의 Qwen3.8-27B로 5,600건을 생성했고 5,598건을 human과 결합해 길이 특징 제외 모델을 학습·배포했다. 세부 결과는 AI_TRAINING_RESULT_20260821.md에 있다. 복수 생성기 일반화 검증은 아직 남아 있다.

2026-08-25에는 원문을 외부로 보내지 않고 익명 제목 메타데이터만 사용해 gpt-4.1-minigpt-4o-mini 대조문 2,018건을 추가했다. Qwen·GPT 결합 모델의 세부 지표와 생성기별 검증 결과는 AI_TRAINING_RESULT_20260825.md에 있다.

4. 실행 순서

export DATA_ANONYMIZATION_SALT='<운영 비밀값>'

python scripts/ingest_o2o_xlsx.py '자서전.net-에피소드.xlsx' \
  --database data/runtime/corpus.sqlite3 \
  --book-column '자서전 제목' --text-column '에피소드 본문' \
  --author-column id --episode-title-column '에피소드 제목' --anonymize

python scripts/generate_ai_samples.py \
  --xlsx '자서전.net-에피소드.xlsx' --text-column '에피소드 본문' \
  --meta-column '자서전 제목' --meta-column '에피소드 제목' --group-column id \
  --model '<생성모델-1>' --model '<생성모델-2>' \
  --limit 5600 --out data/training/ai_samples.jsonl

python scripts/build_ai_training_dataset.py \
  --xlsx '자서전.net-에피소드.xlsx' --text-column '에피소드 본문' \
  --book-column '자서전 제목' --id-column id --group-column id --anonymize \
  --ai-jsonl data/training/ai_samples.jsonl --ai-group-field source_group \
  --out data/training/ai_dataset.jsonl

AI 대조문은 AI 의심도 부가 기능을 개선하기 위한 것이다. 과업 공식 성능지표인 표절 정밀도 97%는 AI 대조문이 아니라 별도의 실제 표절/비표절 정답쌍으로 평가한다.