Implementasi Algoritma Support Vector Machine dan Chi Square untuk Analisis Sentimen User Feedback Aplikasi
Lulu Luthfiana 1 , Julio Christian Young 2 , Andre Rusli 3
1,2,3 Program Studi Informatika, Universitas Multimedia Nusantara, Tangerang, Indonesia
1 lulu.luthfiana@student.umn.ac.id
2 julio.christian@umn.ac.id
3 andrerusli19@gmail.com Diterima 18 November 2020 Disetujui 26 November 2020
Abstract — In order to adapt with evolving requirements and  perform  continuous  software  maintenance,  it  is essential  for  the  software  developers  to  understand  the content  of  user  feedback.  User  feedback  such  as  bug report could provide so much information regarding the product from user’s  point of view, especially parts that need improvements. However, it is often difficult to read all the feedback for products with enormous number of users as  manually reading and analyzing each feedback could take too much time and effort. This research aims to develop a model for automatic feedback classification by  implementing  Support  Vector  Machine  for  the classifier’s algorithm and Chi-square method for feature selection.  The  model  is  developed  using  Python programming  language  and  is  then  evaluated  under different scenarios in order to measure its performance. Using  a  ratio  of  training  and  testing  set  of  80:20,  our model  achieved  77%  accuracy,  50%  precision,  55% recall,  and  73%  F1-score  with  6.63  critical  value  and C=100 and gamma 0.001 as the SVM hyperparameters.
Index Terms— Chi-Square, sentiment analysis, Support Vector Machine, text classification, user feedback I. L ATAR B ELAKANG
Mengumpulkan  kebutuhan  atau  keluhan user merupakan  fokus requirements  engineering (RE). Requirements engineering sebagian besar fokus untuk melibatkan pengguna sistem, mengumpulkan kebutuhan  pengguna,  dan  mendapatkan feedback dari pengguna [1]. Dengan adanya user feedback , engineer dari aplikasi tersebut dapat memahami kebutuhan dan keluhan  dari  penguna.  Setelah engineer mendapatkan user  feedback ¸  maka  akan  dilakukan  identifikasi  dan pengklasifikasian user  feedback .  Untuk  melakukan klasifikasi  pada  teks user  feedback secara  manual dapat menghabiskan waktu yang banyak, dikarenakan user  feedback tidak  sedikit,  namun  bisa  ribuan user feedback setiap  saat.  Oleh  karena  itu,  diperlukan adanya  sistem  otomasi  untuk  analisis  sentimen user feedback .
Sentiment analysis (SA) merupakan metode proses dalam memahami, mengekstrak, dan mengolah sebuah data  yang  berupa  tekstual  yang  didapatkan  dari kalimat  opini  yang  bekerja  otomatis  sehingga didapatkannya informasi sentimen yang terkandung di dalamnya  [2].  Ada  beberapa  batasan  yang  membuat analisis sentimen yang mengandung kalimat opini dari user  feedback  penting  bagi engineer .  Pertama,  dari kalimat  opini  tersebut  dapat  memberikan  saran  atau masukan pada engineer untuk membuat aplikasi lebih baik.  Dari  kalimat  opini  yang  sangat  banyak  dari berbagai user membuat  upaya  yang  dilakukan  pada analisis sentimen sangat besar. Lalu, kualitas dari user feedback atau kalimat opini yang diberikan user sangat bervariasi, dari saran yang membantu sampai ide yang inovatif.  Selain  penggunaan user  feedback dalam evaluasi aplikasi rating pada aplikasi juga mewakilkan dari  kalimat  opini  yang  ada.  Namun,  kegunaan  dari rating dalam user  feedback untuk engineer sangat terbatas,  karena rating mewakili  rata-rata  untuk keseluruhan  aplikasi  dan  dapat  menggabungkan keduanya antara evaluasi positif atau negatif dari satu fitur  [3].  Dari  hal  yang  sudah  dibahas  untuk mengklasifikasikan  sentimen  yang  digunakan  pada penelitian  ini  dibagi  menjadi  3  kategori  yaitu  positif, negatif, dan netral.

## II. P ENELITIAN T ERKAIT
Dalam penelitian yang terkait ada beberapa metode machine  learning yang  digunakan  dalam  analisis sentimen.  [2]  Memperbandingkan  penerapan  seleksi fitur  untuk  optimalisasi  tingkat  akurasi  sentimen analisis klasifikasi rekomendasi menggunakan metode Support  Vector  Machine (SVM)  dan  didapatkan tingkat akurasi 72,45% dengan seleksi fitur information gain . [4] melakukan komparasi algoritma klasifikasi machine  learning pada  sentimen review film,  SVM  mendapatkan  hasil  terbaik  dengan  akurasi 81,10%  dan  penelitian  tersebut  mengatakan  bahwa SVM merupakan algoritma yang paling baik.

## ISSN 2085-4552
Menurut  Alfian  Nur  Rahmad  dan  Feddy  Setio Pribadi (2015), Bahwa penggunaan seleksi fitur seperti Chi  Square dalam  klasifikasi  dapat  meningkatkan hasil  baik recall , precision , F1-score ,  dan  akurasi walaupun peningkatannya tidak terlalu signifikan, tapi dapat  mempengaruhi  hasil  klasifikasi  [5].  Penelitian Cahyono  dan  Saprudin  melakukan  analisis  sentimen pada tweets berbahasa  Sunda  menggunakan Naïve Bayes  Classifier dengan feature  selection Chi  Square dan mendapatkan akurasi sebesar 78,48 % [6].
Berdasarkan latar belakang yang sudah dijelaskan, penelitian  yang  akan  dilakukan  adalah  menggunakan algoritma
Support
Vector Machine untuk mengklasifikasikan user  feedback dengan  tambahan seleksi fitur Chi Square .

## III. M ETODOLOGI P ENELITIAN

## A. Sentiment Analysis
Sentiment  analysis disebut  juga  dengan opinion mining merupakan  proses  untuk  meng-ekstrak  suatu opini atau pendapat dari dokumen untuk topik tertentu [7]. Tujuan sentimen analisis adalah untuk menentukan attitude dari  pembicara  ataupun  penulis yang  berhubungan  dengan  topik  tertentu  [6].  Dari topik  tertentu,  analisis  sentimen  dapat  digunakan untuk  menentukan  nilai  kesukaan  atau  ketidaksukaan seseorang  terhadap  suatu  barang  [8].  Nilai  analisis sentimen  tersebut  dapat  ditentukan  ke  dalam  3 kategori seperti positif, negatif, atau netral.

## B. User Feedback
User  feedback sangat  penting  karena  untuk pemeliharaan  perangkat  lunak  dan  evolusi  aplikasi seluler yang dipandu oleh permintaan yang terkandung  dalam user  feedback [9].  Dalam menyelidiki user feedback yang dilaporkan pengguna untuk  aplikasi  yang  digunakan,  pengguna  dapat memberikan  informasi  yang  berharga  tentang  fitur yang  harus  diperhatikan  atau  membantu  dalam memahami  malasah  yang  terkait  pada  aplikasi, user feedback yang  disampaikan  oleh  pengguna  akan disampaikan  kepada  developer  agar  aplikasi  yang digunakan  bisa  terpelihara. User  feedback yang diberikan  oleh  pengguna  biasanya  terbagi  atas  dua macam,  yaitu  komentar  positif  atau  komentar  negatif [8]. Disisi lain analisis yang lebih mendalam terhadap user  feedback tersebut  dapat mengevaluasi  developer dan  memberikan  saran  terhadap  aplikasi  tersebut untuk  meningkatkan  aplikasi  agar  mendapatkan kepuasan pelanggan yang tinggi.

## C. Data Preprocessing
Data  preprocessing atau  pemprosesan  awal dokumen  merupakan  tahapan  awal  yang  berfungsi dalam  mengtransformasikan  dokumen  ke  dalam bentuk representasi lain. Tujuan dari tahap ini adalah untuk  mempermudah  proses  pencarian query ke
dokumen, dan mempermudah dalam proses mengurutkan  dokumen-dokumen  yang  diambil  [6]. Dalam  penelitian  ini  tahapan  yang  dilakukan case folding , tokenization, stopword removal, stemming .
D. Support Vector Machine
Support  Vector  Machine (SVM)  dalam machine learning merupakan  pembelajaran supervised dengan algoritma  pembelajaran  yang associated .  SVM bekerja  dengan  cara  mencari  sebuah hyperlane atau garis pembatas pemisah antar kelas  yang  mempunyai margin atau jarak antar hyperlane dengan data paling terdekat  pada  setiap  kelas  yang  paling  besar  [2].  Hal ini  dikarenakan  SVM  memiliki  kemampuan  untuk menemukan  solusi  global  yang  optimal.  Dengan margin  yang  besar  maka  kemungkinan  model  yang dihasilkan overfit menjadi kecil [10].
Umumnya,  masalah  yang  ada  di  dunia  nyata mempunyai  bentuk non-linearly  separable ,  sehingga class  tidak  dapat  dipisahkan  oleh hyperlane secara sempurna. Maka dari itu, diperlukan modifikasi SVM dengan memasukkan fungsi kernel  [8]. Fungsi kernel memberikan  kemudahan  dalam  proses  pembelajaran SVM [8]. Fungsi kernel yang dapat dirumuskan pada persamaan 1.
(1)
Fungsi  kernel  tersebut  untuk  menyelesaikan masalah non-linear ,  data 𝑥 i  dan 𝑥 j  berawal  dari pemetaan  data  oleh  fungsi  Φ  ke  ruang  vektor  yang tinggi.  Sehingga  kelas  dapat  dipisahkan  secara  linear oleh  sebuah hyperlane ,  Lalu  data 𝑥 i  dan 𝑥 j  akan dilakukan dot produk. Karena umumnya transformasi 0 ini tidak diketahui, dan sangat sulit untuk dipahami secara  mudah,  maka  perhitungan dot  product dapat digantikan  dengan  fungsi  kernel  ( 𝑥 i  . 𝑥 j)  yang mendefinisikan secara implisit transformasi 0 [11].
Dalam  penelitian  ini  akan  melakukan  klasifikasi dengan  SVM  menggunakan  kernel  Gaussian  RBF. Penggunaan  kernel  Gaussian  RBF  dikarenakan  bisa mendapatkan nilai akurasi yang lebih baik dibandingkan fungsi kernel lainnya. Menurut penelitian  yang  terkait  fungsi  kernel  SVM  digunakan untuk  klasifikasi  penyakit  tanaman  kedelai  dan didapatkan fungsi kernel Gaussian RBF mendapatkan hasil  yang  terbaik  pada  akurasinya  dibandingkan fungsi  kernel  linear  [12].  Fungsi  ( 𝑥 i  . 𝑥 j)  merupakan fungsi kernel yang menunjukkan pemetaan non-linear pada feature  space .  Untuk  rumus  fungsi  kernel Gaussian  RBF  persamaan  seperti  yang  dirumuskan pada persamaan 2.
(2)

## E. Chi Square
Chi  Square merupakan  salah  satu  dari feature selection pada  klasifikasi  teks.  Seleksi  fitur  ini dilakukan  untuk  mereduksi  fitur-fitur  yang  tidak
relevan  dalam  proses  klasifikasi  yang  menggunakan teori  statistika  untuk  menguji  independensi  sebuah term  dengan  kategorinya  [13]. Chi  Square termasuk metode  dalam  tipe  seleksi  fitur supervised ,  dimana mampu  menghilangkan  fitur-fitur  dengan  tanpa mengurangi  dari  tingkat  akurasi  yang  dihasilkan  [2]. Dalam penelitian ini yang digunakan dalam pemilihan feature  selection dengan  chi  square  ( 𝑥 2).  Pada  tahap ini,  tiap  kata  yang  diperoleh  dihitung  menggunakan persamaan 3.

## (3) IV. H ASIL DAN P EMBAHASAN

## A. Dataset
Dalam  penelitian  ini,  dataset  yang  digunakan berasal  dari  paper  [14].  Total  data  yang  ada  sebesar 553 feedback, dimana  259 feedback positif,  241 feedback negatif, dan 53 feedback netral.

## B. Evaluasi Performa
Ada  2  skenario  yang  dilakukan  yaitu  dengan menggunakan  seleksi  fitur Chi  Square dan  tidak menggunakan  seleksi  fitur Chi  Square. Data  yang digunakan  dalam  penelitian  ini  dibagi  menjadi  80:20 dengan  80  untuk  data train dan  20  untuk  data test . Lalu  setelahnya  akan  diklasifikasi  dengan  model SVM menggunakan
GridSearchCV
untuk mendapatkan nilai parameter terbaik untuk klasifikiasinya.  Digunakan hyper-parameter C  dan gamma untuk klasifikasinya dengan interval parameter  C  yaitu  0,1,  1,  10,  100  dan  untuk  interval gammanya yaitu 1, 0,1, 0,01, 0,001.
Skenario pertama dilakukan dengan menggunakan seleksi fitur Chi  Square dengan  nilai  kritis  tertentu yaitu  3,84,  6,63,  7,83,  dan  10,83.  Didapatkan  hasil terbaik dari keempat nilai kritis tersebut yaitu dengan nilai  kritis  6,63  dan  untuk  pengklasifikasian  dengan SVM didapatkan  parameter  terbaik  yaitu  dengan  C 100 dan gammanya 0,001 dengan akurasinya sebesar 77%, precision 50%, recall 55%, dan F1-Score 73%. Tabel  1  menunjukkan  jumlah  kelas  aktual  dan  yang diprediksi  oleh  model  terbaik  berdasarkan  kelasnya masing-masing.
Lalu  untuk  skenario  kedua  dengan  tidak menggunakan  seleksi  fitur  didapatkan  klasifikasi untuk  model Support  Vector  Machine dengan parameter  C  10  dan  gamma  0,01  didapatkan  akurasi 69%, precision 48%, recall 53%, dan F1-score 50%.
Tabel 1. Model terbaik yaitu pada skenario dengan menggunakan seleksi fitur Chi Square dengan nilai kritis 6,63
Actual Predicted Negatif Netral Positif Negatif 32 0 8 Netral 6 0 3 Positif 9 0 53 V. K ESIMPULAN DAN S ARAN Pada penelitian ini, dengan menggunakan algoritma Support  Vector  Machine dan Chi  Square dalam klasifikasi sentimen pada user feedback aplikasi yang  sudah  diberi  label  positif,  negatif,  dan  netral. Berdasarkan  penelitian  dan  uji  coba  yang  sudah dilakukan,  hasil  terbaik  adalah  penggunakan  seleksi fitur Chi Square dapat  membantu  meningkatkan  hasil akurasi  pada  pengklasifikasiannya.  Dengan  data  yang dibagi  menjadi  80:20  dengan  nilai  kritis  pada  seleksi fitur  6,63  didapatkan  akurasi 77%,  precision 50%, recall 55%, dan F1-Score 73%.
Untuk pengembangan selanjutnya perlunya pembenaran  ejaan  pada  penulisan feedback atau typo correction yang  diharapkan dapat  memperbaiki  hasil dari akurasi pada pengklasifikasiannya. Lalu bisa juga mengganti  seleksi  fitur  lain  seperti Information  Gain atau Maximum Entropy .

## D AFTAR P USTAKA
[1] W.  Maalej,  M.  Nayebi,  T.  Johann,  and  G.  Ruhe,  “Toward data-driven  requirements  engineering,” IEEE  Softw. ,  vol. 33, no. 1, pp. 48–54, 2016.
[2] O.  Somantri  and  D.  Apriliani,  “Support  Vector  Machine Berbasis  Feature  Selection  Untuk  Sentiment  Analysis Kepuasan  Pelanggan  Terhadap  Pelayanan  Support  Vector Machine  Based  on  Feature  Selection  for  Sentiment Analysis Customer Satisfaction on Culinary,” vol. 5, no. 5, pp. 537–548, 2018.
[3] E. Guzman and W. Maalej, “How do users like this feature? A  fine  grained  sentiment  analysis  of  App  reviews,” 2014 IEEE  22nd  Int.  Requir.  Eng.  Conf.  RE  2014  -  Proc. ,  pp. 153–162, 2014.
[4] V.  Chandani  and  R.  S.  W.  Purwanto,  “Komparasi Algoritma  Klasifikasi  Machine  Learning  Dan  Feature Selection  pada  Analisis  Sentimen  Review  Film,” J.  Intell. Syst. , vol. 1, no. 1, pp. 56–60, 2015.
[5] A.  N.  Rahmad  and  F.  S.  Pribadi,  “Pemilihan  Feature Dengan  Chi  Square  Dalam  Algoritma  Naïve  Bayes  Untuk Klasifikasi Berita,” Edu Komputika J. , vol. 2, no. 1, pp. 13– 21, 2015.
[6] Y.  Cahyono  and  S.  Saprudin,  “Analisis  Sentiment  Tweets Berbahasa  Sunda  Menggunakan  Naive  Bayes  Classifier dengan  Seleksi  Feature  Chi  Squared  Statistic,” J.  Inform. Univ. Pamulang , vol. 4, no. 3, p. 87, 2019.
[7] H.  Kaur,  V.  Mangat,  and  Nidhi,  “A  survey  of  sentiment analysis  techniques,” Proc.  Int.  Conf.  IoT  Soc.  Mobile, Anal. Cloud, I-SMAC 2017 , pp. 921–925, 2017.
[8] D.  J.  Haryanto,  L.  Muflikhah,  and  M.  A.  Fauzi,  “Analisis Sentimen  Review  Barang  Berbahasa  Indonesia  Dengan Metode Support Vector Machine Dan Query Expansion,” J.
Pengemb.  Teknol.  Inf.  dan  Ilmu Komput.  Univ.  Brawijaya , vol. 2, no. 9, pp. 2909–2916, 2018.
[9] G.  Grano,  A.  Di  Sorbo,  F.  Mercaldo,  C.  A.  Visaggio,  G.
Canfora,  and  S.  Panichella,  “Android  apps  and  user feedback:  A  dataset  for  software  evolution  and  quality improvement,” WAMA  2017  -  Proc.  2nd  ACM  SIGSOFT Int. Work. App Mark. Anal. Co-located with FSE 2017 , no. ii, pp. 8–11, 2017.
[10] I.  M.  A.  Agastya,  “Pengaruh  Stemmer  Bahasa  Indonesia
Terhadap  Peforma  Analisis  Sentimen  Terjemahan  Ulasan
Film,” J. Tekno Kompak , vol. 12, no. 1, p. 18, 2018.
[11] R. Munawarah, O. Soesanto, and M. R. Faisal, “Penerapan Metode Support Vector Machine Pada Diagnosa Hepatitis,” Kumpul.  J.  Ilmu  Komput. ,  vol.  Volume  04,  no.  February, pp. 103–113, 2016.
[12] N.  R.  Feta  and  A.  R.  Ginanjar,  “KOMPARASI  FUNGSI KERNEL  METODE  SUPPORT  VECTOR  MACHINE UNTUK  PEMODELAN  KLASIFIKASI  TERHADAP
COMPARISON  OF  THE  KERNEL  FUNCTION  OF
SUPPORT VECTOR MACHINE METHOD FOR MODELING  CLASSIFICATION  OF  SOYBEAN  PLAT DISEASE,” vol. 1, no. 1, pp. 33–39, 2019.
[13] S.  Anisah,  A.  S.  Honggowibowo,  and  A.  Pujiastuti, “Klasifikasi  Teks  Menggunakan  Chi  Square  Feature Selection  Untuk  Menentukan  Komik  Berdasarkan  Periode,
Materi  Dan  Fisikdengan  Algoritma  Naïve  bayes,” Compiler , vol. 5, no. 2, pp. 59–66, 2016.
[14] E.  W.  Pamungkas  and  D.  G.  P.  Putri,  “An  experimental study  of  lexicon-based  sentiment  analysis  on  Bahasa Indonesia,” Proc.  -  2016  6th  Int.  Annu.  Eng.  Semin.  Ina. 2016 , pp. 28–31, 2017.