Penyaringan Spam Short Message Service Menggunakan Support Vector Machine

Teks penuh

(1)

Penyaringan Spam Short Message Service Menggunakan Support Vector Machine

Tri Herdiawan Apandi*), Castaka Agus Sugianto**)

Teknik Informatika, Politeknik TEDC Bandung

E-Mail: *h.apandi@gmail.com, **castaka@poltektedc.ac.id

Abstrak

Pengguna pesawat selular tidak bisa lepas dari SMS. Tetapi dengan semakin banyak

orang yang menggunakan SMS ini banyak yang menyalah gunakan. Spam SMS

adalah penyalahgunaan yang bisa merugikan pengguna handphone dan provider.

Untuk mencegah spam SMS ini masuk ke dalam handphone banyak cara yang telah

dilalukan. Penyaringan spam SMS adalah salah satunya, dengan menggunakan

Support Vector Machine(SVM). Pesan SMS yang dikumpulkan di lakukan preprosessing, dipecah isi SMS, dilakukan pemilihan fitur, pembuat fitur vector, optimasi parameter, melakukan pelatihan untuk menghasilkan model, dan melakukan prediksi. Optimasi parameter adalah cara untuk mengingkatkan akurasi, dengan menggunakan parameter C= 32 dan γ=0,001953125 untuk data pelatihan dengan akurasi 92,375% dan 10 fold cross validation pada data uji mengingkatkan akurasi sebesar 29% dari yang asalnya 62% pada pemecahan kalimat menjadi kata atau pada

penggunaan Term Frequency. Sedang pada karakter N-grams meningkatkan akurasi

sebesar 43% dari yang asalnya 50% pada data uji dan pada data pelatihan dengan akurasi 93.875% dengan nilai C= 32 dan γ=0,001953125 untuk data latih. Sedangkan untuk hasil akurasi terbaik untuk data latih adalah 96.625% dengan pembobotan term frequency dan untuk data uji akurasi sebesar 95% untuk semua pembobot.

Kata kunci: Spam SMS, SVM, Pembobotan, dan Optimasi Parameter

1.

PENDAHULUAN

Short Message Service (SMS) adalah komunikasi teks layanan komponen telepon,

web atau sistem komunikasi mobile,

menggunakan protokol standar komunikasi yang memungkinkan pertukaran pesan teks

singkat antara fixed line atau perangkat

ponsel. Menurut Asosiasi Telekomunikasi Seluler Indonesia (ATSI) jumlah SMS yang terkirim pada tahun 2011 juga mencapai 260 miliar SMS dan jumlah transaksi data

mencapai 27 ribu terrabyte[1].

Spam SMS adalah penyalahgunaan isi dari SMS yang merugikan peneriman.

Menurut Cloudmark stats, jumlah spam

ponsel bervariasi misalnya di Amerika Utara, kurang dari 1% dari pesan SMS yang spam

di 2011, bagian Asia hingga 30%

mengandung spam SMS[4]. Karena

hambatan masuk yang rendah, maka banyak

spammers yang muncul dan jumlah spam

SMS sangat tinggi. Untuk itu penyaringan SMS sangat dibutuhkan untuk mencegah kerugian yang dihadapi oleh pengguna

handphone itu sendiri, provider, dan

masyarakat umum juga merasa tidak

nyaman.

Pada penelitian terdahulu tentang

penyaringan spam SMS banyak medote yang

telah dilakukan seperti Support Vector

Machine dan Token[8], NaiveBayes[3], dan

sampling algorithm[9]. Kekurangan penggabungan Support Vector Machine dan token adalah pada saat isi dari SMS

menggunakan imbuhan [4]. Naive Bayes

memberikan hasil bahwa waktu

pemrosesannya lebih cepat dan tinggkat akurasi yang wajar[3]. Waktu belajar

NaiveBayes lebih kecil dibandingkan

Decision Trees[12]. Neural Network

memberikan error generalisasi yang lebih

besar daripada SVM[11]. Semua peneliti

sebelumnya menggunakan dataset dalam

bahasa asing. Mengetahui karakteristik

dataset menjadi penting karena menyangkut

penentuan fitur dan preprocessing.

Training pada SVM bertujuan untuk mencari

posisi optimal dari hyperplane di dual space

sedangkan hal ini yang dipakai margin yaitu

jarak antara fungsi pemisah (separating

hyperplane) ke masing-masing kelas.

(2)

training set yang paling sempurna. Pada metoda yang lain proses training dilakukan secara berulang sampai didapatkan kedua

kelas secara optimal atau juga local optimal.

Berbeda dengan SVM training dilakukan

sekali dan akan mendapatkan nilai yang

optimal, ini memcegah terjadinya overfitting

karena overtrained. Berdasarkan hasil

peneliti sebelumnya, bisa disimpulkan bahwa SVM memiliki kinerja dasar terbaik [8].

Tujuan dari penelitian adalah mengetahui

pengaruh hasil akurasi pencacah karakter N-grams dan pengumpulan dataset Berbahasa Indonesia

2.

TINJAUAN PUSTAKA

2.1.SVM

Dalam teknik ini, kita berusaha untuk menemukan fungsi pemisah(klasifier) yang optimal yang bisa memisahkan dua set data dari dua kelas yang berbeda[12]. SVM dibagi menjadi 2 yaitu lineary separeable dan nonlineary separeable. Pada penelitian ini

menggunakan nonlineary separeable.

Nonlinearly separable. Dimana kasus tidak dapat diselesaikan dengan menggunakan

solusi pemisahan hard-margin, maka formula

SVM harus dimodifikasi agar lebih fleksibel

(untuk kasus tertentu) dengan

menambahakan variabel slack [11, 13].

Selain menggunakan variabel slack, data yang tidak dapat dipisahkan secara linier

dapat diklasifikasikan dengan

mentransformasikan data ke dalam dimensi

ruang fitur (feature space) sehingga dapat

dipisahkan secara linier pada feature space

[11,13]. Data dipetakan dengan

menggunakan fungsi pemetaan (tranformasi)

ke dalam feature space sehingga

terdapat bidang pemisah yang dapat

memisahkan data berdasarkan kelasnya [13].

SVM menggunakan “kernel trick” untuk

mengatasi permasalahan tersebut. Terdapat

dot product . Jika fungsi kernel

adalah maka ,

maka fungsi transformasi tidak perlu

diketahui secara persis [8]

2.2.Estimasi Parameter Terbaik

Akurasi model yang dihasikan dari data pelatihan menggunakan SVM bergantung pada fungsi kernel serta parameter yang digunakan. Oleh karena itu diperlukan

estimasi parameter terbaik untuk

mengoptimasi kinerjanya. Ada beberapa cara

yang dapat dilakukan antara lain cross

validation, dan -estimator yang

merupakan modifikasi dari leave-one-out

yang diusulkan oleh Joachims (1999).

K-folds cross validation dapat digunakan untuk menentukan nilai parameter

dan parameter kernel yang tidak overfit

terhadap data pelatihan [13]. Dengan metode ini, data yang diambil secara acak kemudian

dibagi menjadi buah partisi dengan ukuran

yang sama. Selanjutnya, dilakukan iterasi

sebanyak . Setiap iterasi digunakan sebuah

partisi sebagai data pengujian, sedangkan

partisi sisanya digunakan sebagai data pelatihan. Jadi akan dicoba berbagai nilai parameter dan parameter terbaik ditentukan

melalui k-folds cross validation Nilai

parameter terbaik ditemukan pelatihan

dilakukan dengan menggunakan keseluruhan data. Pencarian nilai parameter ini disebut

juga grid search.[8]

3.

PENELITIAN SEBELUMNYA

Pada peneliti ini terdiri dari 4827 ham

SMS dan 747 spam SMS dengan melakukan

variasi 16 model. Sebelum dilakukan penyaringan terdapat 2 pemrosesan awal yaitu:

a. Tok1 dengan menyaring alamat email,

domain, subdaomain dan tokenisasi.

b. Tok2 dengan membuang tanda baca dan

angka.

Hasil dari penelitian ini menghasilkan akurasi 96,64% dengan menggunkan SVM dan Tok1[11].

Peneliti selanjutnya membahas teknik terbaik

yang dapat dilakukan dengan cara

menyimpang daftar blacklist, whitelist dan

memnyimpan daftar dari spam SMS

contohnya “free”, “hot selling” dan “imprassion”. Sedangkan untuk metode klasifikasi menggunkan Bayesian[7].

Chaiyapor kemapatapan melakukan penelitian dengan dua bahasa yaitu Bahasa Thailand dan Bahasa Inggris. Penelitian ini mengumpulkan 400 SMS, terdiri dari 120

spam SMS dan 280 ham SMS. Dengan

melakukan 2 metode pemrosesan awal :

a. M1 : melakukan teks normalisai dan

segmentasi bahasa Thailand.

b. M2: melakukan teks normalisasi dan

(3)

disegmentasi akan diterjemahkan dan

dilakukan proses semantic.

Hasilnya metode SVM dan M2

menghasilkan akurasi sebesar 95,67 dan

Naïve Bayes dan M2 menghasilkan akurasi 86,31[3].

Dijelaskan bahwa data SMS yang

dipakai adalah 875 yang terdiri dari 450 ham

dan 425 spam SMS dalam Bahasa Inggris.

Melakukan pembobotan biner dengan

menggunakan klasifikasi naïve bayes, akurasi

yang dihasilkan adalah 98.29%[10].

4.

METODOLOGI

Gambar 1. Dekripsi Umum

Data yang dikumpulkan sebanyak 900 data SMS terdiri dari 800 data latih dan 100 data uji. Setelah dilakukan pengumpulan data makan akan dilalukan pemrosesan awal

yaitu akromin, stop word dan token. Setalah

dilakukan proses itu akan dilakukan

pemecarah kata yang dibagi menjadi dua bedasarkan kata dan n-grm. Setelah isi dari sms di pecah-pecah baik kedalan kata atau ke

dalam karakter N-grams, dilakukan

pembobotan fitur setelah terbentuk akan ada model a dan model b.

Fitur dipilih berdasarkan nilai terbesar. Setelah itu dilakukan pembentukan vektor fitur sebagai inputan dari SVM. Sebelum dilakukan pelatihan data dilakukan proses optimasi parameter. Setelah itu akan dilihat model mana yang memiliki akurasi yang paling baik

5.

PENGUJIAN

Pengujian dilakukan dengan 2 model yaitu model a menggunakan pemecah kalimat menjadi kata, sedangkan model b

menggunankan karakter N-grmas. Untuk

pemecah kata menjadi kalimat/uni gram

terdapat 15 model yang akan di uji. Pada model a ini menggunakan 500 fitur karena pada data latih sebanyak 100 SMS terdapat 676 fitur, sehingga dengan memilih 500 fitur diharapkan dapat meningkatkan akurasi. Sisa dari fitur yang tidak dipakai karena memiliki bobot yang rendah. Dapat dilihat pada Tabel 1.

Tabel 1. Pengujian model a

Nama model Jumlah fitur Teknik Pembobotan Model 1a 100 Biner Model 2a 200 Model 3a 300 Model 4a 400 Model 5a 500 Model 6a 100 Document Frequency Model 7a 200 Model 8a 300 Model 9a 400 Model 10a 500 Model 11a 100 Term Frequency Model 12a 200 Model 13a 300 Model 14a 400 Model 15a 500

Model 1a adalah pembobotan yang menggunaka 100 fitur yang paling sering muncul, pada model 1a menggunakan

pembobotan biner. Model 7a adalah

pembobotan yang menggunaka 200 fitur yang paling sering muncul pada suatu dokumen, pada model 7a menggunakan

pembobotan document frequency. Sedangkan

Model 15a adalah pembobotan yang

menggunaka 500 fitur yang paling sering muncul pada seluruh dokumen, pada model

15a menggunakan pembobotan term

frequency.

Untuk pemecah kata menjadi

kalimat/uni gram terdapat 36 model yang akan di uji. Pada model b dipilih 2000 fitur teratas karena pada data latih terdapat 3453 fitur. Sisa dari fiturnya tidak dipakai karena hanya memiliki bobot yang rendah.

(4)

Tabel 2. Pengujian model b

Nama model Jumlah

fitur Teknik Pembobotan

Model 1b 500 Biner 3-gram Model 2b 1000 Model 3b 1500 Model 4b 2000 Model 6b 1000 Biner 3-gram Model 7b 1500 Model 8b 2000 Model 9b 500 TF 3-gram Model 10b 1000 Model 11b 1500 Model 12b 2000 Model 13b 500 Biner 4-gram Model 14b 1000 Model 15b 1500 Model 16b 2000 Model 17b 500 DF 4-gram Model 18b 1000 Model 19b 1500 Model 20b 2000 Model 21b 500 TF 4-gram Model 22b 1000 Model 23b 1500 Model 24b 2000 Model 25b 500 Biner 5-gram Model 26b 1000 Model 27b 1500 Model 28b 2000 Model 29b 500 DF 5-gram Model 30b 1000 Model 31b 1500 Model 33b 500 TF 5-gram Model 34b 1000 Model 35b 1500 Model 36b 2000

Model 1b adalah pembobotan yang menggunakan 500 fitur yang paling sering muncul, pada model 1b menggunakan

pembobotan biner dan pemecah kata

menggunakan karakter 3-grams. Model 2b adalah pembobotan yang menggunaka 1000 fitur yang paling sering muncul pada suatu

dokumen. Model 18b menggunakan

pembobotan document frequency dan

pemecah kata menggunakan 4-grams. Model 36b adalah pembobotan yang menggunaka 2000 fitur yang paling sering muncul pada

seluruh dokumen, pada model 36b

menggunakan pembobotan term frequency

dan pemecah kata menggunakan karakter 5-grams.

6.

HASIL DAN PEMBAHASAN

6.1.Karakteristik Spam SMS

Data yang dikumpulkan sebanyak 450 spam SMS dengan rincian sebagai berikut:

1. Iklan dengan jumlah 380 SMS, terdiri

dari 49 SMS yang lebih dari 160 karakter

dan 206 SMS yang kurang dari 160 karakter

2. Penipuan dengan Jumlah 70 SMS, terdiri

dari 11 SMS yang lebih dari 160 karakter dan 100 SMS yang kurang dari 160 karakter

3. Panjang SMS yang lebih dari 160

karakter sebanyak 60 SMS

4. Panjang SMS yang kurang dari 160

karakter sebanyak 390 SMS.

Hasil analisis dari data spam SMS memiliki

karakteristik berikut:

1. Bersifat iklan maupun penipuan

2. Banyak kata - kata sambung

3. Banyak kata - kata singkatan

4. Banyak tanda baca

6.2.Pengaruh Karakter N-grams

Hasil pengujian dari model a dapat dilihat pada Gambar 1.

Gambar 2. Hasil Akurasi Model a Gambar 2 menunjukkan diagram hasil klasifikasi SMS dengan menggunakan tiga metode pembobotan. Dari diagram tersebut

terlihat metode pembobotan yang

memberikan hasil akurasi paling bagus

adalah metode pembobotan dengan

menggunakan Term Frequency sebesar 91% pada 300 fitur. Kemudian disusul dengan metode Document Frequency sebesar 90% pada 500 fitur dan sedangkan yang tingkat akurasinya paling rendah adalah Term Frequency pada 100 fitur.

TF dan jumlah fitur sedikit memberikan nilai akurasi yang rendah disebabkan karena data yang digunakan pada penelitian ini adalah SMS. Kata tertentu akan memiliki nilai TF besar jika kata tersebut muncul berkali-kali di suatu dokumen/sms tetapi tidak sering muncul di dokumen/sms yang lain. Umumnya suatu kata dalam sms hanya muncul sekali. Padahal dalam metode TF besarnya frekuensi/kemunculan kata pada

suatu dokumen/sms akan sangat

0 20 40 60 80 100 biasa 10 fold

(5)

berpengaruh, dan apabila kemunculan kata tersebut di dokumen lain bernilai kecil. Pada penelitian ini fitur-fitur hasil ekstraksi dengan menggunakan metode TF adalah kata-kata yang jarang muncul dan jarang digunakan di dataset yang lain. Oleh karena itu ketika diujikan pada data baru atau data pengujian, fitur-fitur tersebut tidak dapat mengklasifikasikan kelas dengan baik.

TF dengan 300 fitur memberikan hasil

paling baik, TF pada penelitian ini

menggunakan kata atau term dengan jumlah

kemunculannya paling tinggi dari

keseluruhan dokumen pelatihan untuk setiap kelasnya. Mengingat data yang digunakan adalah SMS dengan keterbatasan jumlah karakternya, sehingga ada kemungkinan kata-kata yang sama akan sering diulang atau sering digunakan untuk sms lain yang bertopik sama.

Dari gambar 2 juga terlihat bahwa jumlah fitur yang digunakan dari 500 fitur, 400 fitur,300 fitur, 200 fitur, dan 100 fitur. Jumlah fitur mempengarusi akurasi dari gambar diatas dapat disimpulkan jumlah fitur 500 menghasilkan akurasi yang stabil. Sedangkan pada jumlah fitur yang sedikit mengahasilkan akurasi yang rendah.

Pada grafik diatas menunjukan model 13a mengalami kenaikan 29% dibandingkan

dengan tidak menggunak 10 fold cross

validation. Sedangkan 11a mengalami

penururan setelah dilakukan 10 fold cross

validation sebesar 13%.

Hasil pengujian dari model b dapat dilihat pada Gambar 3.

Gambar 3. Hasil Pengujian Model b Pada Gambar 3 diatas ada 4 akurasi terbaik masing masing adalah biner dengan 1500 fitur, df dengan 1000 fitur, tf dengan 1500 dan tf dengan 1500 fitur.

Pencacah SMS menggunakan karakter 3-grams, 4 grams, dan karakter 5-grams

menunjukan bahwa dengan menggunakan 3 grams menghasilkan akurasi yang stabil. Pada 3 grams membagi kata menjadi 3 huruf,

karena membagi menjadi 3 huruf

menjadikan kata yang dibagi menjadi unik. Berbeda dengan yang laiannya. Sedangkan untuk jumlah fitur yang memiliki akurasi yang paling baik ada 1500 fitur baik dengan pembobot biner, DF dan TF. Karena 1500 fitur yang dipilih mewakili kata-kata yang muncul pada SMS.

7.

KESIMPULAN

Berikut ini adalah kesimpulan yang

diperoleh selama penelitian dan

pembangunan prototipe penyaringan spam SMS:

1. N-gram menghasilkan akurasi yang

terbaik pada data uji sebesar 95% untuk semua pembobotan dengan jumlah fitur 1000 dan 1500, Sedangkan untuk data

uji dengan nilai C= 512 dan

γ=0.00048828125 dengan akurasi

96,625 dengan pembobotan trem

freqeuncy dan jumlah fiturnya 2000. Kesalahan peneliti setelah dilakukan kajian terhadap data uji 100% (50 SMS spam) data yang dipakai adalah SMS Spam yang berisi tetang penipuan, sedangkan pada data latih 5% dari 400 SMS spam yang mengandung SMS penipuan. Sehingga nilai akurasi dari penelitian ini lebih rendah dari peneliti sebelumnya itu disebabkan oleh fitur pada data latih tidak banyak digunakan pada data uji,

2. 10 fold cross validation digunakan untuk memprediksi keakuratan data latih. Dataset yang telah dibuat dibagi menjadi subset k. Dalam tesis ini nilai dari k adalah 10, maka akan dilakukan 10 iterasi proses latih dan uji, dengan 9/10 subset sebagai data latih dan 1/10

subset sebagai data uji secara

bergantian. Sehingga untuk setiap subset berkesempatan menjadi data uji. Dengan

menggunakan cross validation pada data

uji dapat meningkatkan akurasi 29% dari yang asalnya 62% pada pemecahan

kalimat menjadi kata atau pada

penggunaan Term Frequency.Variabel C

dan γ sangat berpengaruh pada penelitian ini sebab variable c berguna

agar tidak overfiting pada data pelatihan

0% 20% 40% 60% 80% 100% M o d el 1 b M o d el 3 b M o d el 5 b M o d el 7 b M o d el 9 b M o d el 1 1 b M o d el 1 3 b M o d el 1 5 b M o d el 1 7 b M o d el 1 9 b M o d el 2 1 b M o d el 2 3 b M o d el 2 5 b M o d el 2 7 b M o d el 2 9 b M o d el 3 1 b M o d el 3 3 b M o d el 3 5 b

(6)

sedangkan variable γ berfungsi untuk

transformasi ke feature space. Grid

search bengfungsi untuk menentukan variable C dan γ terbaik, semakin tinggi C membuat garis pemisah menjadi

hardmargin sedangkan terlalu kecilnya variable C akan banyak data yang salah klasifikasi. Pengaruh variable γ jika

terlalu besar akan mengakibatkan

support vector antara kedua kelas semakin jauh dan jika terlalu kecil mengakibatkan data salah klasifikasi karena akan banyak data yang tidak sesuai dengan kelasnya, bukankah pada SVM hanya mencari bidang pemisah

saja tetapi mencari margin yang optimal

antara support vector. Sedang pada

karakter N-grams diperoleh kenaikan

akurasi 43% dari yang asalnya 50% pada data uji.

3. Sesuai dengan karakteristik pada data

yang telah dikumpulkan ada beberapa pemrosesan awal yang dibutuhkan

a. Akromin adalah mengganti singkatan

dengan kata asalnya

b. Stopwords adalah menbuang kata – kata sambung yang sering mungcul dan tidak bermakna apa-apa

c. Tokenisasi adalah mengbuang

karakter yang tidak perlu.

4. Pada pemecah kalimat menjadi kata

banyaknya fitur menpengaruhi tingkat akurasinya dan pada karakter N-gram tidak mempengaruhi akurasi.

5. Kontibusi dari penelitian ini adalah

penerapan karakter N-grams pada

pencacah kata dan pengumpulan data set SMS spam Berbahasa Indonesia

8.

DAFTAR PUSTAKA

[1] Asosiasi Telekomunikasi Seluler

Indonesia (ATSI) URL:

http://www.teknojurnal.com/2012/01/18 /jumlah-pelangganselulerdiindonesia- hampir-mendekati-jumlah-penduduk-indonesia/ . diakses pada 13 september 2013.

[2] Beahaki M. Faisal “Bayes Spam Classifier pada Pengembangan Aplikasi Mobile SMS”, ITB, 2011

[3] Chaiyaporn Khemapatapan.

Thai-English Spam SMS Filtering. 2010. [4] Cloudmark’s Definitive Guide to SMS

Spam juni 2011

[5] Fletcher. Tristan, “Support Vector

Machines Explained”, Inggris, 2009.

[6] Hastie. Cross-validation and bootstrap.

February 2009.

[7] Hong-yan Zhang. Application of

Bayesian Method to Spam SMS Filtering 2009

[8] Hsu, Chih-Wei, ”A Practical Guide to

Support Vector Classification”, Taiwan, National Taiwan University, 2008. [9] José María Gómez Hidalgo. Content

Based SMS Spam Filtering

[10] M. Taufiq Nuruzzama “Independent and Personal SMS Spam Filtering” Dept. of Informatics Engineering, State Islamic University Sunan Kalijaga ,2011 ,IEEE International Conference on Computer and Information Technology

[11] Tiago A. Almeida ,Contributions to the Study of SMS Spam Filtering: New Collection and Results , September 2011

[12] XIA Hu, FU Yan . Sampling of Mass

SMSPenyaringan Algoritm Based on Frequent Time Domain Area. 2010

[13] Joachims. Thorsten, “Making

Large-Scale SVM Learning Practical”,

Universitait Dortmund, Jerman, 1999

Figur

Gambar 1. Dekripsi Umum

Gambar 1.

Dekripsi Umum p.3
Tabel 1. Pengujian model a

Tabel 1.

Pengujian model a p.3
Tabel 2. Pengujian model b

Tabel 2.

Pengujian model b p.4

Referensi

Memperbarui...

Related subjects :