O2O 표절탐지 엔진 브리핑
국책과제 기관 대응 자료

표절을 단정하지 않고
근거를 구조화합니다.

입력 문서와 기준 코퍼스를 비교해 본문 의미, 형태소 구조, 인물과 모티프의 유사도를 계산하고, 요소만 교체한 부분 표절까지 검토할 수 있도록 원문·점수·일치 구간을 제공합니다.

01 · HOW IT WORKS

한 문서가 검토 결과가 되기까지

재생 버튼을 누르면 실제 구현 순서에 따라 데이터가 이동합니다.
자동 재생 중
STEP 01
▤

문서 입력

검사할 본문과 문서 ID를 수신하고 요청 옵션을 확인합니다.

text + doc_id
STEP 02
✦

자서전 전처리

공통 표현을 제거하고 개체명을 마스킹해 일상 문장 오탐을 줄입니다.

normalized_text
STEP 03
⌕

LSH 후보 검색

MinHash·LSH로 대규모 코퍼스에서 비교 가능성이 있는 원문 후보를 찾습니다.

candidate_docs[]
STEP 04
∑

복합 유사도

KoSimCSE 의미, lemma 구조, 인물, 모티프 신호를 가중 결합합니다.

weighted_score
STEP 05
⌘

군집·부분 표절

구조는 유지하고 인물·모티프만 교체했는지 요소 단위로 분해합니다.

partial_signal
STEP 06
✓

검토 결과

원문, 세부 점수, 일치 구간과 검토용 태그를 함께 제공합니다.

evidence + verdict
현재 단계
문서 입력

판정에 사용할 원문과 문서 정보를 API에서 수신합니다.

02 · IMPLEMENTATION SEQUENCE

코드에서는 이 순서로 실행됩니다

개념 설명을 실제 모듈 호출 순서로 펼친 그림입니다. 빛나는 노드를 따라가면 API 요청부터 응답 생성까지의 구현 경로를 확인할 수 있습니다.
POST /v1/plagiarism/detect FastAPI 요청 한 건의 실제 실행 경로
01 · REQUESTAPI

FastAPI 라우터

routes.detect()

JSON 요청을 Pydantic 스키마로 검증합니다.

02 · ADAPTERSCHEMA

요청 어댑터

detect_request()

doc_id·text·options를 탐지기로 전달합니다.

03 · CONTROLENGINE

파이프라인 제어

detector.detect()

임계값과 자서전 모드를 결정합니다.

04 · NORMALIZENLP

자서전 전처리

preprocess_for_autobiography()

공통 표현 제거와 개체명 마스킹을 수행합니다.

05 · FEATURESNLP

요소·형태소 추출

extract() + extract_lemmas()

인물·모티프·키워드와 lemma를 만듭니다.

06 · RETRIEVEINDEX

후보 원문 검색

LshIndex.query()

MinHash 기반으로 후보 문서 ID를 찾습니다.

07 · SCOREMODEL

정밀 유사도 계산

DualSimilarityIndex.query()

KoSimCSE와 세부 신호를 가중 결합합니다.

08 · CLUSTERANALYSIS

부분 표절 분해

ClusterIndex.partial_signal()

유지·변경된 구성요소를 구분합니다.

09 · CLASSIFYRULE

태그·케이스 매핑

_assign_tags() + find_case()

검토용 법령 태그와 케이스를 연결합니다.

10 · RESPONSEJSON

응답 직렬화

DetectResponse

점수·원문·증거 구간을 JSON으로 반환합니다.

실행 중인 모듈
FastAPI 라우터
INPUT
DetectRequest · JSON 본문
OUTPUT
검증된 doc_id · text · options
API·모델 호출 완료된 처리 단계 규칙 기반 검토 분류
03 · EXPLAINABLE SIGNALS

시나리오에 따라 달라지는 판단 근거

기관 시연에서 사용할 수 있는 대표적인 네 가지 상황입니다. 버튼을 눌러 점수 변화를 확인하세요.

시연 시나리오

각 결과는 작동 원리를 설명하기 위한 예시 수치입니다.
시연용 예시와 공식 성능평가 데이터를 혼용하지 않습니다. 공식 수치는 고정 테스트셋과 실행 로그로 제시합니다.

원문 그대로 복사

문장 구조와 의미가 함께 일치합니다.
검토 필요
본문 의미 · 30%
96%
형태소 · 45%
94%
인물 · 15%
86%
모티프 · 10%
78%
가중 결합 결과.30×.96 + .45×.94 + .15×.86 + .10×.78
92%
near_duplicate
원문과 거의 동일한 문서로 검토 우선순위가 높습니다.
04 · RESPONSE PRINCIPLES

기관에는 세 층위로 답합니다

01 · 기술

무엇을 계산하는가

모델 이름보다 입력, 전처리, 네 가지 유사도, 임계값, 증거 생성 순서로 설명합니다.

02 · 검증

어떻게 재현하는가

고정 데이터셋, 라벨 기준, 실행환경, Confusion Matrix와 원본 로그를 제시합니다.

03 · 경계

무엇을 확정하지 않는가

표절 위험 신호와 법률상 저작권 침해 확정을 분리해 과장 없이 설명합니다.

05 · PLAN VS. IMPLEMENTATION

계획서 약속과 현재 구현 현황

“완료”, “골격 준비”, “데이터 필요”를 분리해 답변하는 것이 핵심입니다.
계획서 항목현재 구현상태기관 대응 표현
복합 유사도 탐지KoSimCSE + lemma + 인물 + 모티프구현세부 점수와 일치 구간 시연 가능
군집 기반 부분 표절요소별 군집 및 교체 신호구현인물 교체 시나리오로 설명
Human Feedback선호 데이터 생성·변환 파이프라인골격 준비사람 선호 라벨 확보 후 실제 학습
Precision 97%평가 도구 및 내부 보고서최종 검증 필요자서전 정답셋·고정 임계값으로 평가 예정
39개 침해 케이스분류체계와 API 응답 매핑데이터 필요케이스별 평가 샘플 확보 필요
기관 통합단건·배치·분류체계 APIE2E 필요외부 DB 계약 및 연계시험 예정
06 · EXPECTED Q&A

기관 예상 질문과 권장 답변

질문을 선택하면 답변 요지와 실제 말하기 문장을 함께 확인할 수 있습니다.
단순 문장 복사만 찾는 것 아닌가요?
문자열 일치만 보는 방식이 아닙니다. 의미 임베딩, 형태소 기본형, 인물, 모티프를 함께 비교합니다.
“어미를 바꾼 문장은 lemma 신호로, 인물을 바꾼 문장은 군집 기반 요소 교체 신호로 분석합니다.”
왜 KoSimCSE를 선택했나요?
한국어 문장 의미 유사도에 사용할 수 있는 로컬 임베딩 모델이며, 원문을 외부 API에 보내지 않고 처리할 수 있습니다.
“한국어 의미 비교 성능, 데이터 외부 전송 최소화, 호출비용 제거를 고려한 구현 선택입니다.”
군집화가 실제로 무엇을 찾아내나요?
문서들의 lemma·키워드·인물·모티프 특징을 비교해 본문 구조는 유지하면서 특정 요소만 바뀐 패턴을 찾습니다.
“유지된 요소와 변경된 요소를 나눠 element_swap_plagiarism 신호로 제공합니다.”
Precision 97%를 이미 달성했나요?
아직 최종 달성으로 말하면 안 됩니다. 97%는 계획서의 2단계 목표입니다. 내부 출판 데이터 평가는 존재하지만 자서전 도메인의 고정 정답셋 평가가 필요합니다.
“알고리즘과 평가 파이프라인은 준비됐으며, 실제 자서전 표절·비표절 정답셋으로 최종 Precision을 검증할 예정입니다.”
평가 데이터는 어떻게 만들고 분리하나요?
원문, 표절 변형문, 비표절문, 변형 유형, 사람 정답 라벨을 갖춘 데이터셋이 필요합니다. 문서 원본 단위로 학습·검증·테스트를 분리해 누수를 막아야 합니다.
“동일 원문에서 파생된 문장이 학습과 테스트에 동시에 들어가지 않도록 원문 그룹 단위로 분할합니다.”
임계값 0.85는 어떤 근거인가요?
현재 기본값은 정밀도 우선의 보수적 설정입니다. 최종 운영값은 자서전 검증셋에서 임계값별 Precision·Recall 곡선을 확인해 고정해야 합니다.
“0.85는 시작점이며, 최종값은 고정 평가셋의 오탐 비용을 반영해 결정하고 변경 이력을 관리합니다.”
엔진이 저작권 침해를 자동 확정하나요?
아닙니다. 유사성과 재사용 가능성을 선별하는 검토 지원 엔진입니다. 이용허락, 인용 목적, 계약 관계는 별도 확인이 필요합니다.
“자동 결과는 검토 우선순위와 근거를 제공하며, 법률상 침해 확정은 권한 정보와 전문가 검토를 거칩니다.”
법령 태그와 케이스 ID는 법적 판단인가요?
유사도 분포를 규칙으로 매핑한 검토용 추정 태그입니다. 법률 결론이 아니라 후속 검토를 구조화하기 위한 메타데이터입니다.
“태그는 검토 분류 편의를 위한 후보값이며, 확정적 법률 의견으로 사용하지 않습니다.”
생성형 AI가 작성한 글도 판별하나요?
AI 작성 여부를 판별하는 탐지기가 아닙니다. 작성 주체와 무관하게 기준 코퍼스의 원문이나 구성요소가 재사용됐는지를 분석합니다.
“AI 생성 탐지가 아니라 원저작물 대비 유사성과 요소 재사용 탐지입니다.”
원고가 외부 AI 서비스로 전송되나요?
기본 의미 유사도는 로컬 KoSimCSE로 처리할 수 있습니다. OpenAI 요소 추출은 선택 기능이므로 운영 정책에 따라 비활성화할 수 있습니다.
“기관 운영환경에서는 로컬 처리 구성을 기본으로 하고 외부 호출 여부를 설정과 로그로 통제할 수 있습니다.”
코퍼스가 커져도 운영할 수 있나요?
LSH 후보 검색 구조는 확장성을 고려했습니다. 다만 현재는 대규모 부하시험 전이므로 응답시간, 메모리, 인덱스 재구축 시간을 별도로 측정해야 합니다.
“확장 구조는 구현됐으며, 목표 문서 수를 확정한 뒤 부하시험 수치로 운영 용량을 제시하겠습니다.”
오탐과 미탐은 어떻게 관리하나요?
임계값별 Confusion Matrix를 관리하고, 공통 문구·인용·인물 교체 등 유형별 오류를 분류해야 합니다. 사용자 검토 결과는 향후 선호 데이터로 축적할 수 있습니다.
“단일 정확도뿐 아니라 표절 유형별 오탐·미탐과 임계값 변화까지 버전별로 관리합니다.”
07 · WORDING GUIDE

표현 하나가 신뢰도를 좌우합니다

피해야 할 표현

  • “AI가 저작권 침해를 확정합니다.”
  • “Precision 97%를 달성했습니다.”
  • “Human Feedback 학습이 완료됐습니다.”
  • “모든 종류의 표절을 탐지합니다.”

권장 표현

  • “유사성 근거를 제공하는 검토 지원 엔진입니다.”
  • “97%는 최종 목표이며 자서전 정답셋 검증이 필요합니다.”
  • “선호 데이터 파이프라인을 준비한 상태입니다.”
  • “텍스트 기반 탐지 가능 범위와 한계를 구분합니다.”
08 · BEFORE THE REVIEW

기관 질의 전 준비 체크리스트

체크 상태는 현재 브라우저에 자동 저장됩니다.