Files
2026-10-08 16:43:48 +09:00

268 lines
14 KiB
Markdown

**TRN02 실습가이드 - 방공·드론 식별 퀴즈 자동채점·오답유형 분석기**
구 분 **실습가이드 [교육용가상자료]**
**1. 실습 개요**
본 실습은 교육용 가상 문항 은행과 가상 응시자 응답으로 방공·드론 식별 퀴즈의 자동채점·오답유형 분석 시스템을 미션 단위로 구현하는 과정이다. 미션마다 정답 코드(TRN02_정답코드.md)의 해당 코드를 웹 파이썬 실행기에 붙여 넣어 실행하고, 출력된 수치가 평가 기준을 충족하는지 확인한 뒤 파라미터를 바꿔 보는 도전 과제를 수행한다. 미션별 코드는 서로 독립적이어서 어느 미션부터 실행해도 동작한다.
| **과제** | TRN02 방공·드론 식별 퀴즈 자동채점·오답유형 분석기 |
| --- | --- |
| **난이도·유형** | 중급 / 코딩형 |
| --- | --- |
| **예상 소요시간** | 미션 10개, 총 27.5시간 |
| --- | --- |
| **준비물** | TRN02_정답코드.md, 웹 파이썬 실행기(numpy·pandas·scipy·scikit-learn·matplotlib 사용 가능), 결과 기록용 문서 |
| --- | --- |
**2. 진행 방법**
- 정답코드 md에서 해당 미션의 코드 블록 전체를 복사해 실행기에 붙여 넣고 실행한다(부분 복사 시 문항 은행·응답 생성 함수가 빠져 오류가 난다).
- 실행 결과를 md의 '실행 결과 예시'와 비교한다. 난수 시드가 고정되어 같은 값이 나오지만, 처리 시간(ms·건/초)은 실행 환경에 따라 달라진다.
- 도전 과제는 코드 상단의 파라미터(유사도 기준값, 합격선, 경보 기준, 장애율 등)를 바꿔 다시 실행하고 변화와 이유를 기록한다.
- 그래프 글자는 영문, 표·출력은 한글이다. 한글이 깨지면 실행기 글꼴 문제이며 결과에는 영향이 없다.
- 실제 부대원 성적·인적사항은 입력하지 않는다. 교전 통제 문항은 일반 원칙 수준이며 실제 교전 판단은 교전수칙·지휘계통에 따른다.
**3. 미션 진행 요약**
| **미션** | **난이도·시간** | **핵심 확인 결과** |
| --- | --- | --- |
| **M1. 방공 식별 및 대드론 교전 수칙 퀴즈 문항 데이터베이스 및 평가 기준 수립** | 초급
1.5시간 | 정상 문항·응답 검증 오류 0건, 주입 오류 모두 검출 |
| **M2. 장병 응답 텍스트/선택지 정제 및 시험 답안 파싱 전처리 모듈 구현** | 초급~중급
2시간 | 처리 속도 1,000건/초 이상(예시 약 18만 건/초), 전처리 오류 0건 |
| **M3. 선다형 및 단답형 방공 퀴즈 자동 채점 Baseline 로직 구현** | 중급
2.5시간 | 채점 정확도 99.0%(목표 75% 이상), 채점 예외 0건 |
| **M4. 오답 유형(개념 혼동, 피아 오인, 절차 누락) 자동 분류 및 패턴 분석 엔진 고도화** | 중급
3시간 | 유형별 재현율 85% 이상(예시 0.995~1.0), 건당 0.2초 이하 |
| **M5. 개인별/부대별 방공 취약 영역 식별 및 맞춤형 보충 학습 추천 알고리즘 개발** | 중급~고급
3시간 | 오경보율 감축 42.6%(목표 40% 이상), 결정 일관성 91.2% |
| **M6. 부대 방공 지식 수준 통계 및 오답 분포 가시화 교수자 대시보드 구현** | 중급
2.5시간 | 집계 갱신 최대 수십 ms(목표 1초 이내), 필터 조회 최대 수 ms(목표 100ms 이내) |
| **M7. 이의 제기 문항 및 서술형 답변에 대한 교관 수동 채점(HITL) 검토 인터페이스 설계** | 고급
3시간 | 자동 확정 시도 5건 모두 차단, 로깅 성공률 100%(165건) |
| **M8. 전 부대원 동시 응시 모의 대규모 트래픽 채점 부하 테스트 및 최적화** | 고급
3.5시간 | 평시 x6(500% 증가)에서 다운 0건, 유실 0건 |
| **M9. AAR 기반 문항 변별력 분석 및 난이도별 가중치 파라미터 재보정** | 고급
3시간 | Q11 키 오류·Q08 결함 식별, 정확도 83.3% → 87.5%(+4.2%p, 목표 10%p 미달) |
| **M10. 방공 퀴즈 자동채점 및 오답분석 시스템 통합 최종 운영 패키지 완성** | 최고급
3.5시간 | End-to-End 성공률 100%, 자체 점검 16/16 통과 |
**미션 1. 방공 식별 및 대드론 교전 수칙 퀴즈 문항 데이터베이스 및 평가 기준 수립**
| **난이도·시간** | 초급 · 1.5시간 |
| --- | --- |
| **진행 순서** | 1) M1 코드를 실행해 문항 32개와 응답 샘플 50건의 검증 결과를 확인한다.
2) 오류 주입 결과에서 각 오류가 어떤 규칙에 걸렸는지 표로 정리한다.
3) 문항 구성표(영역x유형)와 평가 기준(배점·합격선·미응답 처리)을 명세서로 옮긴다. |
| --- | --- |
| **확인할 결과** | 정상 문항·응답 검증 오류 0건, 주입 오류 모두 검출
스키마 필드 14개, 5개 영역 문항 구성과 배점(2/3/5점)·합격선 70% 정리 |
| --- | --- |
| **도전 과제** | 응시 상황 필드에 기상(weather: 맑음·우천·야간) 항목을 추가하고 허용값 밖의 값을 넣어 검출되는지 확인한다. |
| --- | --- |
| **제출물** | 스키마 정의 코드, 데이터 명세서(필드·규칙·평가 기준표) |
| --- | --- |
**미션 2. 장병 응답 텍스트/선택지 정제 및 시험 답안 파싱 전처리 모듈 구현**
| **난이도·시간** | 초급~중급 · 2시간 |
| --- | --- |
| **진행 순서** | 1) M2 코드를 실행해 처리 속도, 중복 제거 건수, 상태 분포를 확인한다.
2) 단위 테스트 5종의 입력과 기대값을 표로 정리한다.
3) 전처리 전후 예시에서 원문자·전각·어미가 어떻게 정제되었는지 설명한다. |
| --- | --- |
| **확인할 결과** | 처리 속도 1,000건/초 이상(예시 약 18만 건/초), 전처리 오류 0건
단위 테스트 5/5 통과, 중복 115건 제거 후 3,840건 |
| --- | --- |
| **도전 과제** | TAILS에 '이에요'를 추가하고 '피아식별이에요' 같은 응답이 정상 정제되는지 테스트를 하나 더 만든다. |
| --- | --- |
| **제출물** | 전처리 코드, 단위 테스트 결과, 전처리 전후 예시표 |
| --- | --- |
**미션 3. 선다형 및 단답형 방공 퀴즈 자동 채점 Baseline 로직 구현**
| **난이도·시간** | 중급 · 2.5시간 |
| --- | --- |
| **진행 순서** | 1) M3 코드를 실행해 채점 정확도와 건당 처리 시간을 확인한다.
2) 정확 일치가 틀린 사례 표를 보고 오탈자 허용 채점이 바로잡은 경우와 못 잡은 경우를 구분한다.
3) 유사도 기준값별 정확도를 보고 0.75를 고른 이유를 정리한다. |
| --- | --- |
| **확인할 결과** | 채점 정확도 99.0%(목표 75% 이상), 채점 예외 0건
평균 67.4점, 합격률 50.8% |
| --- | --- |
| **도전 과제** | grade_fuzzy의 cut을 0.6으로 낮췄을 때 알려진 오답이 정답으로 바뀌는 사례가 생기는지 확인한다. |
| --- | --- |
| **제출물** | 채점 코드, 기본 채점 결과 보고서(정확도·오류 사례·중대별 점수) |
| --- | --- |
**미션 4. 오답 유형(개념 혼동, 피아 오인, 절차 누락) 자동 분류 및 패턴 분석 엔진 고도화**
| **난이도·시간** | 중급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M4 코드를 실행해 시나리오 10종의 통과 여부와 유형별 재현율을 확인한다.
2) S9(목록에 없는 새 오답)의 오분류 사례를 보고 원인을 적는다.
3) 중대별 오답 유형 비율 표로 중대마다 강조할 교육 내용을 정한다. |
| --- | --- |
| **확인할 결과** | 유형별 재현율 85% 이상(예시 0.995~1.0), 건당 0.2초 이하
시나리오 10/10 통과, 새 오답 오분류 3건 식별 |
| --- | --- |
| **도전 과제** | SEED 사전에 오분류된 새 오답 3개를 올바른 유형으로 추가하고 S9 정확도가 오르는지 확인한다. |
| --- | --- |
| **제출물** | 분류 엔진 코드, 시나리오 테스트 결과표, 오답 패턴 분석 |
| --- | --- |
**미션 5. 개인별/부대별 방공 취약 영역 식별 및 맞춤형 보충 학습 추천 알고리즘 개발**
| **난이도·시간** | 중급~고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M5 코드를 실행해 기존 방식과 난이도 반영 추정의 추천 수·오경보율을 비교한다.
2) 임계값 민감도 결과로 오경보율과 재현율의 교환 관계를 설명한다.
3) 개인 추천 예시와 중대 단위 권고를 확인한다. |
| --- | --- |
| **확인할 결과** | 오경보율 감축 42.6%(목표 40% 이상), 결정 일관성 91.2%
ROC-AUC 0.898, 중대 단위 보충 교육 권고 5건 |
| --- | --- |
| **도전 과제** | MEDIUM을 0.3으로 낮췄을 때 오경보율 감축과 재현율이 어떻게 바뀌는지 확인하고 적정 기준을 제안한다. |
| --- | --- |
| **제출물** | 추천 알고리즘 코드, 추천 전후 비교표, 신뢰도 등급 기준 |
| --- | --- |
**미션 6. 부대 방공 지식 수준 통계 및 오답 분포 가시화 교수자 대시보드 구현**
| **난이도·시간** | 중급 · 2.5시간 |
| --- | --- |
| **진행 순서** | 1) M6 코드를 실행해 4번의 갱신 시간과 필터 조회 시간을 확인한다.
2) 대시보드 4개 그림에서 경보(굵은 글씨) 칸과 고난도 문항을 찾는다.
3) 중대별 요약과 경보 하이라이트를 근거로 교관 조치 사항을 적는다. |
| --- | --- |
| **확인할 결과** | 집계 갱신 최대 수십 ms(목표 1초 이내), 필터 조회 최대 수 ms(목표 100ms 이내)
구성요소 4종 렌더링, 경보 1건(가상2중대 교전통제 0.50) |
| --- | --- |
| **도전 과제** | ALERT_AREA를 0.65로 올려 경보 대상이 몇 건으로 늘어나는지 보고, 경보가 너무 많을 때의 문제를 적는다. |
| --- | --- |
| **제출물** | 대시보드 코드, 대시보드 화면 캡처, 교관 조치 메모 |
| --- | --- |
**미션 7. 이의 제기 문항 및 서술형 답변에 대한 교관 수동 채점(HITL) 검토 인터페이스 설계**
| **난이도·시간** | 고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M7 코드를 실행해 자동 확정 차단과 사유 없는 결정 차단을 확인한다.
2) 검토 결과 표에서 서술형 승인·수정, 이의 제기 인정·기각 건수를 확인한다.
3) 감사 로그 변조 탐지와 교관 검토로 판정이 바뀐 인원 수를 정리한다. |
| --- | --- |
| **확인할 결과** | 자동 확정 시도 5건 모두 차단, 로깅 성공률 100%(165건)
변조 탐지(seq 7), 합격/불합격 변경 3명 |
| --- | --- |
| **도전 과제** | WRONG_SENT에 틀린 진술을 하나 추가하고, 키워드 제안 점수가 틀리는 사례가 늘어나는지 확인한다. |
| --- | --- |
| **제출물** | HITL 흐름 코드, 교관 검토 지침(요약), 감사 로그 검증 결과 |
| --- | --- |
**미션 8. 전 부대원 동시 응시 모의 대규모 트래픽 채점 부하 테스트 및 최적화**
| **난이도·시간** | 고급 · 3.5시간 |
| --- | --- |
| **진행 순서** | 1) M8 코드를 실행해 부하 단계별 처리량·보류·유실을 확인한다.
2) 보류 사유(장애·길이 초과·없는 문항)별 처리 방안을 정리한다.
3) 병목 프로파일과 캐시 적용 전후 처리량을 비교한다. |
| --- | --- |
| **확인할 결과** | 평시 x6(500% 증가)에서 다운 0건, 유실 0건
캐시 적용 후 처리량 수 배 향상(예시 5.3배) |
| --- | --- |
| **도전 과제** | fail_rate를 0.1로 올려 보류 건수가 어떻게 늘어나는지 보고, 기능 축소 운용 전환 기준을 정한다. |
| --- | --- |
| **제출물** | 부하 테스트 코드, 부하 테스트 분석 보고서(처리량·보류·최적화) |
| --- | --- |
**미션 9. AAR 기반 문항 변별력 분석 및 난이도별 가중치 파라미터 재보정**
| **난이도·시간** | 고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M9 코드를 실행해 경고 문항(정답 키 오류 의심·변별력 부족)을 확인한다.
2) 재보정 단계별 합격 판정 정확도 변화를 표로 정리한다.
3) 응시 집단 B 검증 결과와 YAML 설정을 AAR 보고서에 옮긴다. |
| --- | --- |
| **확인할 결과** | Q11 키 오류·Q08 결함 식별, 정확도 83.3% → 87.5%(+4.2%p, 목표 10%p 미달)
새 응시 집단 재발 오류 0건, 신규 점검 대상 3건 |
| --- | --- |
| **도전 과제** | 응시자 수를 make_responses(80, ...)로 늘려 변별도 추정이 안정되는지, 신규 점검 대상 수가 어떻게 변하는지 확인한다. |
| --- | --- |
| **제출물** | AAR 분석 코드, AAR 보고서(원인·조치·효과), 재보정 YAML |
| --- | --- |
**미션 10. 방공 퀴즈 자동채점 및 오답분석 시스템 통합 최종 운영 패키지 완성**
| **난이도·시간** | 최고급 · 3.5시간 |
| --- | --- |
| **진행 순서** | 1) M10 코드를 실행해 3개 회차 End-to-End 실행 결과를 확인한다.
2) 자체 점검 통과 수와 함수 커버리지를 확인한다.
3) 출력된 브리핑 요약으로 5분 분량 교육훈련 담당관 브리핑 자료를 만든다. |
| --- | --- |
| **확인할 결과** | End-to-End 성공률 100%, 자체 점검 16/16 통과
함수 커버리지 100%(22/22), 브리핑 수치가 실행 결과와 일치 |
| --- | --- |
| **도전 과제** | CONFIG의 fuzzy_cut을 0.9, pass_ratio를 0.6으로 바꿔 실행하고 합격률과 교관 검토 건수 변화를 브리핑에 추가한다. |
| --- | --- |
| **제출물** | 통합 코드, README(실행 방법), 최종 결과 보고서와 브리핑 자료 |
| --- | --- |
**4. 최종 점검표**
| **점검 항목** | **확인** |
| --- | --- |
| 미션 1~10 코드가 모두 오류 없이 실행되었다 | ( ) |
| 각 미션의 확인할 결과를 기록했다 | ( ) |
| 도전 과제 결과와 이유를 기록했다 | ( ) |
| 목표 미달 항목(M9 정확도 10%p)의 원인을 기록했다 | ( ) |
| 실제 부대원 성적·인적사항을 사용하지 않았다 | ( ) |
| 채점 확정과 이의 판단은 교관이 하도록 설계했다 | ( ) |