Perkembangan teknologi informasi yang pesat telah menjadikan email sebagai salah satu sarana komunikasi utama dalam kehidupan sehari-hari, baik untuk keperluan pribadi maupun profesional. Melalui email, pengguna dapat bertukar informasi dengan cepat, efisien, dan murah. Namun, di balik kemudahan tersebut, muncul permasalahan serius berupa spam, yaitu pesan elektronik yang dikirim secara massal tanpa seizin penerima dan sering kali berisi iklan, promosi tidak relevan, atau bahkan upaya penipuan (phishing).
Spam tidak hanya mengganggu kenyamanan pengguna, tetapi juga dapat menimbulkan risiko keamanan seperti pencurian data pribadi, penyebaran malware, dan penurunan produktivitas akibat waktu yang terbuang untuk memilah pesan yang sah dan tidak sah. Oleh karena itu, diperlukan sistem yang mampu mendeteksi dan memfilter email spam secara otomatis agar pesan yang diterima pengguna lebih aman dan relevan.
Salah satu pendekatan yang efektif untuk mengatasi permasalahan ini adalah dengan menggunakan Natural Language Processing (NLP), yaitu cabang dari kecerdasan buatan yang berfokus pada pemrosesan dan pemahaman bahasa alami oleh komputer. Melalui NLP, isi dari pesan email dapat dianalisis untuk mengenali pola atau ciri khas yang membedakan antara email spam dan non-spam (ham).
Dengan memanfaatkan algoritma Machine Learning, sistem dapat dilatih menggunakan dataset berisi contoh email spam dan non-spam untuk kemudian mampu melakukan klasifikasi secara otomatis pada email baru. Metode ini terbukti efisien karena mampu beradaptasi terhadap perubahan pola bahasa yang digunakan oleh pengirim spam.
Berdasarkan uraian tersebut, penelitian atau proyek dengan judul “Deteksi Spam pada Email Menggunakan Natural Language Processing” bertujuan untuk membangun sistem cerdas yang dapat mengidentifikasi dan memfilter email spam secara akurat. Sistem ini diharapkan dapat membantu meningkatkan keamanan, efisiensi, dan kenyamanan pengguna dalam berkomunikasi melalui email.
2. Tujuan
-
Membangun sistem deteksi spam pada email yang mampu membedakan antara pesan spam dan pesan non-spam (ham) secara otomatis menggunakan metode Natural Language Processing (NLP).
-
Menerapkan tahapan preprocessing teks seperti tokenisasi, stopword removal, dan stemming untuk membersihkan serta menyiapkan data teks agar siap digunakan dalam proses klasifikasi.
-
Mengekstraksi fitur teks menggunakan metode TF-IDF (Term Frequency–Inverse Document Frequency) atau teknik representasi teks lainnya agar sistem dapat mengenali pola bahasa yang digunakan dalam email.
-
Menerapkan dan membandingkan algoritma Machine Learning seperti Naive Bayes, Logistic Regression, atau SVM untuk menentukan model terbaik dalam mendeteksi email spam.
-
Mengevaluasi kinerja sistem deteksi spam menggunakan metrik seperti akurasi, presisi, recall, dan F1-score untuk mengetahui sejauh mana sistem mampu mengklasifikasikan email secara tepat.
-
Meningkatkan keamanan dan efisiensi komunikasi email dengan meminimalkan jumlah pesan spam yang diterima oleh pengguna.
3. Dataset
Beberapa dataset populer:
-
SpamAssassin Public Corpus
-
Enron Email Dataset
-
Kaggle: SMS Spam Collection Dataset
(meskipun berbentuk SMS, sering digunakan untuk eksperimen serupa)
Format umum dataset:
4. Tahapan Implementasi
a. Preprocessing Teks
Langkah-langkah utama:
-
Case folding – ubah semua huruf ke huruf kecil.
-
Tokenization – memecah teks menjadi kata-kata.
-
Stopword removal – hilangkan kata umum seperti “the”, “and”, “is”.
-
Stemming/Lemmatization – ubah kata ke bentuk dasarnya.
-
Cleaning – hapus angka, tanda baca, dan simbol.
Contoh Python (menggunakan nltk atau scikit-learn):
b. Feature Extraction
Konversi teks menjadi angka agar bisa diproses oleh model ML:
-
Bag of Words (BoW)
-
TF-IDF (Term Frequency–Inverse Document Frequency)
-
Word Embedding (Word2Vec, GloVe, BERT, dsb)
Contoh TF-IDF:
c. Model Machine Learning
Beberapa model umum untuk klasifikasi teks:
-
Naive Bayes (paling populer dan efisien untuk spam detection)
-
Logistic Regression
-
Support Vector Machine (SVM)
-
Random Forest
-
Deep Learning (LSTM, BERT) untuk pendekatan lanjutan
Contoh Naive Bayes:
5. Evaluasi Model
Gunakan metrik:
-
Accuracy
-
Precision
-
Recall
-
F1-score
-
Confusion Matrix
Contoh:

