98 lines
15 KiB
Markdown
98 lines
15 KiB
Markdown
**방공·드론 식별 퀴즈 자동채점·오답유형 분석기**
|
|
|
|
난 이 도 **중급**
|
|
|
|
| **프로젝트 목표** | 미국-이란 전쟁 사례에서 보듯 드론과 미사일이 섞여 날아오는 전장에서는 장병 한 사람 한 사람이 비행체 형상을 식별하고, 아군·민간기와 구분하며, 정해진 보고·통제 절차를 지키는 능력이 방공의 기초가 된다. 그러나 부대 단위 방공 식별 교육은 채점과 오답 분석에 교관의 손이 많이 들어 개인별 약점을 제때 짚어 주기 어렵다. 본 프로젝트에서는 교육용 가상 문항 은행과 가상 응시자 응답을 코드로 만들어, 문항 데이터베이스 정의, 응답 정제·파싱, 자동 채점, 오답 유형(개념 혼동·피아 오인·절차 누락) 분류, 취약 영역 추천, 교수자 대시보드, 교관 검토(HITL), 대규모 동시 응시 부하 시험, AAR 문항 분석과 재보정, 최종 통합까지 채점·피드백 체계를 단계별로 구현한다. 최종 목표는 채점은 빠르고 정확하게 자동화하되, 이의 제기와 서술형 판단은 교관이 확정하는 신뢰할 수 있는 방공 교육 평가 도구를 만드는 것이다. |
|
|
| --- | --- |
|
|
|
|
| **유의사항** | 모든 문항·응답·인원은 코드 안에서 만든 교육용 가상 자료(가명 S001~, 가상1~3중대)이며 실제 교범·교전규칙 원문, 부대명, 장비 제원은 사용하지 않는다. 부대 내 촬영이나 부대 자료의 외부 AI 서비스 입력은 금지한다. 퀴즈의 교전 통제 문항은 일반 원칙 수준의 학습 내용이며, 실제 교전 여부는 교전수칙과 지휘계통에 따른다. 채점·추천 결과는 학습 보조 자료이며 개인 평가·인사 자료로 쓰지 않는다. 미션별 정답 코드는 각각 한 파일로 독립 실행된다. |
|
|
| --- | --- |
|
|
|
|
**1단계. 문항 데이터베이스 정의 및 응답 전처리**
|
|
|
|
| **미션 1. 방공 식별 및 대드론 교전 수칙 퀴즈 문항 데이터베이스 및 평가 기준 수립** [초급 · 1.5시간] | **미션 1. 방공 식별 및 대드론 교전 수칙 퀴즈 문항 데이터베이스 및 평가 기준 수립** [초급 · 1.5시간] |
|
|
| --- | --- |
|
|
| **목표** | 형상식별·피아식별·경보보고·교전통제·대드론일반 5개 영역의 퀴즈 문항 데이터베이스 구조와 난이도별 배점·합격 기준을 정하고, 잘못된 문항·응답 기록을 걸러내는 검증기를 만든다. |
|
|
| **수행** | 선다형·단답형·순서형 문항의 필드(문항ID, 영역, 난이도, 정답, 오답 보기별 오답 유형)와 응답 기록 필드(응시자, 문항, 원본 응답, 제출 시각), 응시 상황 필드(장소·통신 상태 등)를 정의한다. 가상 문항 32개와 응답 샘플을 검증하고, 형식·범위·누락·매핑 오류를 일부러 넣어 검증기가 모두 잡아내는지 확인한다. 배점(난이도 1/2/3 = 2/3/5점), 합격선(70%), 미응답 처리 규칙을 명세서에 정리한다. |
|
|
| **산출물** | data/schema/trn02_input_schema.json, docs/trn02_data_spec.md |
|
|
| **평가** | **[필수] 문항 DB·평가 기준 수립** — 스키마 필드 정의 완성도 100%, 정상 샘플 검증 오류 0건, 주입한 오류를 모두 검출하고 영역·유형별 문항 구성과 평가 기준이 명세서에 정리되었는가. |
|
|
|
|
| **미션 2. 장병 응답 텍스트/선택지 정제 및 시험 답안 파싱 전처리 모듈 구현** [초급~중급 · 2시간] | **미션 2. 장병 응답 텍스트/선택지 정제 및 시험 답안 파싱 전처리 모듈 구현** [초급~중급 · 2시간] |
|
|
| --- | --- |
|
|
| **목표** | 장병 응답의 전각 숫자·원문자·공백·어미 같은 표기 차이를 정제하고 문항 유형별로 답안을 파싱하는 전처리 모듈을 구현한다. |
|
|
| **수행** | 유니코드 정규화(NFKC), 원문자·영문 보기·'번' 표기 통일, 단답형 공백·끝맺음 어미 제거, 순서형 구분자 제거를 구현한다. 통신 지연으로 생긴 재전송 중복 제출을 제거하고 미응답·형식 오류는 삭제하지 않고 분리한다. 처리 속도와 전처리 오류율을 재고 단위 테스트 5종으로 검증한다. |
|
|
| **산출물** | src/preprocess/trn02_preprocessor.py, 전처리 전후 데이터셋 |
|
|
| **평가** | **[필수] 응답 정제·파싱** — 처리 속도 1,000건/초 이상, 전처리 오류율 0%, 단위 테스트 5종 통과, 미응답·형식 오류가 보존·분리되었는가. |
|
|
|
|
**2단계. 자동 채점 Baseline 및 오답 유형 분류 고도화**
|
|
|
|
| **미션 3. 선다형 및 단답형 방공 퀴즈 자동 채점 Baseline 로직 구현** [중급 · 2.5시간] | **미션 3. 선다형 및 단답형 방공 퀴즈 자동 채점 Baseline 로직 구현** [중급 · 2.5시간] |
|
|
| --- | --- |
|
|
| **목표** | 선다형·단답형·순서형 퀴즈를 자동 채점하는 Baseline을 구현하고 교관 기준 판정과 비교해 정확도를 확인한다. |
|
|
| **수행** | 정확 일치 채점과 오탈자(글자 순서 바뀜·한 글자 누락)를 허용하는 유사도 채점을 구현하고, 유사도 기준값을 바꿔 가며 단답형 채점 정확도를 비교한다. 정확 일치가 틀린 사례를 표로 정리하고, 뜻은 맞지만 인정 답안 목록에 없는 표현은 교관 검토 대상으로 넘긴다. 응시자별 점수·합격 여부와 실행 로그를 출력한다. |
|
|
| **산출물** | src/models/trn02_baseline_model.py, 기본 채점 결과 보고서 |
|
|
| **평가** | **[필수] 자동 채점 Baseline** — 교관 기준 대비 채점 정확도 75% 이상, 채점 예외 0건, 채점 규칙과 유사도 기준값 선택 근거가 설명되었는가. |
|
|
|
|
| **미션 4. 오답 유형(개념 혼동, 피아 오인, 절차 누락) 자동 분류 및 패턴 분석 엔진 고도화** [중급 · 3시간] | **미션 4. 오답 유형(개념 혼동, 피아 오인, 절차 누락) 자동 분류 및 패턴 분석 엔진 고도화** [중급 · 3시간] |
|
|
| --- | --- |
|
|
| **목표** | 오답을 개념 혼동·피아 오인·절차 누락 유형으로 자동 분류하는 엔진을 고도화하고 개인·중대별 오답 패턴을 분석한다. |
|
|
| **수행** | 선다형은 오답 보기별 유형 매핑, 순서형은 단계 누락·순서 뒤바뀜 규칙, 단답형은 오답 목록 대조와 오탈자 근사 일치에 문자 n-gram 분류 모델을 더한다. 표기 변형·오탈자·목록에 없는 새 오답 등 복합 오답 시나리오 10종을 만들어 유형별 재현율과 처리 지연을 검증한다. 잘못 분류된 새 오답을 모아 특징 재설계 대상으로 정리한다. |
|
|
| **산출물** | src/models/trn02_advanced_detector.py, 오답 분류 시나리오 테스트 결과 |
|
|
| **평가** | **[선택] 오답 유형 분류 고도화** — 오답 유형별 재현율 85% 이상, 건당 처리 200ms 이하, 시나리오 10종 통과, 오분류 사례의 원인과 개선 방향을 제시했는가. |
|
|
|
|
**3단계. 취약 영역 추천 및 교수자 대시보드**
|
|
|
|
| **미션 5. 개인별/부대별 방공 취약 영역 식별 및 맞춤형 보충 학습 추천 알고리즘 개발** [중급~고급 · 3시간] | **미션 5. 개인별/부대별 방공 취약 영역 식별 및 맞춤형 보충 학습 추천 알고리즘 개발** [중급~고급 · 3시간] |
|
|
| --- | --- |
|
|
| **목표** | 채점 결과로 개인별·중대별 방공 취약 영역을 찾고, 불필요한 추천을 줄인 맞춤형 보충 학습 추천 알고리즘을 개발한다. |
|
|
| **수행** | 문항 난이도를 반영한 베이즈 추정으로 영역별 '취약할 확률'을 계산하고 High/Medium/Low 신뢰도 등급을 부여한다. '오답이 하나라도 있으면 추천'하던 방식과 비교해 불필요한 추천(오경보) 감축률, 응답 1건을 빼고 다시 계산했을 때의 결정 일관성, ROC-AUC와 임계값 민감도를 확인한다. 중대 단위 보충 교육 권고 영역을 도출한다. |
|
|
| **산출물** | src/verification/trn02_confidence_engine.py, 추천 전후 비교표 |
|
|
| **평가** | **[필수] 취약 영역 추천·신뢰도** — 불필요한 추천(오경보율) 40% 이상 감축, 추천 결정 일관성 90% 이상, 신뢰도 등급 기준과 임계값 선택 근거를 설명했는가. |
|
|
|
|
| **미션 6. 부대 방공 지식 수준 통계 및 오답 분포 가시화 교수자 대시보드 구현** [중급 · 2.5시간] | **미션 6. 부대 방공 지식 수준 통계 및 오답 분포 가시화 교수자 대시보드 구현** [중급 · 2.5시간] |
|
|
| --- | --- |
|
|
| **목표** | 부대 방공 지식 수준과 오답 분포를 한눈에 보여 주는 교수자 대시보드를 구현한다. |
|
|
| **수행** | 중대x영역 정답률 히트맵, 중대별 오답 유형 비율, 점수 분포와 합격선, 고난도 문항 목록 등 구성요소 4종 이상을 그린다. 응답이 묶음으로 들어올 때 누적 집계만 갱신하도록 만들어 갱신 시간을 재고, 중대·영역 필터 조회 응답 시간을 측정한다. 정답률이 기준보다 낮은 중대·영역은 경보로 강조한다. |
|
|
| **산출물** | src/ui/trn02_dashboard.py(또는 웹 UI 컴포넌트), 대시보드 화면 |
|
|
| **평가** | **[선택] 교수자 대시보드** — 구성요소 4종 이상 렌더링, 집계 갱신 1초 이내, 필터 조회 100ms 이내, 경보 대상이 강조되어 교관이 바로 조치할 수 있는가. |
|
|
|
|
**4단계. 교관 검토 체계 및 대규모 응시 부하 검증**
|
|
|
|
| **미션 7. 이의 제기 문항 및 서술형 답변에 대한 교관 수동 채점(HITL) 검토 인터페이스 설계** [고급 · 3시간] | **미션 7. 이의 제기 문항 및 서술형 답변에 대한 교관 수동 채점(HITL) 검토 인터페이스 설계** [고급 · 3시간] |
|
|
| --- | --- |
|
|
| **목표** | 이의 제기 문항과 서술형 답변을 교관이 검토·확정하는 HITL 흐름을 설계하고, 자동 채점이 점수를 단정하지 못하게 한다. |
|
|
| **수행** | 서술형은 핵심 요소 키워드로 점수를 '제안'만 하고, 이의 제기와 함께 합격선 근처·저신뢰 답안부터 검토하는 우선순위 대기열에 올린다. 교관의 인정·기각·수정 결정은 사유 없이는 기록되지 않게 하고, 결정 전 자동 확정 시도를 차단한다. 모든 제출·결정을 해시 체인 감사 로그에 남기고 사후 변조를 탐지하는지 확인한다. |
|
|
| **산출물** | src/hitl/trn02_approval_workflow.py, docs/trn02_hitl_guide.md |
|
|
| **평가** | **[필수] 교관 검토(HITL) 체계** — 결정 전 자동 확정 0건, 승인/반려 처리 로깅 성공률 100%, 감사 로그 변조 탐지, 우선순위별 대기시간과 교관 검토로 바뀐 판정을 제시했는가. |
|
|
|
|
| **미션 8. 전 부대원 동시 응시 모의 대규모 트래픽 채점 부하 테스트 및 최적화** [고급 · 3.5시간] | **미션 8. 전 부대원 동시 응시 모의 대규모 트래픽 채점 부하 테스트 및 최적화** [고급 · 3.5시간] |
|
|
| --- | --- |
|
|
| **목표** | 전 부대원이 동시에 응시하는 상황을 모의해 채점 시스템이 대규모 제출과 장애 속에서도 멈추거나 답안을 잃지 않는지 시험한다. |
|
|
| **수행** | 평시 120명 제출량을 3배·6배·11배로 늘리고 초장문·제어문자·없는 문항 등 손상 답안과 채점기 응답 지연(장애 2%)을 주입한다. 오류가 나면 시스템을 멈추지 않고 원본을 '채점 보류' 대기열로 옮기는 안전 실패 동작을 확인한다. 병목 구간을 측정하고 같은 답안 재계산을 줄이는 캐시를 적용해 처리량을 비교한다. |
|
|
| **산출물** | tests/trn02_stress_test.py, 부하 테스트 분석 보고서 |
|
|
| **평가** | **[선택] 대규모 응시 부하 시험** — 제출량 500% 증가 시 시스템 다운 0건, 데이터 유실률 0%, 보류 사유 분류와 최적화 전후 처리량 비교, 기능 축소 운용 기준을 제시했는가. |
|
|
|
|
**5단계. AAR 문항 재보정 및 최종 통합**
|
|
|
|
| **미션 9. AAR 기반 문항 변별력 분석 및 난이도별 가중치 파라미터 재보정** [고급 · 3시간] | **미션 9. AAR 기반 문항 변별력 분석 및 난이도별 가중치 파라미터 재보정** [고급 · 3시간] |
|
|
| --- | --- |
|
|
| **목표** | 시행 후 검토(AAR)로 문항의 변별력과 정답 키 오류를 찾아내고, 결함 문항 조치와 배점 가중치 재보정으로 합격 판정의 정확도를 높인다. |
|
|
| **수행** | 문항별 정답률, 점이연 상관(변별도), 오답 보기 선택자의 평균 점수를 분석해 정답 키 입력 오류와 변별력 부족 문항을 찾는다. 키 수정, 결함 문항 제외, 난이도·변별도 가중치 탐색을 단계별로 적용해 가상 실제 숙달도 대비 합격 판정 정확도 변화를 측정하고, 다른 응시 집단에서 같은 오류가 재발하는지 확인한다. 재보정 결과를 YAML 설정으로 정리한다. |
|
|
| **산출물** | docs/trn02_aar_report.md, configs/trn02_tuned_params.yaml |
|
|
| **평가** | **[필수] AAR 문항 분석·재보정** — 결함 문항의 원인을 근거와 함께 규명하고, 재보정 후 합격 판정 정확도 향상을 확인했으며(목표 10%p, 미달 시 원인 제시), 새 응시 집단에서 재발 오류 0건인가. |
|
|
|
|
| **미션 10. 방공 퀴즈 자동채점 및 오답분석 시스템 통합 최종 운영 패키지 완성** [최고급 · 3.5시간] | **미션 10. 방공 퀴즈 자동채점 및 오답분석 시스템 통합 최종 운영 패키지 완성** [최고급 · 3.5시간] |
|
|
| --- | --- |
|
|
| **목표** | 문항 검증부터 정제, 채점, 오답 분류, 취약 영역 추천, 교관 검토 대기열까지 전체 시스템을 하나로 통합하고 운영 패키지로 완성한다. |
|
|
| **수행** | 재보정 설정(CONFIG)을 적용한 통합 파이프라인을 여러 응시 회차에 실행해 End-to-End 성공률을 확인한다. 핵심 기능 단위 테스트와 함수 커버리지를 측정하는 자체 점검을 수행하고, 응시 결과·오답 유형·취약 중대·검토 대기 현황을 담은 교육훈련 담당관 브리핑 요약을 출력한다. 인접 부대 교육체계와의 연동 인터페이스 확장 방향을 정리한다. |
|
|
| **산출물** | src/main_trn02.py, README.md, docs/trn02_final_report.pdf(md) |
|
|
| **평가** | **[필수] 통합 운영 패키지** — End-to-End 파이프라인 실행 성공률 100%, 자체 점검 전부 통과, 테스트(함수) 커버리지 85% 이상, 브리핑 수치가 실행 결과와 일치하는가. |
|
|
|
|
**최종 판정**
|
|
|
|
**판정 기준 :** 모든 필수 항목([필수])에서 PASS를 받아야 최종 PASS로 인정한다.
|
|
|
|
최종 판정 결과 : ( PASS / FAIL )
|
|
|
|
평가 의견 : (필수 항목 중 하나라도 FAIL인 경우 사유를 기재한다.)
|