Skip to content

[Feat] 형태소·문자 기반 피싱 분류 모델 추가 및 성능 비교 #36

Description

@pearseona

🏷️ 이슈 유형

  • feat : 새로운 기능 추가
  • fix : 버그 수정
  • refactor : 동작 변경 없는 구조 개선
  • docs : README 등 문서 추가/수정
  • chore : 설정, 빌드, 의존성 패키지 변경
  • 기타 : 설명 추가 작성

💡기능

기존 Naive Bayes 모델에 형태소 기반 Logistic Regression과 문자 n-gram 기반 Linear SVM을 추가합니다.

동일한 학습-검증-테스트 데이터에서 각 모델의 성능을 측정하여 SafeFam 자체 텍스트 분류 모델의 성능을 비교합니다.

🛠️할 일 목록

  • 중복·유사 메시지로 인한 데이터 누수를 방지하도록 학습·검증·테스트 데이터 분할 기준을 정리한다.
  • 기존 띄어쓰기 기반 Naive Bayes의 기준 성능을 측정한다.
  • 한국어 형태소 분석 전처리와 TF-IDF 파이프라인을 구현한다.
  • 형태소 TF-IDF 기반 Logistic Regression 모델을 학습하고 저장한다.
  • 문자 n-gram TF-IDF 기반 Linear SVM 모델을 학습하고 저장한다.
  • 각 모델의 Precision, Recall, F1, F2, 혼동행렬과 평균 추론 시간을 측정한다.
  • 동일 테스트셋을 사용한 모델별 성능 비교표를 생성한다.
  • 학습 및 평가 방법과 모델 실행 방법을 문서화한다.
  • 모델 로딩·전처리·예측 로직에 대한 테스트를 작성한다.

📌 참고 사항 / 제약 조건

  • 모델별 성능 비교에는 동일한 최종 테스트셋을 사용합니다.
  • 최종 테스트셋은 모델 학습과 하이퍼파라미터 조정에 사용하지 않습니다.
  • 동일하거나 유사한 피싱 템플릿이 학습 데이터와 테스트 데이터에 동시에 포함되지 않도록 합니다.
  • 형태소 분석이 항상 성능을 향상한다고 가정하지 않고 기존 모델과 수치로 비교합니다.
  • 피싱 메시지를 정상으로 분류하는 False Negative를 중요하게 평가하므로 Recall과 F2-score를 주요 지표로 사용합니다.
  • 기존 Naive Bayes 모델과 현재 분석 API의 동작을 유지해야 합니다.
  • 모델 파일과 벡터라이저의 버전 및 재학습 방법을 기록합니다.

Metadata

Metadata

Assignees

Labels

featNew feature or functional additions to the application

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions