ANALISIS PERBANDINGAN IMPLEMENTASI KERNEL PADA LIBRARY LibSVM UNTUK KLASIFIKASI SENTIMEN MENGGUNAKAN WEKA Prawidya Destarianto 1, Wahyu Kurnia Dewanto 2, Hermawan Arief Putranto 3 1,2,3 Jurusan, Teknologi Informasi, Politeknik Negeri Jember Jl Mastrip PO Box 164 1 prawidyadestarianto@gmail.com, 2 wahyu@polije.ac.id, 3 hermawan_arief_putranto@yahoo.com Abstrak Analisis sentimen merupakan salah satu cabang ilmu yang mengalami perkembangan sangat pesat dalam sepuluh tahun terakhir. Sejak diperkenalkannya metode machine learning untuk analisis sentimen, banyak algoritma klasifikasi yang mulai digunakan untuk mengelompokkan sentimen ke dalam kategori tertentu, diantaranya adalah Support Vector Machine (SVM). LibSVM adalah sebuah library khusus untuk Support Vector Machine yang mempermudah penerapannya dalam aplikasi sedangkan WEKA adalah sebuah aplikasi yang dikembangkan oleh Waikato University sebagai alat bantu dalam pembelajaran mesin (machine learning). Secara sederhana, model klasifikasi yang dihasilkan adalah sebuah fungsi hyperplane yang terbaik untuk merepresentasikan bidang pemisah dari sebaran data pelatihan. Dalam pencarian fungsi hyperplane tersebut digunakan trik kernel untuk mengatasi permasalahan linier dan non linier. Masing-masing kernel digunakan untuk permasalahan yang berbeda, namun yang menjadi pertanyaan adalah untuk analisis sentimen, dimana datanya berupa data tekstual, kernel manakah yang paling baik digunakan apabila kita ingin mendapatkan nilai akurasi yang paling tinggi. Penggunaan kernel Radial Basis Function memiliki nilai akurasi yang paling tinggi, yaitu sebesar 80.30%. Untuk pemilihan parameter terbaik, algoritma Grid Search menunjukkan penginkatan nilai akurasi dari 52.23% menjadi 69.48% pada kernel polynomial. Kata kunci : Analisis Sentimen, LibSVM, WEKA, Machine Learning, Kernel, Grid Search 1. Pendahuluan Analisis sentimen merupakan salah satu cabang ilmu yang mengalami perkembangan sangat pesat dalam sepuluh tahun terakhir. Cabang ilmu yang mempelajari tentang pengolahan data tekstual untuk mempelajari makna atau informasi yang tersirat didalamnya ini semakin popular karena banyaknya media sosial dan aplikasi microblogging di internet. Hal ini membawa khasanah baru dalam pemrosesan data tekstual, yakni penggunaan Machine Learning yang menjadi bagian analisis sentimen. Sejak diperkenalkannya metode machine learning untuk analisis sentimen, banyak algoritma klasifikasi yang mulai digunakan untuk mengelompokkan sentimen ke dalam kategori tertentu, diantaranya adalah Suport Vector Machine (SVM). SVM adalah metode Machine Learning yang bekerja atas prinsip Structural Risk Minimization (SRM) dengan tujuan menemukan hyperplane terbaik yang memisahkan dua buah kelas pada input space [4]. Dalam penelitiannya tentang klasifikasi sentimen untuk pesan berbahasa indonesia pada sosial media, penulis membandingkan dua algoritma klasifikasi yaitu Maximum Entropy (ME) dan Supporrt Vector Machine (SVM). Hasilnya adalah SVM memiliki nilai akurasi yang lebih tinggi yaitu 86,66% dibandingkan ME yang memiliki nilai akurasi 80% [3]. Selain itu didapatkan bukti bahwa metode klasifiksi yang digunakan juga tergantung kepada kamus kata yang digunakan, sehingga realibilitas dari kamus yang digunakan harus dijaga. Dalam penelitian lain tentang komparasi algoritma klasifikasi pada review film [1], juga menemukan bahwa SVM memiliki nilai akurasi yang paling tinggi yaitu 81,10%, bila dibandingkan dengan algoritma klasifikasi yang lain, Naive Bayes sebesar 74,00% dan Artificial Neural Network sebesar 51,80%. LibSVM adalah sebuah library khusus untuk Support Vector Machine yang dikembangkan sejak tahun 2000 untuk membantu user atau peneliti lain agar dengan mudah dapat menerapkan SVM ke aplikasi yang mereka kembangkan [2]. Penggunaan LIBSVM secara umum melibatkan dua langkah. Langkah yang pertama, melatih kumpulan data untuk mendapatkan model klasifikasi dan langkah kedua, menggunakan model klasifikasi tersebut untuk memprediksi informasi dari kumpulan data uji 62
yang baru. Secara sederhana, model klasifikasi yang dihasilkan adalah sebuah fungsi hyperplane yang terbaik untuk merepresentasikan bidang pemisah dari sebaran data pelatihan. Dalam pencarian fungsi hyperplane tersebut digunakan trik kernel untuk mengatasi permasalahan linier dan non linier. Ada enpat kernel yang disediakan oleh LibSVM yaitu, kernel Linier, kernel Polynomial, kernel Radial Basis Function dan kernel Sigmoid. Masing-masing kernel digunakan untuk permasalahan yang berbeda, namun yang menjadi pertanyaan adalah untuk analisis sentimen, dimana datanya berupa data tekstual, kernel manakah yang paling baik digunakan apabila kita ingin mendapatkan nilai akurasi yang paling tinggi. Dalam analisis sentiment, data tekstual dikelompokkan menjadi dua kelas yaitu positif dan negative. Namun yang menjadi permasalahan adalah dalam prosesnya, data tekstual dipecah menjadi ribuan fitur yang harus dipetakan. Dalam penelitiannya tentang analisis penggunaan Phrase Detection terhadap akurasi klasifikasi sentiment menggunkan SVM, penulis menggunakan kernel linier karena data dikaslifikasikan kedalam dua kelas, yaitu kelas positif dan negative [5]. Namun dalam penelitian tersebut, digunakan Phrase Detection untuk mengurangi fitur dalam preprocessing text, sehingga untuk data tekstual tanpa proses pengurangan fitur, belum diketahui secara pasti kernel terbaik yang digunakan. Fokus pada penelitian ini adalah untuk merancang sebuah sistem yang dapat memberikan hasil klasifikasi berupa tingkat akurasi dari proses klasifikasi menggunakan empat kernel yang berbeda sehingga didapatkan perbedaan tingkat akurasi yang berbeda sesuai dengan kernel yang digunakan. Cara yang ditawarkan adalah dengan menggunakan library LibSVM dan software machine learning Weka menggunakan empat parameter kernel yang berbeda untuk data yang sama. 2. Rumusan Masalah Berdasarkan uraian sebelumnya, dapat dibuat sebuah rumusan dari permasalahan yang ada pada penelitian ini; yaitu bagaimana menerapkan library LibSVM kedalam software Weka agar bisa digunakan dalam proses klasifikasi, kemudian bagaimana menerapkan parameter kernel yang berbeda pada data yang sama dan yang terakhir adalah bagaimana cara mendapatkan nilai akurasi untuk masing-masing proses klasifikasi sebagai representasi keberhasilan penerapan kernel tersebut. 3. Metodologi 3.1 LibSVM LIBSVM adalah perangkat lunak terpadu yang digunakan untuk mendukung klasifikasi vektor dan sudah mendukung klasifikasi multi kelas. LibSVM adalah software sederhana, mudah digunakan, dan efisien untuk klasifikasi SVM dan regresi. LibSVM juga mampu memecahkan klasifikasi CSVM, nusvm klasifikasi, oneclass SVM, regresi epsilonsvm, dan regresi nusvm. LibSVM juga menyediakan alat seleksi model otomatis untuk klasifikasi CSVM. LibSVM adalah sebuah library khusus untuk Support Vector Machine yang dikembangkan sejak tahun 2000 untuk membantu user atau peneliti lain agar dengan mudah dapat menerapkan SVM ke aplikasi yang mereka kembangkan. 3.2 WEKA WEKA adalah sebuah aplikasi yang dikembangkan oleh Waikato University sebagai alat bantu dalam pembelajaran mesin (machine learning) yang dimaksudkan untuk mempermudah penerapan teknik pembelajaran mesin ke berbagai masalah yang ada dalam dunia nyata, khususnya dalam penelitian ini adalah pembelajaran mesin yang berhubungan dengan sentimen analisis dan klasifikasi sentimen. Pembelajaran yang ada dalam WEKA meliputi visualisasi hasil, manipulasi data, hubungan antar basisdata, cross-validation, dan perbandingan set aturan untuk melengkapi penelitian yang berhubungan dengan pembelajaran mesin dasar. Selain itu, WEKA menyediakan lingkungan untuk keperluan klasifikasi, regresi, clustering, dan fitur seleksi. Untuk mengintegrasikan LibSVM degan WEKA, perlu ditambahkan package LibSVM kedalam environtmen WEKA dengan cara menginstalnya. Sehingga kita bisa mengubah parameter perhitungan untuk klasifikasi dengan LibSVM, termasuk didalamnya pengaturan kernel yang ingin digunakan. Selain itu, WEKA juga menyediakan fitur untuk validasi data dan hasil klasifikasi, sehingga semua proses mulai dari pengolahan data, proses klasifikasi dan validasi hasil penelitian dapat dilakukan dengan environment WEKA. 3.3 Persiapan Data Data yang digunakan dalam penelitian ini berupa data review film yang sudah dikelompokkan kedalam kelas positif dan kelas negatif. Data tersebut didapatkan dari database film IMDb, yang terdiri dari 700 data review positif dan 700 data review negatif. Data ini dikembangkan oleh Pang dan Lee sejak tahun 2002 dan sudah digunakan dalam berbagai penelitian tentang analisis sentimen. Setiap data yang akan masuk kedalam proses klasifikasi akan mengalami preprocessing. Preprocessing data ini berupa tokenisasi, yaitu pemotongan kalimat menjadi kata pembentuknya, menghilangkan tanda baca dan huruf atau simbol yang bukan bagian dari kata dan case-folding, yaitu mengubah huruf kapital menjadi huruf kecil. Setelah 63
itu kata-kata tadi mengalami proses Stopword Removal untuk menghilangkan kata-kata yang sering muncul dalam kalimat seperti kata penghubung dan kata ganti orang. Preproses yang terakhir adalah pembuatan peta vector dari tiap dokumen dengan cara pembobotan. Pembobotan yang digunakan adalah pembobotan TF-IDF yang menghitung bobot tiap kata berdasarkan tingkat kemunculannya, semakin sering kata tersebut muncul, maka semakin kecil pula bobotnya. 3.4 Cross Validation Cross-validation adalah metode statistik yang mengevaluasi dan membandingkan algoritma pembelajaran dengan membagi data menjadi dua, yaitu data training dan data testing. Perkembangan model dari cross validation adalah k-fold cross validation [6]. Metode k-fold cross validation yang sering dipakai adalah 3-fold cross validation dan 5-fold cross validation. Dalam k-fold crossvalidation, pertama harus ditentukan nilai folds atau partisi yang digunakan untuk membagi data. Prinsip dari k-fold cross validation adalah membagi tiap kelompok data menjadi k bagian kelompok data yang selanjutnya data tersebut secara bergantian akan digunakan untuk training dan testing sejumlah k pengujian. Misalkan untuk 3-fold cross validation data dibagi menjadi 3 bagian. Setiap bagian akan digunakan untuk training dan testing secara bergantian. Dua dari tiga data digunakan untuk training dan satu dari tiga data untuk testing yang dilakukan secara berulang sebanyak tiga kali sampai semua bagian digunakan untuk testing [7]. Jika bagian data pertama dan kedua digunakan untuk training maka bagian data ketiga digunakan untuk testing. Jika data bagian pertama dan ketiga digunakan untuk training, data kedua digunakan untuk testing. Jika data bagian kedua dan ketiga untuk training maka data bagian pertama untuk testing. 4. Hasil dan Pembahasan 4.1 Grid Search Grid Search adalah sebuah algoritma untuk mencari parameter yang paling tepat pada proses pembelajaran mesin. Dalam LibSVM ada beberapa parameter yaitu gamma, coefø dan C, yang dapat diubah agar didapatkan model klasifikasi yang paling optimal. Algoritma Grid Search digunakan untuk mendapatkan nilai parameter gamma (G) terbaik yang menghasilkan model klasifikasi terbaik pada proses training untuk tiap kernel. Model yang didapatkan kemudian digunakan pada proses testing, yang mana dalam penelitian ini proses training dan testing serta validasi berada pada proses Cross Validation. Dalam penelitian ini proses klasifikasi dilakukan dengan dua tahap. Tahap pertama parameter yang dimasukkan adalah parameter default dari WEKA, sedangkan tahap kedua parameter dicari menggunakan algoritma Grid Search untuk menemukan nilai gamma terbaik untuk tiap kernel. Nilai k yang digunakan dalam proses k- fold cross validation adalah 3. Pada proses klasifikasi didapatkan sebuah matriks konfusi, yang berisi jumlah artikel yang diklasifikasikan dengan benar dan jumlah artikel yang diklasifikasikan dengan salah. Apabila artikel dengan sentimen positif diklasifikasikan kedalam kelas positif, maka disebut sebagai True Positif (TP). Apabila artikel dengan sentimen positif diklasifikasikan kedalam kelas negatif, maka disebut False Negative (FN). Begitu juga sebaliknya, bila artikel dengan sentimen negatif dikelompokkan kedalam kelas negatif akaan disebut True Negative (TN), dan artikel bersentimen negatif yang dikelompokkan ke dalam kelas positif disebut False Positive (FP). 4.2 Hasil Klasifikasi Kernel Linier Seperti yang sudah dijelaskan sebelumnya, hasil dari proses klasifikasi ini berupa matriks konfusi yang berisi jumlah artikel yang berhasil atau gagal dikelompokkan kedalam kelasnya. Matriks konfusi dari proses klasifikasi menggunakan kernel linier dengan default parameter ditunjukkan pada Persamaan (1), sedangkan matriks konfusi dari proses klasifikasi menggunakan kernel linier dengan parameter dari grid search ditunjukkan pada Persamaan (2) (1) (2) dirangkum pada Tabel 1 dan Tabel 2. Tabel 1. Nilai Precission, Recall, F-Measure, ROC kernel linier dengan default parameter. Precission 0.754 0.759 Recall 0.760 0.752 F-Measure 0.757 0.755 ROC 0.756 0.756 Akurasi 75.61% 64
Tabel 2. Nilai Precission, Recall, F-Measure, ROC kernel linier dengan Grid Search parameter. Precission 0.754 0.759 Recall 0.760 0.752 F-Measure 0.757 0.755 ROC 0.756 0.756 Akurasi 75.61% Dari Tabel 1 dan Tabel 2 dapat diketahui untuk proses klasifikasi menggunakan kernel linier, nilai akurasi yang didapatkan dengan menggunakan default parameter dan grid search parameter adalah sama, yaitu sebesar 75.61 %. 4.3 Hasil Klasifikasi Kernel Polynomial menggunakan kernel polynomial dengan default parameter ditunjukkan pada Persamaan (3), menggunakan kernel polynomial dengan parameter dari grid search ditunjukkan pada Persamaan (4). Pada proses klasifikasi menggunakan kernel polynomial, hasil yang lebih baik ditunjukkan pada proses klasifikasi dengan Grid Search parameter yang mana ditunjukkan dengan nilai akurasi sebesar 69,48 % dibandingkan dengan 52,23%. 4.4 Hasil Klasifikasi Kernel Radial Basis Function menggunakan kernel radial basis function dengan default parameter ditunjukkan pada Persamaan (5) menggunakan kernel radial basis function dengan parameter dari grid search ditunjukkan pada Persamaan (6) (5) (6) (3) (4) dirangkum pada Tabel 3 dan Tabel 4. Tabel 3. Nilai Precission, Recall, F-Measure, ROC kernel polynomial dengan default parameter. Precission 0.536 0.517 Recall 0.327 0.718 F-Measure 0.406 0.601 ROC 0.522 0.522 Akurasi 52.23 % Tabel 4. Nilai Precission, Recall, F-Measure, ROC kernel polynomial dengan Grid Search parameter. Precission 0.636 0.843 Recall 0.910 0.480 F-Measure 0.749 0.612 ROC 0.695 0.695 Akurasi 69.48 % dirangkum pada Tabel 5 dan Tabel 6. Tabel 5. Nilai Precission, Recall, F-Measure, ROC kernel radial basis function dengan default parameter. Precission 0.774 0.839 Recall 0.855 0.751 F-Measure 0.813 0.792 ROC 0.803 0.803 Akurasi 80.30 % Tabel 6. Nilai Precission, Recall, F-Measure, ROC kernel radial basis function dengan Grid Search parameter. Precission 0.757 0.686 Recall 0.634 0.797 F-Measure 0.690 0.737 ROC 0.716 0.716 Akurasi 71.57 % Pada proses klasifikasi menggunkan kernel radial basis function, nilai akurasi yang lebih baik justru didapatkan pada penggunaan default parameter, yaitu sebesar 80.30% dibandingkan 71.57%. 65
4.5 Hasil Klasifikasi Kernel Sigmoid menggunakan kernel sigmoid dengan default parameter ditunjukkan pada Persamaan (7), menggunakan kernel sigmoid dengan parameter dari grid search ditunjukkan pada Persamaan (8). (7) (8) dirangkum pada Tabel 7 dan Tabel 8. Tabel 7. Nilai Precission, Recall, F-Measure, ROC kernel sigmoid dengan default parameter. Precission 0.748 0.848 Recall 0.873 0.706 F-Measure 0.805 0.770 ROC 0.789 0.789 Akurasi 78.93 % Tabel 8. Nilai Precission, Recall, F-Measure, ROC kernel sigmoid dengan Grid Search parameter. Precission 0.783 0.780 Recall 0.777 0.785 F-Measure 0.780 0.782 ROC 0.781 0.781 Akurasi 78.13 % Pada proses klasifikasi menggunakan kernel sigmoid, hasil terbaik didapatkan menggunakan default parameter, yaitu sebesar 78.93% dibandingkan 78.13 %. Walaupun selisih nilai akurasi tersebut tidak signifikan, namun bisa dilihat dari matriks konfusi bahwa jumlah artikel yang dapat dikaslifikasikan dengan benar lebih banyak pada proses klasifikasi dengan default parameter. 5. Penutup Secara umum, penggunaan kernel radial basis function memiliki nilai akurasi yang paling tinggi, yaitu sebesar 80.30%. Nilai akurasi tersebut didapatkan pada proses klasifikasi menggunakan default parameter. Untuk niilai akurasi yang paling rendah didapatkan dari proses klasifikasi 66 menggunakan kernel polynomial dengan default parameter, yaitu sebesar 52.23%. Hal ini menunjukkan bahwa walaupun digunakan untuk proses klasifikasi dengan dua kelas, kernel radial basis function memiliki performa yang cukup baik. Untuk pemilihan parameter terbaik, algoritma Grid Search memberikan performa yang cukup baik. Hal ini ditunjukkan pada proses klasifikasi menggunakan kernel polynomial, yang menunjukkan penginkatan nilai akurasi dari 52.23% menjadi 69.48%. Namun untuk proses klasifikasi dengan kernel radial basisi function dan kernel sigmoid, parameter yang dihasilkan dari algoritma Grid Search justru menunjukkan penurunan nilai akurasi, dari 80.30% menjadi 71.57% untuk kernel radial basis function dan 78.93% menjadi 78.13%. Hal ini kemungkinan disebabkan karena ada beberapa parameter lain yang ada pada kedua kernel tersebut yang masih perlu di-optimalisasi. 6. Daftar Pustaka: Chandani, V., Wahono, R., & Purwanto. (2015). Komparasi Algoritma Klasifikasi Machine Learning Dan Feature Selection pada Analisis Sentimen. Journal of Intelligent System, 1(1). Hsu, C.-W., Chang, C.-C., & Lin, C.-J. (2016). A Practical Guide to Support Vector Classification. Taipei 106, Taiwan: Department of Computer Science. Naradhipa, A. R., & Purwarianti, A. (2011). Sentiment Classification for Indonesian Message in Social Media. 2011 International Conference on Electrical Engineering and Informatics. Bandung, Indonesia. Nugroho, A., Witarto, A., & Handoko, D. (2003). Application of Support vector Machine in Bioinformatic. Proceeding of Indonesian Scientific Meeting. Gifu, Japan. Putranto, H. A., Setyawati, O., & Wijono. (2016). Pengaruh Phrase Detection dengan POS- Tagger terhadap Akurasi Klasifikasi Sentimen menggunakan SVM. Jurnal Nasional Teknik Elektro dan Teknologi Informasi, 5(4), 252-259. Refaeilzadeh, P., Tang, L., & Liu, H. (2009). Crossvalidation. Encyclopedia of Database Systems, 532-538. Witten, I., Frank, E., & Hall, M. (2011). Data Mining: Practical Machine Learning Tools and Techniques, Third Edition (Morgan Kaufmann Series in Data Management Systems). Burlington, MA: Morgan Kaufmann.