Downloads · 30 days
15
12% of all-time downloads
nahiar/spam-detection-bert-v2
spam-detection-bert-v2 is a text classification model from nahiar. Use it when you need a label for a piece of text. It is set up for transformers. The card lists the license as mit.
Model BERT untuk deteksi spam dalam bahasa Indonesia dengan akurasi 99%. Model ini telah di-retrain dengan dataset yang telah diperbarui dan dilabeli ulang untuk performa yang optimal pada konten Indonesia.
Downloads · 30 days
15
12% of all-time downloads
All-time downloads
125
Public
Parameters
111M
442 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors442 MB · 100%
From the Hugging Face model README
Model BERT untuk deteksi spam dalam bahasa Indonesia dengan akurasi 99%. Model ini telah di-retrain dengan dataset yang telah diperbarui dan dilabeli ulang untuk performa yang optimal pada konten Indonesia.
from transformers import pipeline
# Cara termudah menggunakan model
classifier = pipeline("text-classification",
model="nahiar/spam-detection-bert",
tokenizer="nahiar/spam-detection-bert")
# Test dengan teks
texts = [
"lacak hp hilang by no hp / imei lacak penipu/scammer/tabrak lari/terror/revengeporn sadap / hack / pulihkan akun",
"Senin, 21 Juli 2025, Samapta Polsek Ngaglik melaksanakan patroli stasioner balong jalan palagan donoharjo",
"Mari berkontribusi terhadap gerakan rakyat dengan membeli baju ini seharga Rp 160.000. Hubungi kami melalui WA 08977472296"
]
results = classifier(texts)
for text, result in zip(texts, results):
print(f"Text: {text}")
print(f"Result: {result['label']} (confidence: {result['score']:.4f})")
print("---")
| Metric | HAM | SPAM | Overall |
|---|---|---|---|
| Precision | 99% | 100% | 99% |
| Recall | 100% | 83% | 99% |
| F1-Score | 99% | 91% | 99% |
| Overall Accuracy | - | - | 99% |
Model v2 ini dilatih ulang menggunakan dataset yang telah diperbarui dan dilabeli ulang secara manual:
Updated: Januari 2025
✅ Re-trained dengan dataset yang telah dilabeli ulang secara manual ✅ High accuracy (99%) pada deteksi spam dengan konteks Indonesia ✅ Better handling untuk pesan dengan format yang kompleks ✅ Enhanced performance pada teks dengan campuran formal dan informal ✅ Optimized untuk konten media sosial Indonesia
0: "HAM" (tidak spam)
1: "SPAM" (spam)
Model ini di-retrain menggunakan:
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
# Load model dan tokenizer
tokenizer = AutoTokenizer.from_pretrained("nahiar/spam-detection-bert")
model = AutoModelForSequenceClassification.from_pretrained("nahiar/spam-detection-bert")
def predict_spam(text):
inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True)
outputs = model(**inputs)
probs = torch.softmax(outputs.logits, dim=1)
predicted_label = torch.argmax(probs, dim=1).item()
confidence = probs[0][predicted_label].item()
label_map = {0: "HAM", 1: "SPAM"}
return label_map[predicted_label], confidence
# Test
text = "Dapatkan uang dengan mudah! Klik link ini sekarang!"
result, confidence = predict_spam(text)
print(f"Prediksi: {result} (Confidence: {confidence:.4f})")
@misc{nahiar_spam_detection_bert,
title={Indonesian Spam Detection BERT},
author={Raihan Hidayatullah Djunaedi},
year={2025},
url={https://huggingface.co/nahiar/spam-detection-bert}
}