docs: 재학습 파이프라인 설계 문서 추가 및 진행 상황 업데이트

This commit is contained in:
Claude-51124 2025-11-17 12:18:51 +09:00
parent c594646113
commit 0878a9d571
2 changed files with 88 additions and 5 deletions

View File

@ -47,17 +47,19 @@
## 로빙 프로젝트 적용 현황 ## 로빙 프로젝트 적용 현황
### 구현 완료 ### 구현 완료 (2025-11-17)
- ✅ 사용자 피드백 수집 (좋아요/싫어요) - ✅ 사용자 피드백 수집 (좋아요/싫어요)
- ✅ 리뷰 큐 진입 로직 (low confidence, error, negative feedback) - ✅ 리뷰 큐 진입 로직 (low confidence, error, negative feedback)
- ✅ 관리자 라벨링 API - ✅ 관리자 라벨링 API (조회/라벨링/통계)
- ✅ 데이터 수집 파이프라인 (100% 수집률 달성) - ✅ 데이터 수집 파이프라인 (100% 수집률 달성)
- ✅ 코드 작성 원칙 준수 (router → services → state)
### 다음 단계 ### 진행 중 (2025-11-17)
- [ ] 재학습 배치 구현 - [ ] 재학습 배치 스크립트 구현 (TDD)
- [ ] 재학습 전후 정확도 비교 측정 - [ ] 재학습 전후 정확도 비교 측정
- [ ] Active Learning 쿼리 전략 구현 (uncertainty sampling, margin sampling)
- [ ] 암묵적 피드백 수집 (재질문, 세션 종료 등)
- [ ] Few-shot learning 기법 적용 - [ ] Few-shot learning 기법 적용
- [ ] 암묵적 피드백 통합
## 관련 연구 분야 ## 관련 연구 분야

View File

@ -0,0 +1,81 @@
# 의도 분류 재학습 파이프라인 설계
**작성일**: 2025-11-17
**목적**: 라벨링된 데이터로 의도 분류기 재학습 및 개선 검증
## 1. 재학습 배치 스크립트 설계
### 1.1 입력 데이터
- `IntentReviewQueue`에서 `status='confirmed'` 또는 `status='corrected'`인 항목
- `true_intent`가 설정된 항목만 사용
- 최소 라벨링 개수: intent별 5개 이상 (통계적 유의성)
### 1.2 재학습 대상 모델
1. **Naive Bayes 분류기** (`app/services/intent_bayes.py`)
- 라벨링된 메시지로 vocabulary 및 intent별 통계 업데이트
- 기존 seed 데이터와 병합
2. **Ko-SRoBERTa Prototype** (`intent_prototypes` 테이블)
- `true_intent`로 재라벨링된 메시지 임베딩으로 centroid 재계산
- 기존 prototype과 가중 평균 또는 교체
### 1.3 재학습 스크립트 구조
```
scripts/retrain_intent_classifier.py
- 라벨링된 데이터 추출
- Naive Bayes 재학습
- Prototype 재계산
- 검증 (기존 테스트 세트)
- 롤백 가능한 백업 생성
```
## 2. 재학습 전후 측정
### 2.1 측정 지표
- **정확도**: 동일 테스트 샘플에서 `predicted_intent == true_intent` 비율
- **리뷰 큐 진입률**: low confidence 케이스 감소율
- **Intent별 F1-score**: intent별 성능 변화
### 2.2 측정 스크립트
```
scripts/measure_intent_improvement.py
- 재학습 전 baseline 측정
- 재학습 실행
- 재학습 후 측정
- 비교 리포트 생성
```
## 3. Active Learning 쿼리 전략
### 3.1 Uncertainty Sampling
- **Margin Sampling**: `confidence(predicted) - confidence(2nd)`가 작은 순서
- **Entropy Sampling**: 예측 분포의 엔트로피가 높은 순서
### 3.2 구현 위치
- `app/brain/intent_review.py`: `should_enqueue_for_review` 확장
- `app/state/intent_review_repository.py`: 우선순위 정렬 함수 추가
## 4. 암묵적 피드백 수집
### 4.1 암묵적 신호
- **재질문**: 같은 사용자가 짧은 시간 내에 유사한 질문 반복
- **세션 종료**: 응답 후 즉시 세션 종료 (불만족 가능성)
- **무응답**: 사용자가 응답 없이 다음 메시지 전송
### 4.2 구현 위치
- `app/services/conversation_service.py`: 세션 종료 감지
- `app/router/message_router.py`: 재질문 패턴 감지
- `app/brain/intent_review.py`: 암묵적 피드백 조건 추가
## 5. 구현 순서
1. **재학습 배치 스크립트** (TDD)
2. **재학습 전후 측정 스크립트** (TDD)
3. **쿼리 전략 구현** (TDD)
4. **암묵적 피드백 수집** (TDD)
5. **문서 업데이트**
---
**참고**: 각 단계는 TDD 원칙에 따라 테스트 먼저 작성 후 구현