Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
111
Penyaringan Spam Short Message Service Menggunakan Support Vector Machine Tri Herdiawan Apandi*), Castaka Agus Sugianto**) Teknik Informatika, Politeknik TEDC Bandung E-Mail: *
[email protected], **
[email protected] 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
ISBN: 979-26-0280-1
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. Sehingga pada saat training SVM mencari
112
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
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 Ngrams 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
ISBN: 979-26-0280-1
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 segmentasi bahasa Thailand setelah
113
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
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
ISBN: 979-26-0280-1
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 Model 1a Model 2a Model 3a Model 4a Model 5a Model 6a Model 7a Model 8a Model 9a Model 10a Model 11a Model 12a Model 13a Model 14a Model 15a
Jumlah fitur 100 200 300 400 500 100 200 300 400 500 100 200 300 400 500
Teknik Pembobotan
Biner
Document Frequency
Term Frequency
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.
114
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
DF 4-gram
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
TF 4-gram
6.2. Pengaruh Karakter N-grams Hasil pengujian dari model a dapat dilihat pada Gambar 1.
Tabel 2. Pengujian model b Nama model Model 1b Model 2b Model 3b Model 4b Model 6b Model 7b Model 8b Model 9b Model 10b Model 11b Model 12b Model 13b Model 14b Model 15b Model 16b Model 17b Model 18b Model 19b Model 20b Model 21b Model 22b Model 23b Model 24b Model 25b Model 26b Model 27b Model 28b Model 29b Model 30b Model 31b Model 33b Model 34b Model 35b Model 36b
Jumlah fitur 500 1000 1500 2000 1000 1500 2000 500 1000 1500 2000 500 1000 1500 2000 500 1000 1500 2000 500 1000 1500 2000 500 1000 1500 2000 500 1000 1500 500 1000 1500 2000
Teknik Pembobotan Biner 3-gram
Biner 3-gram
TF 3-gram Biner 4-gram
Biner 5-gram
80 60
DF 5-gram
40 20 0
biasa 10 fold
TF 5-gram
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 5grams.
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
ISBN: 979-26-0280-1
100
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
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
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. 100% 80%
60% 40%
Model 35b
Model 33b
Model 31b
Model 29b
Model 27b
Model 25b
Model 23b
Model 21b
Model 19b
Model 17b
Model 15b
Model 13b
Model 9b
Model 11b
Model 7b
Model 5b
Model 3b
0%
Model 1b
20%
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
ISBN: 979-26-0280-1
115
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
116
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
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-pelangganselulerdiindonesiahampir-mendekati-jumlah-pendudukindonesia/ . diakses pada 13 september 2013. [2] Beahaki M. Faisal “Bayes Spam Classifier pada Pengembangan Aplikasi Mobile SMS”, ITB, 2011 [3] Chaiyaporn Khemapatapan. ThaiEnglish 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 LargeScale SVM Learning Practical”, Universitait Dortmund, Jerman, 1999
.
ISBN: 979-26-0280-1