aqaqsubin / Spam-Classfication

Kaggle Aivle School 4th MiniProject 스팸메일 분류

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SMS Spam Classfication

Kaggle Aivle School 4th MiniProject-Spam Filtering Competition 2등

파일 구조

.
├── data                        데이터셋 경로
├── preprocessing               데이터 전처리 
│   ├── preprocess.py           전처리 및 학습 데이터셋 구축
│   ├── build_dataset.py        데이터셋 구축을 위한 실행 코드
│   └── util.py                 유틸리티                 
│
├── result/                     모델 테스트 결과 저장 경로
├── utils/
├── ...
├── main.py                     모델 학습 및 테스트를 위한 실행 코드
├── READMD.md
└── ...

Building Dataset

cd preprocessing/

1. Build Training, Validation, Test dataset

python build_dataset.py --preprocessing --split --data_dir ../data --result_dir ../result


Training/Testing Classification Model


  • model_type: 모델 유형
    • bert : Pretrained KoBERT (monologg/kobert)
    • electra : Pretrained KoELECTRA (monologg/koelectra-base-v3-discriminator)
    • bigbird : Pretrained KoBigBird (monologg/kobigbird-bert-base)
    • roberta : Pretrained KoRoBERTa (klue/roberta-base)

1. Training

python main.py --train --max_epochs 10 --data_dir data/revised --model_type electra --model_name electra+revised --max_len 64 --gpuid 0

2. Testing

하나의 GPU만 사용

(1) <data_dir>/test.csv에 대한 성능 테스트

python main.py --data_dir data/revised --model_type electra --model_name electra+revised --save_dir result --max_len 64 --gpuid 0 --model_pt <model checkpoint path>

(2) 사용자 입력에 대한 성능 테스트

python main.py --user_input --data_dir data/revised --model_type electra --max_len 64 --gpuid 0 --model_pt <model checkpoint path>

리더보드 결과

144팀 중 2등 달성

리더보드

About

Kaggle Aivle School 4th MiniProject 스팸메일 분류


Languages

Language:Python 100.0%