Spam Detector

Spam Detector | CPU-based Spam Classification


스팸 여부 확인

학습 데이터 샘플

# 메시지 라벨 테스트

About Spam Detector

Spam Detector는 채팅 메시지 및 댓글을 위한 스팸 분류 시스템입니다. Google의 Magika 철학에서 영감을 받아, 컴팩트한 Character-level CNN 모델과 ONNX Runtime을 통해 CPU만으로 밀리초 수준의 추론을 수행합니다.

Key Features

  • Character-level Robustness - 난독화된 텍스트(예: ㅅ.ㅍ.ㅏ.ㅁ), 이모지, 슬랭, 오타, 다국어 콘텐츠를 효과적으로 처리
  • Lightweight Architecture - CPU 전용 배포에 최적화된 소형 Char-CNN 모델, GPU 불필요
  • Production-ready REST API - 헬스체크, 단건 및 배치 분류 엔드포인트 제공 (배치 최대 128건)
  • Model Transparency - PyTorch-to-ONNX 출력 일관성을 보장하는 검증 도구 포함

How It Works

  1. Training (Python/PyTorch) - 데이터 준비, 모델 학습, ONNX 내보내기 및 검증
  2. Serving (Go) - Go 기반 REST API 서버가 onnxruntime_go를 사용하여 ONNX 모델을 로드하고 추론 요청을 처리
  3. Inference - HTTP 엔드포인트가 메시지를 수신하고, URL/전화번호 자동 정규화를 적용한 후 스팸 확률 점수와 분류 결과를 반환

Tech Stack

Component Technology
Training Python, PyTorch
Serving Go, onnxruntime_go
Deployment Docker (Multi-arch: linux/amd64, linux/arm64)
Build Makefile, Dockerfile

GitHub Repository

소스 코드와 사용 방법은 아래 GitHub 저장소에서 확인할 수 있습니다.

github.com/zbum/spam-detector