docs: apply scorecard-format model result to plagiarism section

성적서 '4. 모델 결과' 형식(plagiarism_detection_performance) 실제 출력으로
교체한다. run_precision_eval.py 재실행 결과이며 scorecard.json 과 동일하다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
hbyang 2026-09-16 16:15:30 +09:00
parent 5669c73f10
commit beafbfee04

View File

@ -534,15 +534,48 @@ f1 = 2 * precision * recall / (precision + recall) if (precision + recall
#### 4. 모델 결과 #### 4. 모델 결과
```json
{
"plagiarism_detection_performance": {
"model": "O2O Triple-Similarity Detector",
"engine_version": "o2o-plagiarism-2.2.0-persistent-cpu",
"test_dataset": {
"total_samples": 1000,
"plagiarism_cases": 500,
"non_plagiarism_cases": 500
},
"confusion_matrix": {
"true_positive": 493,
"false_positive": 8,
"true_negative": 492,
"false_negative": 7
},
"performance_metrics": {
"precision": 0.984,
"recall": 0.986,
"f1_score": 0.985,
"accuracy": 0.985
},
"threshold": {
"combined_similarity": 0.65,
"min_exact_span_chars": 35,
"min_coverage": 0.3,
"require_exact_span_evidence": true
},
"interpretation": {
"precision": "모델이 표절로 판단한 501건 중 493건(98.4%)이 실제 표절",
"recall": "실제 표절 500건 중 493건(98.6%)을 정확히 탐지",
"false_positive_rate": "1.6%"
}
}
}
``` ```
판정 기준: 유사도>=0.65 | 연속일치>=35자 | 커버리지>=0.30 | 연속일치 필수=True
============================================================== **최종 결과 : precision 98.40% 달성**
표절 여부 판별 정밀도 (precision) : 0.9840 [목표 0.97]
재현율 (recall) : 0.9860
F1 : 0.9850
TP=493 FP=8 TN=492 FN=7
변형 유형별 분해는 다음과 같다.
```
[변형 유형별] [변형 유형별]
compress n= 50 P=1.000 R=1.000 TP=50 FP=0 TN=0 FN=0 compress n= 50 P=1.000 R=1.000 TP=50 FP=0 TN=0 FN=0
hard_negative n= 150 P=0.000 R=0.000 TP=0 FP=7 TN=143 FN=0 hard_negative n= 150 P=0.000 R=0.000 TP=0 FP=7 TN=143 FN=0
@ -554,9 +587,8 @@ TP=493 FP=8 TN=492 FN=7
``` ```
오탐 8건 중 7건이 주제 근접 시료(하드 네거티브)에서 발생하여, 시험 난이도가 오탐 8건 중 7건이 주제 근접 시료(하드 네거티브)에서 발생하여, 시험 난이도가
실제 운영 조건을 반영하고 있음을 확인하였다. 실제 운영 조건을 반영하고 있음을 확인하였다. 완전복제·문장재배열·축약은
미탐지 0건이며, 어휘치환 150건 중 6건만 놓쳤다.
**최종 결과 : precision 98.40% 달성**
--- ---
--- ---