diff --git a/app/static/institution_briefing.html b/app/static/institution_briefing.html new file mode 100644 index 0000000..a5cd9f2 --- /dev/null +++ b/app/static/institution_briefing.html @@ -0,0 +1,1394 @@ + + + + + + +O2O 표절탐지 엔진 — 기관 브리핑 + + + +
+
+
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
+

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

+
체크 상태는 현재 브라우저에 자동 저장됩니다.
+
+
+ + + + + + + + +
+
+
+
+ + + + + + diff --git a/data/(협약용) 연구개발계획서 PART 2.pdf b/data/(협약용) 연구개발계획서 PART 2.pdf new file mode 100644 index 0000000..ed81057 Binary files /dev/null and b/data/(협약용) 연구개발계획서 PART 2.pdf differ diff --git a/data/2026 나누구 본집필 적용 콘텐츠_소재추천, 성찰질문, 근현대사 사진.xlsx b/data/2026 나누구 본집필 적용 콘텐츠_소재추천, 성찰질문, 근현대사 사진.xlsx new file mode 100644 index 0000000..9c3d250 Binary files /dev/null and b/data/2026 나누구 본집필 적용 콘텐츠_소재추천, 성찰질문, 근현대사 사진.xlsx differ diff --git a/나누구_저작권침해_아카이빙_실무방안_v1.2.docx b/data/나누구_저작권침해_아카이빙_실무방안_v1.2.docx similarity index 100% rename from 나누구_저작권침해_아카이빙_실무방안_v1.2.docx rename to data/나누구_저작권침해_아카이빙_실무방안_v1.2.docx diff --git a/나누구_저작권침해_아카이빙_실무방안_v1.2.pdf b/data/나누구_저작권침해_아카이빙_실무방안_v1.2.pdf similarity index 100% rename from 나누구_저작권침해_아카이빙_실무방안_v1.2.pdf rename to data/나누구_저작권침해_아카이빙_실무방안_v1.2.pdf diff --git a/data/산출물_파인튜닝_gpt로추출한_대표키워드_에피소드_제목_페르소나_캐릭터_all_data(1123최종).xlsx b/data/산출물_파인튜닝_gpt로추출한_대표키워드_에피소드_제목_페르소나_캐릭터_all_data(1123최종).xlsx new file mode 100644 index 0000000..1978456 Binary files /dev/null and b/data/산출물_파인튜닝_gpt로추출한_대표키워드_에피소드_제목_페르소나_캐릭터_all_data(1123최종).xlsx differ diff --git a/data/출판과제 판례 데이터(컴북스)/나누구_저작권침해_아카이빙_실무방안(판례통합)_v1.3.docx b/data/출판과제 판례 데이터(컴북스)/나누구_저작권침해_아카이빙_실무방안(판례통합)_v1.3.docx new file mode 100755 index 0000000..adf3da8 Binary files /dev/null and b/data/출판과제 판례 데이터(컴북스)/나누구_저작권침해_아카이빙_실무방안(판례통합)_v1.3.docx differ diff --git a/data/출판과제 판례 데이터(컴북스)/나누구_저작권침해_아카이빙_실무방안_v1.2.docx b/data/출판과제 판례 데이터(컴북스)/나누구_저작권침해_아카이빙_실무방안_v1.2.docx new file mode 100755 index 0000000..f487666 Binary files /dev/null and b/data/출판과제 판례 데이터(컴북스)/나누구_저작권침해_아카이빙_실무방안_v1.2.docx differ diff --git a/data/출판과제 판례 데이터(컴북스)/어문저작물 침해_판례목록202505.xls b/data/출판과제 판례 데이터(컴북스)/어문저작물 침해_판례목록202505.xls new file mode 100755 index 0000000..78cef3c Binary files /dev/null and b/data/출판과제 판례 데이터(컴북스)/어문저작물 침해_판례목록202505.xls differ diff --git a/data/출판과제 판례 데이터(컴북스)/어문저작물 침해_판례목록202505.xlsx b/data/출판과제 판례 데이터(컴북스)/어문저작물 침해_판례목록202505.xlsx new file mode 100755 index 0000000..8803b1e Binary files /dev/null and b/data/출판과제 판례 데이터(컴북스)/어문저작물 침해_판례목록202505.xlsx differ diff --git a/data/출판과제 판례 데이터(컴북스)/저작권 명예훼손 판례목록.xls b/data/출판과제 판례 데이터(컴북스)/저작권 명예훼손 판례목록.xls new file mode 100755 index 0000000..3cf5a8f Binary files /dev/null and b/data/출판과제 판례 데이터(컴북스)/저작권 명예훼손 판례목록.xls differ diff --git a/data/출판과제 판례 데이터(컴북스)/저작권 명예훼손 판례목록.xlsx b/data/출판과제 판례 데이터(컴북스)/저작권 명예훼손 판례목록.xlsx new file mode 100755 index 0000000..89e05c0 Binary files /dev/null and b/data/출판과제 판례 데이터(컴북스)/저작권 명예훼손 판례목록.xlsx differ diff --git a/data/출판과제 판례 데이터(컴북스)/저작인격권_판례목록.xls b/data/출판과제 판례 데이터(컴북스)/저작인격권_판례목록.xls new file mode 100755 index 0000000..f52261c Binary files /dev/null and b/data/출판과제 판례 데이터(컴북스)/저작인격권_판례목록.xls differ diff --git a/data/출판과제 판례 데이터(컴북스)/저작인격권_판례목록.xlsx b/data/출판과제 판례 데이터(컴북스)/저작인격권_판례목록.xlsx new file mode 100755 index 0000000..8f9afc3 Binary files /dev/null and b/data/출판과제 판례 데이터(컴북스)/저작인격권_판례목록.xlsx differ