SENTIMENT ANALYSIS PADA REVIEW APLIKASI MOBILE MENGGUNAKAN METODE NAÏVE BAYES DAN QUERY EXPANSION Ro’i Fahreza Nur Firmansyah1, M. Ali Fauzi, S.Kom, M.Kom2, Tri Afirianto, S.T, M.T3 1,2,3
Teknik Informatika, Program Teknologi Informasi dan Ilmu Komputer, Universitas Brawijaya Jl. Veteran No.8 Malang, Informatika, Gedung A PTIIK – UB E-mail :
[email protected],
[email protected] ,
[email protected]
ABSTRAK Dalam aplikasi mobile komentar pengguna terhadap penggunaan aplikasi sangatlah penting untuk pengembangan aplikasi selanjutnya menjadi lebih baik. Begitu banyak pengguna yang memberi komentar sehingga pengembang mengalami kesulitan dalam memilah dan mengkategorikan komentar. Komentar yang diberikan tidaklah panjang melainkan komentar singkat (short text). Untuk menyelesaikan permasalahan tersebut, maka digunakan Sentiment Analysis untuk menganalisis emosi dari sebuah komentar dan mengklasifikasikan ke dalam sebuah sentiment. Sentiment Analysis lebih sering menggunakan kata sifat yang berbeda namun mempunyai makna yang sama sehingga kata yang dimaksud tidak terdapat pada data latih. Untuk itu diperlukan Query Expansion dengan menambahkan sinonim pada kata sifat yang diambil dari API kateglo. Berdasarkan hasil pengujian yang telah dilakukan penggunaan Naïve Bayes-Query Expansion dalam Sentiment Analysis terbukti lebih baik dengan akurasi sebesar 98% dibandingkan dengan Naïve Bayes tanpa menggunakan Query Expansion yang hanya mempunyai akurasi sebesar 95%. Kata kunci: Review, Sentiment Analysis, Short Text, Query Expansion, Akurasi.
ABSTRACT In the mobile application user comments on the use of the application is important for the development of further applications to be better. So many users commented that the developers have difficulty in sorting and categorizing comment. Comments given is not long but short comment (short text). To resolve the problem, it is used Sentiment Analysis to analyze the emotions of a comment and classify into a sentiment. Sentiment Analysis is more frequently used adjectives are different but have the same meaning that the word in question is not contained in the training data. It required Query Expansion by adding synonyms to the adjective derived from API kateglo. Based on the results of testing that has been done using Naïve Bayes with Query Expansion in Sentiment Analysis proved to be better with an accuracy of 98% compared with the Naïve Bayes without using Query Expansion which only has an accuracy of 95%. Keywords: Review, Sentiment Analysis, Short Text, Query Expansion, Accuracy.
1. PENDAHULUAN 1.1. Latar Belakang Penggunaan perangkat mobile saat ini sudah sangat populer, bahkan sepeti yang dilansir oleh KOMPAS.com setidaknya terdapat 7 milyar pengguna perangkat mobile diseluruh dunia. Hal tersebut mendorong para pengembang aplikasi (developer) untuk mengembangkan beragam aplikasi. Dalam beberapa tahun ini peningkatan yang signifikan dari aplikasi perangkat mobile memungkinkan pengguna untuk mengomentari dan me-review aplikasi melalui berbagai layanan setiap platform (Zhang, 2014). Sentiment Analysis dalam bidang marketing digunakan untuk menganalisis review produk untuk meningkatkan kualitas produk kedepannya menjadi lebih baik. Dalam domain review aplikasi mobile komentar seseorang yang dipengaruhi oleh emosional penulis (Sentiment Analysis) nantinya akan diklarifikasikan agar terlihat komentar tersebut akan masuk ke dalam sentiment yang mana. Untuk itu dibutuhkan metode klasifikasi yang digunakan untuk menganalisa komentar tersebut. Pada penelitian sebelumnya yang berkaitan dengan Sentiment Analysis yang telah dilakukan oleh Bilal et al. (2015) terhadap opini yang ditulis dalam Bahasa Roman-Urdu dan Bahasa Inggris yang diekstraksi dari blog. Dalam penelitian ini digunakan metode atau model klasifikasi yang meliputi metode Naïve Bayes, pohon keputusan (decision tree), dan KNearest Neighbour (KNN). Dataset yang digunakan untuk proses pelatihan terdiri dari 150 positif dan 150 negatif. Berdasarkan hasil uji menggunakan precision, recall, dan f-measure, metode klasifikasi Naïve Bayes menghasilkan kinerja yang lebih baik dibandingkan decision tree dan KNN. Kemudian terkait penelitian yang dilakukan oleh Julia. (2015) dengan judul “Sentiment Analysis Review Aplikasi Mobile Menggunakan Metode Ensemble Classified Berbasis Average Of Probabilities”. Dalam penelitian ini digunakan metode atau model klasifikasi ensemble elassified untuk mengklasifikasikan review aplikasi ke dalam sentiment positif atau negatif. Namun penelitian ini terdapat kekurangan untuk mengklasifikasikan komentar singkat (short text), sehingga mengakibatkan menurunya tingkat akurasi. Penurunan tingkat akurasi tersebut dikarenakan Sentiment Analysis lebih sering menggunakan kata sifat yang berbeda namun mempunyai makna yang sama, sehingga kata yang dimaksud tidak terdapat pada data latih. Berdasarkan uraian di atas, pada penelitian ini menggunakan metode Naïve Bayes dikarenakan tingkat akurasi yang lebih baik kemudian dilakukan optimasi komentar singkat (short text) dengan menggunakan model Query Expansion untuk menganalisa dan mengevaluasi sebuah pandangan
seseorang terhadap sebuah produk berupa aplikasi mobile dengan judul “Sentiment Analysis pada Review Aplikasi Mobile dengan Metode Naïve Bayes dan Query Expansion”. Penggunaan metode klasifikasi Naïve Bayes untuk menyelesaikan task Sentiment Analysis dikarenakan metode Naïve Bayes merupakan algoritma pembelajaran induktif yang tergolong cukup sederhana, efektif, dan efesien (Shadiq, 2009). Dengan adanya penelitian ini, diharapkan permasalahan dalam menganalisa dan mengevaluasi pandangan seseorang terhadap sebuah produk, sehingga diketahui kelemahan produk dari sudut pandang pengguna dan bisa meningkatkan daya guna serta penjualan produk tersebut.. 1.2. Rumusan Masalah Berdasarkan uraian pada latar belakang tersebut, dapat dirumuskan permasalahan sebagai berikut : 1. Bagaimana mengimplementasikan algoritma Naïve Bayes dan Query Expansion pada Sentiment Analysis review aplikasi mobile? 2. Bagaimana hasil akurasi Sentiment Analysis review aplikasi mobile menggunakan Naïve Bayes dan Naïve Bayes-Query Expansion? 3. Bagaimana pengaruh Pre-processing terhadap hasil klasifikasi Sentiment Analysis review aplikasi mobile? 1.3. Batasan Masalah Untuk menghindari dari melebarnya permasalahan, diberikan batasan masalah sebagai berikut : 1. Obyek dari perancangan skripsi ini adalah review atau komentar responden aplikasi BCA mobile pada playstore. 2. Dokumen uji berjumlah 100 sedangkan dokumen latih berjumlah 1000. 3. Solusi dari hasil keluaran pada penelitian ini diharakan sentiment terhadap sebuah produk apakah lebih positif atau negatif. 4. Metode yang digunakan dalam penelitian ini adalah algoritma Naïve Bayes dan Query Expansion. 5. Query Expansion dilakukan pada dokumen uji. 6. Kategori Sentiment Analysis adalah positif dan negatif. 7. Perancangan dan implementasi aplikasi berbasis dekstop menggunakan bahasa pemrograman Java. 8. Data query exspansion diperoleh dari API kateglo dengan format Json. 1.4. Tujuan Tujuan yang ingin dicapai dari penelitian ini adalah :
1.
2.
3.
Untuk mengimplementasikan algoritma Naïve Bayes dan Query Expansion pada Sentiment Analysis review aplikasi mobile. Untuk mendapatkan hasil akurasi Sentiment Analysis review aplikasi mobile menggunakan Naïve Bayes dan Naïve BayesQuery Expansion. Untuk mengetahui pengaruh Pre-processing terhadap hasil klasifikasi Sentiment Analysis review aplikasi mobile.
1.5. Manfaat Adapun manfaat yang dapat diperoleh dari penelitian ini antara lain : 1.
2.
Megetahui besarnya minat orang-orang yang menggunakan produk dengan melihat dari sentiment yang dihasilkan. Manfaat teoritis bagi peneliti yaitu memperluas wawasan dan mengembangkan ilmu yang telah didapatkan selama masa perkuliahan terutama yang berkaitan algoritma Naïve Bayes dan Naïve Bayes-Query Expansion.
2. Tinjauan Pustaka 2.1. Tinjauan Penelitian Tinjauan penelitian dalam penelitian ini digunakan untuk membahas penelitian terkait yang sudah dilakukan sebelumnya, diantaranya penelitian dengan Sentiment Analysis yang telah dilakukan oleh Bilal et al. (2015) terhadap opini yang ditulis dalam Bahasa Roman-Urdu dan Bahasa Inggris yang diekstraksi dari blog. Dalam penelitian ini digunakan metode atau model klasifikasi yang meliputi metode Naïve Bayes, pohon keputusan (decision tree), dan KNearest Neighbour (KNN). Dataset yang digunakan untuk proses pelatihan terdiri dari 150 positif dan 150 negatif. Berdasarkan hasil uji menggunakan precision, recall, dan f-measure, metode klasifikasi Naïve Bayes menghasilkan kinerja yang lebih baik dibandingkan decision tree dan KNN. Kemudian penelitian selanjutnya terkait Query Expansion dilakukan oleh The et al. (2015) mengenai deteksi emosi pada tweets berbahasa Indonesia. Pada penelitian tersebut dilakukan dengan dua pendekatan, pendekatan pertama dilakukan untuk mengekstrak tweets yang mengandung emosi dari keseluruhan tweets. Selanjutnya pada pendekatan yang kedua hasil ekstraksi tweets emosi diklasifikasikan ke dalam kelas emosi love, joy, sad, fear, dan anger. Untuk mengekstraksi tweets digunakan model fitur N-Gram, linguistic, semantic (meliputi word expansion dan Indonesian sentiment lexicon), dan ortographic. Metode yang digunakan untuk menyelesaikan task klasifikasi tersebut menggunakan Support Vector Machine (SVM). Berdasarkan hasil uji menunjukan
bahwa metode yang diusulkan menyelesaikan task tersebut
efektif
untuk
2.2. Database Sqlite Sqlite merupakan database permanen karena sqlite tidak memiliki server terpisah. Sqlite dapat membaca dan menulis langsung ke dalam file disk dengan beberapa tabel, indeks, triggers, dan view yang terdapat dalam sebuah file disk tunggal. Database berformat file bersifat cross-platform, sehingga dapat berjalan diantara sistem 32-bit dan 64bit. Fitur-fitur ini membuat sqlite menjadi pilihan populer sebagai aplikasi dengan format file (Sqlite.org,2012). Setiap rilis sqlite telah mengalami berbagai pengujian, sehingga memiliki kualitas dan peforma yang baik. Penggunaan memori sangat mempengaruhi kinerja sqlite. Semakin banyak alokasi memori maka kinerja sqlite semakin cepat, namun mampu bekerja cukup baik bahkan di lingkungan memori yang terbatas. 2.3. Text Mining Text Mining dapat didefinisikan sebagai analisis text untuk menggali informasi atau pengetahuan yang tersembunyi pada data berupa teks atau sering disebut dengan istilah Knowledge Discovery in Text. Tujuan utama dari text mining yaitu untuk menemukan pola (pattern) atau tren yang berguna dari sekumpulan dokumen. Fungsi utama pada text mining meliputi information extraction (IE), kategorisasi teks, summarization, clustering teks, information monitor and Question and Answers (Mustafa, 2009). Text mining merupakan bagian dari data mining namun text mining memerlukan lebih banyak tahapan dibandingkan dengan data mining. Hal ini karena data text memiliki karakteristik yang lebih kompleks daripada data biasa sehingga perlu adanya tahapan untuk merubah data menjadi lebih terstruktur. 2.4. Pre-processing Pre-processing merupakan teknik data mining yang melibatkan perubahan data mentah menjadi sebuah format yang terstruktur dan dimengerti. Data mentah seringkali tidak lengkap, tidak konsisten, dan mungkin mengandung banyak kesalahan. Teknik Preprocessing terbukti dapat menyelesaikan masalah tersebut. Ada beberapa tahapan dalam teknik Preprocessing seperti tokenization, case folding, filtering, dan stemming. 2.4.1 Case Folding Case folding merupakan tahapan untuk mengubah semua huruf dalam dokumen menjadi huruf kecil (lowercase). Ilustrasi case folding dapat dilihat pada Gambar 2.1 berikut.
Transaksi praktis Bagus buanget dan bermanfaat, bisa transaksi kapanpun dan dimanapun
transaksi praktis bagus buanget dan bermanfaat, bisa transaksi kapanpun dan dimanapun Gambar 2. 1 Case folding 2.4.2 Tokenizing Tokenizing merupakan tahap pemotongan string input berdasarkan tiap kata yang menyusunnya. Tokenizing juga digunakan untuk membuang beberapa karakter yang dianggap sebagai tanda baca. Gambar 2.2 berikut merupakan tahap tokenizing transaksi praktis bagus buanget dan bermanfaat bisa transaksi kapanpun dan dimanapun
transaksi praktis bagus buanget dan bermanfaat, bisa transaksi kapanpun dan dimanapun
Gambar 2.2 Tokenizing 2.4.3 Filtering Tahap filtering adalah tahap mengambil katakata penting dari hasil tokenizing menggunakan algoritma stopword removal (membuang kata yang kurang penting). Stopword adalah kata-kata yang tidak deskriptif yang dapat dibuang dalam pendekatan bag of words. Gambar 2.3 berikut merupakan tahap filtering. transaksi praktis bagus buanget dan bermanfaat, bisa transaksi kapanpun dan dimanapun
transaksi praktis bagus buanget bermanfaat, bisa transaksi
Gambar 2.3 Filtering
2.4.4 Stemming Stemming merupakan proses normalisasi dalam sistem information retrivel yang digunakan untuk mencari kata dasar (root word) yang terdapat dalam suatu dokumen atau term dengan mengacu pada aturan-aturan tertentu (agusta, 2009). Ilustrasi stemming dapat dilihat pada Gambar 2.4 berikut. transaksi praktis bagus buanget dan bermanfaat, bisa transaksi kapanpun dan dimanapun
transaksi praktis bagus buanget manfaat, bisa transaksi
Gambar 2.4 Stemming 2.4.5 Convert Negation Convert negation merupakan proses konversi kata-kata negasi yang terdapat pada suatu kalimat, karena kata negasi mempunyai pengaruh dalam mengubah nilai emosi pada sebuah kalimat. Jika terdapat kata negasi maka akan disatukan dengan kata setelahnya. Kata-kata negasi tersebut meliputi kata “bukan”, “tidak”, “tak”, “tanpa”, ”kurang” dan “jangan”dan setelahnya tedapat kata dalam kamus positif atau negatif maka kata tersebut akan dilabeli dengan kelas sentiment. Untuk lebih jelasnya mengenai convert negation dapat dilihat pada Gambar Error! No text of specified style in document..1
Tidak bisa login kurang bagus tampilan
negatif login negatif tampilan
Gambar Error! No text of specified style in document..1 Convert negation 2.5. Sentiment Analysis Sentiment Analysis atau sering disebut dengan istilah opinion mining merupakan gabungan dari beberapa teknik, meliputi Natural Language
Processing (NLP), Information Retrieval (IR), dan Data Mining (DM) yang mengolah atau menganalisis opini, sentiment, dan emosi yang diekspresikan dalam bentuk teks pada suatu entitas (Ravi, 2015; Medhat, 2014). Pada sentiment analysis, model klasifikasi bisa digunakan untuk menentukan sentiment ke dalam 2 kelas atau lebih. Dalam task sentiment analysis bisa dilakukan dengan menggunakan pendekatan teknik machine learning ataupun pendekatan berbasis lexicon (Ravi, 2015). Lebih jelasnya mengenai pendekatan dan aplikasi pada Sentiment Analysis digambarkan pada Gambar 2.5 berikut
P (c j | wi )
P ( wi | c j ) x P (c j ) P ( wi )
(2. 1)
Keterangan:
P (c j | wi ) : Peluang kategori j ketika terdapat kemunculan kata i
P ( wi | c j ) : Peluang sebuah kata i masuk ke dalam kategori j : Peluang kemunculan sebuah kategori
P (c j )
j Subjectivity Clasification
P (wi )
Polarity Determination
Sentiment Clasification
Sentiment Analysis
Vagueness Resolution in opinionated text Multi- & CrossLingual SC
Machine learning
Lexicon based Hybrid approaches
Cross-domain SC Review Usefulness Measurement
P (c j | wi ) P ( wi | c j ) x P (c j )
Opinion Spam Detection
Lexicon Creation
Aspect Extraction
: Peluang kemunculan sebuah kata
Peluang kemunculan sebuah kata sebenarnya bisa dihilangkan pada proses perhitungan klasifikasi karena peluang kemunculan kata tidak akan berpengaruh pada perbandingan hasil klasifikasi dari setiap kategori. Sehingga, proses pada klasifikasi dapat disederhanakan dengan Persamaan 2.2.
Ontology based Non-Ontology based
(2. 2)
Untuk menghitung Prior atau peluang kemunculan suatu kategori pada semua dokumen dapat dilakukan dengan menggunakan Persamaan 2.3.
APPLICATION
P (c )
.Gambar 2. 1 Task, aplikasi, dan pendekatan pada sentiment analysis. 2.6. Naïve Bayes Classifier (NBC) Naive Bayes adalah salah satu algoritma pembelajaran induktif yang paling efektif dan efisien untuk machine learning dan data mining. Performa Naive Bayes yang kompetitif dalam proses klasifikasi walaupun menggunakan asumsi keindependenan atribut (tidak ada kaitan antar atribut). Asumsi keindependenan atribut ini pada data sebenarnya jarang terjadi, namun walaupun asumsi keindependenan atribut tersebut dilanggar performa pengklasifikasian Naive Bayes cukup tinggi, hal ini dibuktikan pada berbagai penelitian empiris (Guo, 2010). Klasifikasi Naïve Bayes termasuk ke dalam algoritma pembelajaran Bayes yang dibangun oleh data pelatihan untuk memperkirakan probabilitas dari setiap kategori yang terdapat pada ciri dokumen yang diuji. Sistem akan dilatih dengan menggunakan diberikan data baru (data latih dan data uji) untuk selanjutnya diberi tugas untuk menebak nilai fungsi target dari data tersebut (Destuardi dan Surya, 2009). Secara umum, proses klasifikasi dengan menggunakan metode Naïve Bayes dapat dilihat pada Persamaan 2.1.
Nc N
(2. 3)
Keterangan:
Nc
: Banyak kategori c pada dokumen latih
N
: Banyak keseluruhan dokumen yang digunakan. 2.6.1 Gausian Naïve Bayes Distribusi Gaussian Bayes biasanya dipilih untuk merepresentasikan probabilitas bersyarat dari fitur continue pada sebuah kelas P(Xi|Y), sedangkan distribusi gaussian dikarakteristikkan dengan dua parameter : mean dan varian. 2.6.2 Bernouli Naïve Bayes Tipe klasifikasi ini juga popular digunakan untuk pengklasifikasian short-text. Pada pengklasifikasian ini menggunakan binary (0 dan 1) dalam pembobotan tiap term, berbeda dengan perhitungan term frekuensi yang melakukan pembobotan pada setiap term 2.6.3 Multinomial Naïve Bayes Metode Multinomial Naive Bayes merupakan algoritma yang naïve karena mengasumsikan indepedensi diantara kemunculan kata-kata dalam dokumen, tanpa memperhitungkan urutan kata dan
informasi konteks dalam kalimat atau dokumen secara umum. Selain itu metode tersebut memperhitungkan jumlah kemunculan kata dalam dokumen (Destuardi dan Surya, 2009). Pada metode Multinomial Naïve Bayes, perhitungan peluang sebuah kata i masuk ke dalam kategori j dapat dilakukan dengan menggunakan Persamaan 2.4. P ( wi | c j )
count( wi , c) 1 count( w, c) V wV
(2. 4)
count(wi , c) 1 merupakan jumlah kata query yang
muncul dalam suatu kategori atau kelas. Penambahan nilai 1 dilakukan untuk menghindari nilai zero. count(w, c) merupakan jumlah seluruh kata pada kelas. Sedangkan V merupakan jumlah seluruh kata unik diseluruh kelas. Kelas C merupakan kelas Chinese sedangkan J merupakan kelas Japan. Untuk lebih jelasnya mengenai contoh perhitungan Multinomial Naïve Bayes dapat dilihat pada Tabel 2.2. wV
Tabel 2. 1 Klasifikasi dokumen dengan Multinomial Naïve Bayes Doc Latih
Uji
Kalimat
Kelas
1
Chinese Beijing Chinese
C
2
Chinese Chinese Shanghai
C
3
Chinese Macao
C
4
Tokyo Japan Chinese
J
5
Chinese Chinese Chinese Tokyo Japan
?
Dari Tabel 2.2 diperoleh nilai Prior dengan rumus Persamaan (2.1) yang ditunjukan oleh Tabel 2.3. Tabel 2. 2 Prior kelas
Pˆ (c)
Pˆ ( j )
3 4 = 0,75
1 4 = 0,25
Langkah selanjutnya mencari Conditional Probability dengan rumus Persamaan (2.2) yang ditunjukan oleh Tabel 2.4. Tabel 2. 3 Conditional Probability Kata
Conditional Conditional Probability C Probability J Chinese (5+1) / (8+6) = 6/14 (1+1) / (3+6) = 2/9 Tokyo (0+1) / (8+6) =1/14 (1+1) / (3+6) = 2/9 Japan (0+1) / (8+6) = 1/14 (1+1) / (3+6) = 2/9 Langkah selanjutnya adalah mencari nilai Posterior dengan rumus Prior*Conditional Probability’ kemudian nilai tersebut dibandingkan. Nilai tertinggi merupakan keputusan yang diambil kata masuk pada kelas sentiment. Tabel 2.5 merupakan nilai Posterior. Tabel 2. 4 Posterior kelas Posterior C 0.0003
Posterior J 0.0001
Pemilihan kelas dengan cara membandingkan nilai dari hasil perhitungan antara P(c|d5) dengan P(j|d5) untuk dicari nilai tertingginya sehingga dipastikan D5 termasuk ke dalam kelas C. 2.7. Query Expansion (QE) Query Expansion adalah salah satu teknik dasar dalam relevance feedback di mana sistem akan menambahkan query tambahan pada pencarian kedua dari hasil pada pencarian pertama (Fachruddin,2011). Query Expansion menggambarkan seperangkat teknik untuk memodifikasi query untuk memenuhi suatu kebutuhan informasi. Teknik Query Expansion dapat dibagi menjadi tiga (Selberg, 1997): 2.7.1 Manual Query Expasnion Manual Query Expansion (MQE) adalah teknik yang pengguna sendiri yang melakukan modifikasi query. Sistem ini tidak membantu pengguna sama sekali 2.7.2 Automatic Query Expasnion Automatic Query Expansion (AQE) adalah teknik yang memodifikasi query tanpa control pengguna. Sebagai contoh, Dengan analisis global menggunakan kateglo, yaitu dengan menambahkan sinonim atau kata-kata yang berhubungan dengan kata-kata pada query. Dalam suatu domain tertentu dan relasi antara istilah-istilah terdapat kateglo untuk domain kesehatan, matematika, ilmu komputer, dan lain-lain (Chevallet, 2002). Relasi yang paling sering digunakan adalah sinonim. Kateglo dibangun secara otomatis berdasarkan data statistik dari kemunculan kata pada dokumen dalam domain tertentu. Untuk
lebih jelasnya penggunaan sinonim secara otomatis pada mesin pencari yahoo ditunjukan oleh Gambar Error! No text of specified style in document..2.
Gambar Error! No text of specified style in document..2 Search engine yahoo 2.7.3 Interactive Query Expasnion Interaktive Query Expansion (IQE) adalah teknik di mana pengguna memiliki beberapa interaksi dengan sistem dalam proses Query Expansion. Sebagai contoh Gambar Error! No text of specified style in document..3 merupakan penggunaan Query Expansion dengan interaksi pengguna. Gambar Error! No text of specified style in document..3 Rekomendasi search engine 3.
METODOLOGI Metodologi penelitian ini dilakukan dalam beberapa tahap, yaitu: studi literatur, analisis kebutuhan sistem, perancangan algoritma, implementasi perangkat lunak, Pengujian dan analisis.
Gambar 3. 1 Diagram alir langkah-langkah metode penelitian 4. ANALISIS DAN PERANCANGAN 4.1. Deskripsi Permasalahan Dalam aplikasi mobile komentar pengguna terhadap penggunaan aplkasi sangtlah penting untuk
pengembangan aplikasi selanjutnya menjadi lebih baik. Seringkali pengguna memberikan komentar baik positif dan negatif namun komentar yang diberikan tidaklah panjang (short text). Begitu banyak pengguna yang memberi komentar sehingga pengembang mengalami kesulitan dalam memilah dan mengkategorikan komentar. Dengan adanya permasalahan tersebut, dibutuhkan sebuah sistem yang membantu dalam mengklasifikasi sebuah komentar kedalam kategori positif atau negatif. Untuk menyelesaikan permasalahan tersebut, maka digunakan sentiment analysis untuk menganalisis emosi dari sebuah komentar. Banyak metode atau teknik yang digunakan untuk mengklasifikasikan sebuah teks kedalam suatu kelas atau kategori tertentu. Salah satunya yaitu metode naïve bayes untuk membagi atau memisahkan teks yang mengandung emosi positif dan negative. Dalam metode naïve bayes, hasil klasifikasi akan tergantung pada probabilitas nilai frekuensi kemuculan sebuah dokumen. Namun karena komentar yang diberikan tergolong singkat (short text) maka perlu dilakukan optimasi dengan menggunan query expansion recognition of synonym. Dengan model tersebut short text yang mengandung kata emosi akan dicari sinonim yang nantinnya ditambahkan pada dokumen tersebut. 4.2. Deskripsi Umum Sistem Sistem yang akan dikembangkan untuk menyelesaikan permasalahan pada sentiment analysis review aplikasi mobile menggunakan metode naïve bayes dan query expansion. Dalam metode naïve bayes, hasil klasifikasi tergantung pada nilai probabilitas frekuensi kemunculan dokumen uji terhadap dokumen latih. Optimasi dilakukan untuk mendapatkan nilai akurasi yang lebih tinggi. Penambahan query expansion recognition of synonym digunakan untuk mengoptimasi komentar singkat (short text) dengan menambahkan sinonim dari kata yang menandung emosi. Secara keseluruhan deskripsi umum sistem digambarkan pada skema berikut (Gambar 4.1).
Gambar Error! No text of specified style in document..4 Deskripsi umum sistem Keterangan : 1. Tahapan klasifikasi Naïve Bayes. 2. Tahapan pengambilan sinonim dari API Kateglo. 3. Tahapan Klasifikasi Naïve Bayes-Query Expasnion. Penyelesaian metode Multinomial Naïve Bayes 4.3. Penyelesaian Metode Multinomial Naïve Bayes Penerapan multinomial naïve bayes pada pemrosesan teks, khususnya dalam hal ini klasifikasi dokumen dikarenakan beberapa alasan, seperti efektifitas pengkategorian sebuah teks; mempunyai tingkat akurasi yang tinggi. Lebih jelasnya, penyelesaian multinomial naïve bayes dijelaskan pada diagram alur sebagai berikut (Gambar 4.2).
Gambar 4.2 Alur Proses Multinomial Naïve Bayes 4.4. Penyelesaian Metode Query Expansion Penerapan query expansion pada pemrosesan teks, khususnya dalam hal ini optimasi short text untuk komentar singkat dengan menambahkan sinonim kata yang mengandung emosi sehingga proses klasifikasi mempunyai tingkat akurasi yang tinggi. Lebih jelasnya, penyelesaian query expansion dijelaskan pada diagram alur sebagai berikut (Gambar 4.3).
Gambar 4.3 Alur Proses Query Expansion 4.5. Pre-processing
beberapa potongan kode program yang dijelaskan oleh aplikasi. Apliakasi sentiment analysis pada review aplikasi mobile menggunakan metode naïve bayes dan query expansion terdiri dari beberapa proses utama diantaranya yaitu pre-processing meliputi case folding, fitering dan stemming. Sedangkan klasifikasi terdiri dari nave bayes dan query expansion. Proses query expansion untuk menemukan sinonim dari suatu kata dibutuhkan parsing json dari api kateglo. Data dolah berdasarkan proses tersebut sehingga aplikasi dapat melakukan klasifikasi sentimen berupa positif dan negatif. Fungsi dari kelas sentiment analysis dapat dilihat pada daftar Tabel 5.1 berikut. Tabel 5. 1 Daftar fungsi Sentiment Analysis No
Gambar Error! No text of specified style in document..5 Alur proses Pre-processing 5. IMPLEMENTASI 5.1. Batasan Implementasi Batasan implementasi merupakan batasan proses yang dapat dilakukan oleh sistem berdasarkan perancangan yang telah diuraikan pada bab sebelumnya. Batasan implementasi bertujuan untuk membuat sistem sesuai dengan ruang lingkup yang jelas dan tidak keluar dari tujuan utama dari sistem. Adapun bebrapa batasan implementasi sistem dalam penelitian ini sebagai berikut. 1. Sentiment analysis pada review aplikasi mobile dirancang dan dijalankan menggunakan aplikasi dekstop berbahasa JAVA. 2. Metode penyelesaian masalah yang digunakan adalah Multinomial Naïve Bayes dan Query Expansion. 3. Data yang digunakan sebagai data latih dan data uji merupakan komentar atau review aplikasi mobile bank BCA pada playstore yang berbentuk teks. 4. Keluaran yang dikeluarkan berupa hasil sentiment analysis yaitu positif atau negative. 5. Penentuan sentiment berdasarkan kamus kata dengan menghitung frekuensi kemunculan kata, sistem tidak memperhatikan semantic yaitu makna kata dan kalimat. 5.2. Implementasi Aplikasi Implementas aplikasi menejelaskan bagaimana tahapa aplikasi sentiment analysis pada review aplikasi mobile menggunakan metode naïve bayes dan query expansion. Tahapan tersebut akan dijelaskan berdasarkan alur kerja sistem yang dijelaskan pada bab sebelmnya. Penjelasan tahapan akan melibatkan
1.
Proses
PreProcesing
Nama Fungsi
caseFolding()
bersihkanStop word()
HapusTandaB aca()
Stemming()
Negasi(String kalimat)
Query Expansion Synonime of recognition
Keterangan Mengubah suatu kata atau kalimat menjadi huruf kecil. Fungsi untuk menghilangka n kata yang tidak penting berdasarkan kamus. Fungsi untuk menghapus angka dan tanda baca. Fungsi untuk mencari kata dasar dar suatu kata. Fungsi untuk mengubah kata yang mengandung negasi ke dalam sentiment
kalimat(String kata)
Fungsi untuk mencari sinonim suatu kata dari API Json kateglo.
httpGet()
Fungsi ntuk mengambil
data dari url API kateglo.
Klasifikasi
PriorPositif()
PriorNegatif()
Jum_TermUni x()
Klasifikasi()
Fungsi untuk menghitung nilai Prior kelas positif Fungsi untuk menghitung nilai Prior kelas Negatif Fungsi untuk menghitung jumlah term unix Fungsi untuk mengklasifika sikan dokumen ke dalam kelas positif dan negatif
Halaman klasifikasi sentiment analysis merupkan halaman untuk mengklasifikasikan komentar kedalam sentiment positif atau negatif. Klasifikasi dilakukan dengan menggunakan pre-processing atau tanpa preprocessing. Hasil klasifikasi dapat dilihat pada kolom kategori dan nilai akurasinya.
Gambar 5.3 Halaman Grafik Akurasi Halaman grafik akurasi merupakan halaman yang disediakan untuk melihat nilai hasil akurasi antara naïve bayes dan query expansion
5.3. Implementasi Antar Muka
Gambar 5.3 Halaman Pengujian Gambar 5.1 Halaman Utama Sistem Halaman utama sistem merupakan halaman yang disediakan oleh sistem untuk melakukukan penambahan, pengubhan dan penghapusan dokumen latih maupun dokumen uji.
Gambar 5.2 Halaman Klasifikasi Sentiment Analysis
Halaman Pengujian merupakan halaman yang disediakan oleh sistem untuk pengguna menguji komentar untuk diklasifikasikan kedalam sentiment positif atau negatif baik dengan query expansion maupun tanpa query expansion. 6. ANALISIS DAN PENGUJIAN 6.1. Pengujian Pre-processing dan variasi Naïve Bayes-Query Expansion Pengujian ini dilakukan untuk mengetahui pengaruh Query Expansion terhadap hasil klasifikasi pada data latih dan data uji yang dilakukan Preprocessing. Pada pengujian ini, data latih dan data uji sudah dilakukan Pre-processing. Sedangkan pada data uji dilakukan variasi, yaitu dengan menambahkan algoritma Query Expansion pada Naïve Bayes. Pada pengujian ini, data yang diuji benar-benar data asli review aplikasi bank BCA pada playstore. Data uji yang diambil sebanyak 100 data dengan komposisi 50 data review positif dan 50 data review neatif.
Sedangkan, data latih yang digunakan bervariasi mulai dari 25, 50, 200 sampai 500 data latih. Hasil pengujian dapat dilhat pada Tabel 6.1. Tabel 6. 1 Pengujian Pre-processing dan Naïve Bayes-Query Expansion Klasifikasi Sentimen Menggunakan Pre-processing Positif
Negatif
NB
NB+QE
25
25
76%
85%
50
50
82%
90%
200
200
93%
98%
500 500 93% 96% Pengujian variasi Query Expansion pada data uji dengan Pre-processing pada data latih dan data uji menghasilkan akurasi terbaik pada angka 96%. Hasil terbaik ini didapat pada pengujian dengan Query Expansion. 98%
100% 95% 90%
90% 85%
85% 80%
76%
75% 70%
82%
93%
96% 93%
Gambar Error! No text of specified style in document..6 Grafik akurasi Naïve Bayes-Query Expansion variasi pengujian ini, datadan yang diuji Pre-processing benar-benar data asli review aplikasi bank BCA pada playstore. Data uji yang diambil sebanyak 100 data dengan komposisi 50 data review positif dan 50 data review neatif. Sedangkan, data latih yang digunakan bervariasi mulai dari 25, 50, 200 sampai 500 data latih. Hasil pengujian dapat dilhat pada Tabel 6.4. Tabel 6. 2 Hasil pengujian Naïve Bayes-Query Expansion dan variasi Pre-processing Klasifikasi Sentimen Tanpa dan Dengan Preprocessing
Pre Processing Naïve Bayes Pre-processing naïve bayes dengan query Expansion
65% 25-25
6.2. Pengujian Naïve Bayes-Query Expansion dan variasi Pre-processing Pengujian ini dilakukan untuk mengetahui pengaruh Pre-processing pada data latih dan data uji terhadap hasil klasifikasi pada data latih yang ditambahkan Query Expansion. Pada pengujian ini, data latih sudah ditambahkan Query Expansion. Sedangkan pada data latih dan data uji dilakukan variasi, yaitu dengan menggunakan Pre-processing dan tanpa menggunakan Pre-processing. Pada
50-50 200-200 500-500
Dari grafik pengujian yang telah dilakukan, penambahan data latih memang mempengaruhi proses klasifikasi baik dengan Query Expansion, maupun Naïve Bayes tanpa Query Expansion. Namun setiap penambahan data latih interval antara Naïve Bayes dan Naïve Bayes-Query Expansion akan semakin dekat hal ini dikarenakan semakain banyak data latih maka kata yang akan dicari sinonim sudah terkaver dalam data latih sehingga penambahan sinonim tidak meningkatkan akurasi secara signifikan. Justru semakin banyak data latih dapat menurunkan akurasi Naïve Bayes-Query Expansion dikarenakan jumlah frekuensi kemunculan sinonim tidak sebanding dengan pembagi dari Likelihood. namun sinonim yang ditambahkan tidak muncul dalam data latih, klasifikasi dengan Query Expansion selalu mempunyai nilai yang lebih baik dibandingkan Naïve Bayes tanpa Query Expansion meskipun keduanya dilakukan Pre-processing.
positif
negatif
NB+QE Tanpa Pre-processing
25
25
70%
NB+QE Dengan Preprocesing 85%
50
50
81%
90%
200
200
89%
98%
500
500
90%
96%
Pengujian variasi Pre-processing pada data latih dan data uji dengan penambahan Query Expansion pada algoritma Naïve Bayes menghasilkan akurasi terbaik pada angka 96%. Hasil terbaik ini didapat pada pengujian dengan Pre-processing.
Dari grafik pengujian yang telah dilakukan, penggunaan Pre-procesing sangat meningkakan akurasi karena bila tanpa dilakukan Pre-processing terlebih dahulu, maka data yang digunakan memiliki kata-kata yang sebenarnya memiliki arti sama namun
tidak terkelompok menjadi satu kata saja melainkan terbagi ke dalam beberapa kata. Contohnya saja, jika dalam sebuah dokumen mengandung kata menjelekan, terjelek, kejelekan, kejelekanya, serta jeleknya. Dari kelima kata tersebut sebenarnya memiliki satu arti kata saja yakni jelek. Kelima kata tersebut memiliki kata dasar yang sama, yaitu jelek. Namun, tanpa dilakukan Pre-processing maka kelima kata tersebut tidak terkelompok menjadi satu melainkan dianggap kata yang tidak memiliki kata dasar. Sehingga, tanpa dilakukan Pre-processing terlebih dahulu pada dokumen yang digunakan akan membuat hasil klasifikasi menjadi tidak sempurna. Hal ini disebabkan karena dalam proses klasifikasi, semakin banyak kata yang tidak berguna atau dengan kata lain kata yang terkandung pada data uji tidak banyak muncul di data latih (atau sebaliknya). Dengan banyaknya kata yang tidak berguna tersebutlah yang akan membuat proses klasifikasi tidak sempurna dan menghasilkan nilai akurasi yang rendah 6.3. Pengujian variasi Pre-processing dan variasi Naive Bayes-Query Expansion secara keseluruhan Pengujian ini dilakukan untuk menganalisis hasil pengujian terbaik dari keempat jenis variasi pengujian yang dilakukan. Sama seperti pengujian sebelumnya, data uji yang diambil sebanyak 100 data dengan komposisi 50 data review positif dan 50 data review neatif. Sedangkan, data latih yang digunakan bervariasi mulai dari 25, 50, 200 sampai 500 data latih. Hasil pengujian dapat dilhat pada Tabel 6.3.
Tabel 6. 3 Hasil pengujian secara keseluruhan Klasifikasi Sentimen Keseluruhan
Positif
Negatif
25 50 200 500
25 50 200 500
Dengan Preprocessing NB 76% 82% 93% 93%
Dengan Preprocessing NB+QE 85% 90% 98% 96%
Tanpa Preprocessing NB 73% 82% 90% 92%
Tanpa Preprocesing NB+QE 70% 81% 89% 90%
Berdasarkan pengujian yang telah dilakukan, didapatkan hasil akurasi terbaik pada saat pengujian dengan menggunakan Pre-processing dan Query Expansion. Hasil akurasi terbaik berada di angka 98% dan pada saat 200 data latih positif dan 200 data latih negatif.
100%
Sentiment analysis pre-processing dan naive bayes-uery expansion
98%
95% 90%
90% 85%
85% 82% 82% 81% 76%
80% 75%
93% 90%
96% 93% 92% 90%
89%
TanpaPreprocessing Naïve Bayes TanpaPreprocessing naïve bayes dengan Query Expansion PreprocessingNaïve Bayes
73%
70%
70%
65% 25-25
50-50 200-200 500-500
Preprocessingnaïve bayes dengan query Expansion
Perbandingan data latih positif-negatif Gambar Error! No text of specified style in document..7 Grafik akurasi Pre-processing dan Naïve Bayes Query Expansion Hasil pengujian mendapatkan hasil akurasi klasifikasi terbaik pada saat dilakukan Pre-processing dan ditambahkan Query Expansion. Untuk dapat menjelaskan hal tersebut dapat dilihat pada ilustrasi Gambar Error! No text of specified style in document..8. Data Latih
Pre-processing
aplikasi yang saya temui pokoknya terburuk banget
temui pokok buruk banget
Data Uji
Pre-processing
Naive bayes dengan Query Expansion
Jeleknya sampai" waktu habis gara" gagal login
jelek waktu habis gagal login
jelek buruk busuk waktu habis gagal login
Gambar Error! No text of specified style in document..8 Ilustrasi perbedaan keempat pengujian Dari ilustrasi dapat dibuat analisis seperti berikut: 1. Pengujian tanpa Pre-processing dan Naïve Bayes, data uji tidak berubah dari asalnya. Pengujian ini menduduki peringkat tiga terbaik atau kedua terburuk dibandingkan pengujian lainnya. Hal ini terjadi karena dua hal. Yang pertama, tanpa dilakukan Preprocessing terlebih dahulu pada proses klasifikasi, maka data yang digunakan memiliki kata-kata yang sebenarnya memiliki arti sama namun tidak terkelompok menjadi satu kata saja melainkan terbagi ke dalam beberapa kata. Contohnya saja, jika dalam sebuah dokumen mengandung kata terjelek, kejelekan, jeleknya, Jelek! serta
2.
3.
menjelekan. Dari kelima kata tersebut sebenarnya memiliki satu arti kata saja yakni jelek. Kelima kata tersebut memiliki induk kata yang sama, yaitu jelek. Namun, tanpa dilakukan Pre-processing maka kelima kata tersebut tidak terkelompok menjadi satu melainkan dianggap kata yang tidak memiliki induk. Sehingga, tanpa dilakukan Preprocessing terlebih dahulu pada dokumen yang digunakan akan membuat hasil klasifikasi menjadi tidak sempurna. Disamping itu Sentiment Analysis lebih sering menggunakan kata sifat sehingga banyak kata yang sebenarnya mempunyai makna yang sama tidak muncul pada data latih yang mengakibatkan proses klasifikasi tidak maksimal. Pengujian kedua yaitu tanpa Pre-processing dan Naïve Bayes-Query Expansion, menghasilkan akurasi yang paling rendah diantara keempat pengujian. Penyebab dari hasil akurasi yang sangat rendah ini dikarenakan proses klasifikasi yang dilakukan oleh sistem mengandung kata-kata yang tidak dibutuhkan. Perbendaharaan kata yang ada disetiap data latih semakin banyak, namun kata-kata yang diperluas atau ditambahkan tidak berguna pada proses klasfikasi. Hal ini disebabkan karena proses ekspansi kata baru tidak dilakukan Preprocessing terlebih dahulu sehingga kata yang ada di data uji semakin banyak. Contohnya saja, jika dalam sebuah dokumen mengandung kata terjelek, kejelekan, kejelekanya, jeleknya, serta menjelekan. Dari kelima kata tersebut sebenarnya memiliki satu arti kata saja yakni jelek. Kelima kata tersebut memiliki induk kata yang sama, yaitu jelek. Namun, tanpa dilakukan Preprocessing maka kelima kata tersebut tidak terkelompok menjadi satu melainkan dianggap kata yang tidak memiliki induk. Pada pengujian ini juga ditambahkan Query Expansion, di mana ekspansi kata yang digunakan sudah dilakukan Pre-processing terlebih dahulu. Sehingga, proses ekspansi kata tidak berjalan maksimal, karena kata yang diperluas sudah diubah ke dalam kata induknya. Sedangkan data latih yang digunakan tidak dilakukan Pre-processing yang menyebabkan banyak sekali kata yang memiliki arti sama namun tidak menjadi satu induk (kata berimbuhan tidak menjadi kata dasar). Pengujian ketiga yaitu, Pre-processing dan Naïve Bayes menghasilkan akurasi terbaik
4.
5.
kedua. Pada pengujian ini belum menggunakan Query Expansion pada data uji. Namun, dari pengujian yang dilakukan proses klasifikasi dengan menambahkan Preprocessing terlebih dahulu pada data latih dan data uji menghasilkan nilai yang lebih baik dibandingkan tanpa Pre-processing. Hasil akurasi yang semakin membaik ini dikarenakan sebuah data memerlukan Preprocessing sebelum diklasifikasikan. Contohnya saja, jika sebuah data latih mengandung 5 kata yang memiliki kata dasar yang sama yaitu jelek. Kelima kata tersebut yaitu, terjelek, kejelekan, kejelekanya, jeleknya, serta menjelekan. Kelima kata tersebut sebenarnya memiliki kata dasar yang sama, yaitu jelek. Ketika data latih dan data uji sudah dilakukan Pre-processing terlebih dahulu sebelum dilakukan klasifikasi, kelima kata yang memiliki kata dasar yang sama tersebut akan dianggap satu kata sehingga hasil klasifikasi akan semakin membaik. Pengujian terakhir yaitu Pre-processing dan Naïve Bayes-Query Expansion, memiliki nilai akurasi yang paling tinggi dibandingkan ketiga pengujian lainnya. Hasil pengujian ini menghasilkan nilai terbaik karena dua hal, yaitu karena adanya Pre-processing dan Query Expansion. Penggunaan Preprocessing memberikan hasil terbaik pada proses klasifikasi karena sebuah data mengandung kata yang tidak penting dan kata-kata yang sebenarnya memiliki kata dasar yang sama, sebagaimana yang sudah dijelaskan pada analisis pengujian ketiga. Penambahan Query Expansion pada data uji memberikan pengaruh besar terhadap hasil klasifikasi data yang sudah dilakukan Preprocessing terlebih dahulu karena, pada klasifikasi short-text kata yang ada di data uji cenderung tidak muncul di data latih sehingga menyebabkan hasil klasifikasi berjalan tidak sempurna. Dengan Query Expansion, pada data uji ditambahkan kata baru terlebih dahulu sebelum proses klasifikasi. Sehingga perbendaharaan kata yang ada di data uji akan semakin banyak, dengan begitu proses klasifikasi akan menghasilkan akurasi yang lebih baik. Berdasarkan Grafik 6.3 perubahan secara signifikan terjadi pada interval data 200 sampai dengan 500 data latih. Penurunan akurasi disebabkan oleh jumlah frekuansi yang muncul pada interval data latih tidak sebanding dengan jumlah term sehingga terjadi pembengkakan pada saat menghitung
Likelihood. Jumlah term akan menjadi pembagi dari Likelihood, itulah kenapa bila frekuensi kemunculan tidak sebanding dengan jumlah term maka akan menurunkan tingkat akurasi 7. PENUTUP 7.1. Kesmpulan Berdasarkan hasil pengujian dan analisis dari sentiment analysis pada review aplikasi mobile menggunakan metode naïve bayes dan query expansion dapat disimpulkan sebgai berikut: 1. Metode klasifikasi Naïve Bayes dan Naïve Bayes-Query Expansion dapat diterapkan pada proses Sentiment Analysis review aplikasi mobile. Data latih yang diambil bersumber pada review aplikasi BCA mobile pada playstore. Sebelum dilakukan proses klasifikasi dokumen perlu melalui berbagai tahapan meliputi tokenisasi, filtering, case folding, dan stemming. Dokumen juga diekstrak menggunakan kata kunci positif, negatif, negasi positif, dan negasi negatif. Proses ekspansi kata dilakukan dengan mengambil sinonim dari API kateglo yang ditambahkan pada dokumen uji. 2.
Algoritma Query Expansion pada Sentiment Analysis review aplikasi mobile sangat berpengaruh terhadap proses klasifikasi karena sebuah komentar hanya mengandung karakter yang terbatas sehingga sangat sulit diklasifikasikan. Berdasarkan pengujian yang telah dilakukan Naïve Bayes-Query Expansion mendapatkan akurasi 98% lebih baik dari pada algoritma Naïve Bayes biasa yang mempunyai akurasi 95%. Oleh karena itu untuk mengklasifikasikan sebuah komentar diperlukan algoritma Naive Bayes-Query Expansion untuk mendapatkan hasil klasifikasi yang lebih baik.
3.
Penggunaan metode Query Expansion untuk mengoptimasi komentar singkat (short text) mampu meningkatkan akurasi mencapai 98 % dari pada menggunakan Naïve Bayes biasa yang mempunyai akurasi 95%. Hal ini dikarenakan sinonim yang diambil dari API kateglo mempunyai relevansi dengan data latih sehingga meningkatkan frekuensi kemunculan. Naïve Bayes-Query Expansion sangat optimal pada saat data latih sedikit dikarenakan kata yang akan di-exspan belum ter-cover pada data latih. Semakin banyak data latih rasio akurasi akan semakin dekat.
4.
Berdasarkan pengujian yang telah dilakukan penggunaan Pre-processing terhadap klasifikasi metode Naïve Bayes dan Naïve Bayes-Query Expansion masih lebih baik dari pada tanpa mengunakan Pre-processing. Hal ini dikarenakan jika tanpa menggunakan Preprocessing kata berimbuhan tidak diproses dengan baik padahal memunyai kata dasar dan makana yang sama. Penggunaan huruf besar dan kecil akan sulit dibandingkan padahal mempunyai makna yang sama. Negasi kata yang terdapat pada pre-procesing juga sangat memengaruhi terhadap proses klasfikasi sentiment karena tanpa negasi kata dapat mempunyai makana yang berbeda. Oleh karena itu dapat disimpulkan bahwa proses klasifikasi membutuhkan text Pre-processing
7.2. Saran Berdasarkan penelitian yang telah dilakukan, maka berikut merupakan beberapa saran untuk pengembangan penelitian selanjutnya. 1. Sentiment Analysis masih memiliki masalah yang tidak pernah terpecahkan, yaitu permasalahan pada Natural Language Processing (NLP) baik itu tentang penanganan negasi, pengenalan nama, dan entitas. Katakata masih ambigu untuk itu perlu adanya pengembangan lebih lanjut seperti pengembangan terhadap API google tentang spelling untuk error correction kesalahan penulisan kata. 2. Pada tahapan Pre-processing penggunan stemming masih belum maksimal sehinga mempengarhi proses klasifikasi untuk pengembangan lebih lanjut dapat menggunakan algoritma stemming yang disempurnakan seperti Jsasrawi..
8.
DAFTAR PUSTAKA
Agusta, L. (2009). Perbandingan Algoritma Stemming Porter dengan Algoritma Nazief & Adriani untuk Stemming Dokumen Teks Bahasa Indonesia. Konferensi Nasional Sistem dan Informatika Bilal, M., Israr, H., Shahid, M., & Khan, A. (2015). Sentiment classification of Roman-Urdu opinions Using Naı¨ve Bayesian, Decision
Tree and KNN classification techniques. King Saud University. Destuardi dan Surya, S. (2009). Klasifikasi Emosi Untuk Teks Bahasa Indonesia Menggunakan Metode Naïve Bayes. Teknik Elektro, Institut Teknologi Sepuluh Nopember, Surabaya. Fachruddin, M. (2011). Analisis dan ImplementasiPseudo Relevance Feedback dengan Query Expansion Menggunakan Term Selection Value. Institut Teknologi Bandung. Julia, Y. (2015). Sentiment Analysis Review Aplikasi Mobile Menggunakan Metode Ensemble Classified Berbasis Average of Probabilities. Universitas Brawijaya. Guo, Q. (2010). An Effective Algorithm for Improving the Performance of Naive Bayes for Text Classification. Cambridge University Press. Medhat, W., Hassan, A., & Korashy, H. (2014). Sentiment Analysis algorithms and applications: A survey. Ain Shams Engineering Journal, 1093-1113. Mustafa, A., Akbar, A., & Sultan, A. (2009). Knowledge Discovery Using Text mining: A Programmable Implementation on Information Extraction and Categorization. International Journal of Multimedia and Ubiquitous Engineering, 4(2), 183-188. Ravi, V., & Ravi, K. (2015). A survey on opinion mining and Sentiment Analysis: Tasks, approaches and applications. Elsevier Knowledge-Based Systems, 14-46. Selberg, E. W. (1997). Information RetrievalAdvances Using Relevance Feedback. Departement of Computer Science and Engineering University of Washington Shadiq, M. A. (2009). Keoptimalan Naïve Bayes Dalam Klasifikasi. Program Ilmu Komputer FPMIPA Universitas Pendidikan Indonesia. The, J. E., Farizki, A., & Adriani, M. (2015). A TwoStage Emotion Detection on Indonesian Tweets. ICACSIS, 175-178. Zhang, L., Hua, K., Wang, H., Qian, G., & Zhang, L. (2014). Sentiment Analysis on Reviews of Mobile Users. ELSEVIER Procedia Computer Scince, 458-465.