Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

Panduan Praktis: Deteksi Spam SMS Menggunakan BERT dan PyTorch

1 min read .
Panduan Praktis: Deteksi Spam SMS Menggunakan BERT dan PyTorch

Di tulisan ini saya akan coba main-main dengan BERT buat deteksi SMS spam. BERT (Bidirectional Encoder Representations from Transformers) adalah salah satu model NLP paling populer yang bisa dipakai untuk banyak tugas teks, termasuk klasifikasi spam. Dengan bantuan PyTorch, implementasinya jadi fleksibel dan relatif mudah.

Apa yang Perlu Disiapkan?

Sebelum mulai, pastikan kamu sudah punya:

  • Python
  • PyTorch
  • Transformers (dari Hugging Face)
  • Dataset SMS (misalnya SMS Spam Collection)

Kalau belum, install dulu library yang dibutuhkan:

pip install torch transformers scikit-learn

Contoh Kode Sederhana

Ini contoh kode singkat buat klasifikasi spam SMS:

from transformers import BertTokenizer, BertForSequenceClassification
import torch

# Load tokenizer & model
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")
model = BertForSequenceClassification.from_pretrained("bert-base-uncased", num_labels=2)

# Contoh SMS
texts = ["Congratulations! You won a free ticket!", 
         "Halo, besok kita ketemu di kantor ya"]

# Tokenisasi
inputs = tokenizer(texts, padding=True, truncation=True, return_tensors="pt")

# Inference
with torch.no_grad():
    outputs = model(**inputs)
    predictions = torch.argmax(outputs.logits, dim=-1)

for text, pred in zip(texts, predictions):
    label = "Spam" if pred.item() == 1 else "Ham"
    print(f"{text}{label}")

Cara Kerjanya

  • Tokenizer → memotong teks jadi token yang bisa dimengerti BERT.
  • ModelBertForSequenceClassification dilatih untuk membedakan antara spam dan bukan spam.
  • Inference → model menghasilkan logits, lalu diubah jadi label prediksi (spam/ham).

Penutup

Dengan beberapa baris kode saja, kita bisa memanfaatkan kekuatan BERT untuk deteksi spam SMS. Kalau mau lebih serius, model bisa dilatih ulang (fine-tuning) dengan dataset SMS Spam Collection agar hasilnya lebih akurat.

Lihat Juga

chevron-up