6 BAB II
LANDASAN TEORI
2.1 User Feedback
User feedback (Ulasan) adalah informasi bermakna yang diberikan oleh pengguna dengan tujuan memberi saran untuk peningkatan perangkat lunak. User feedback dapat diartikan secara implisit atau eksplisit. Implisit feedback diekspresikan melalui tingkah laku pengguna dan dapat diambil sebagai contoh dalam e log. Ketika berbicara mengenai user feedback secara eksplisit, user feedback yang bertumpu pada niat pengguna untuk mengkomunikasikan kepada seseorang (Morales-Ramirez dkk., 2017).
Ada berbagai jenis user feedback yaitu terstruktur, semi-terstrutur dan tidak terstruktur. User feedback terstruktur mengacu pada umpan balik yang didasarkan pada pilihan opsi (mis., kotak centang, daftar, tombol) dan deskripsi. User feedback semi-terstruktur mengacu pada kombinasi pilihan beberapa opsi atau kotak teks untuk menulis pendapat, seperti dalam ulasan app store. User Feedback tidak terstruktur seperti free-text (Morales-Ramirez dkk., 2017).
2.2 Text Classification
Text Classification (Klasifikasi teks) yaitu membuat pemetaan antara satu
set dokumen dan satu set label. Pemetaan ini kemudian digunakan untuk
menentukan dokumen baru (tidak berlabel) secara otomatis. Klasifikasi teks
merupakan supervised learning yaitu mempelajari dari data yang telah dilabel
(Violos dkk., 2018).
7 2.2.1 Stopword
Stopword adalah kata-kata yang sangat umum di corpus teks dan kata yang dianggap agak tidak informatif (seperti: itu, dan, atau). Salah satu pendekatan untuk menghapus stopword adalah dengan mencari pada kamus Bahasa stopword yang spesifik. Pendekatan alternatif dengan membuat daftar stopword lalu menyortir semua kata di seluruh korpus teks berdasarkan frekuensi. Daftar stopword yaitu setelah selesai mengkonversi menjadi kumpulan kata-kata yang tidak berlebihan yang akan digunakan untuk menghapus semua kata dari dokumen input (Raschka, 2014).
Tabel 2.1 Contoh stopword removal (Indraloka dan Santosa, 2017) Sebelum stopword removal beberapa minggu ini sering error, tidak bisa masuk
aplikasi
Sesudah stopword removal beberapa minggu sering error tidak masuk aplikasi
2.2.2 Stemming
Stemming adalah proses merubah kata menjadi kata dasar. Tujuan melakukan stemming adalah untuk menghemat waktu dan ruang untuk membuat klasifikasi efisien dan cepat. Algoritma stemming diterapkan, yang diubah dari kata-kata normal ke bentuk dasar (Violos dkk., 2018).
Tabel 2.2 Contoh stemming (Indraloka dan Santosa, 2017) Sebelum stemming aplikasi memudahkan user berbelanja.
Sesudah stemming aplikasi mudah user belanja
2.2.3 Tokenization
Tokenization menjelaskan proses umum dalam memetakan corpus teks
menjadi individual elemen yang berfungsi sebagai input untuk algoritma natural
language processing (NLP). Tokenization disertai dengan langkah-langkah
8 pemrosesan opsional lainnya, seperti penghapusan kata berhenti (stopword) dan karakter tanda baca, stemming, dan pembangunan N-gram (Raschka, 2014).
Tabel 2.3 Contoh tokenization (Indraloka dan Santosa, 2017) Sebelum Tokenization aplikasi mudah user belanja
Sesudah Tokenization aplikasi mudah user belanja
2.3 Algoritma Naïve Bayes Classifier
Naïve Bayes classifier (NBC) didasarkan pada teorema Bayes yang menggunakan probabilitas bersyarat untuk mengklasifikasikan data ke dalam kelas yang ditentukan sebelumnya (Hakiem dan Fauzi, 2019). Teknik pemelajaran mesin yang populer untuk klasifikasi teks atau text classification. Metode ini mengasumsikan model generatif probabilistik untuk teks. Persamaan Naïve Bayes secara umum dapat di notasikan pada Persamaan 2.1 (Violos dkk., 2018).
𝑃 𝑐 | 𝑑 𝑃 𝑑 | 𝑐 𝑃 𝑐
𝑃 𝑑 (2.1)
d adalah kata, c adalah kelas, P(d | c) adalah peluang kata di kelas c. P(c) adalah peluang kata dari kelas c dan P(d) adalah peluang dari kata d.
Multinomial Naïve Bayes adalah Naïve Bayes Classifier untuk fitur diskrit.
Metode Naïve Bayes didasarkan pada teorema Bayes dengan asumsi bahwa semua
fitur independen. Naïve bayes melatih parameter dengan menggabungkan
probabilitas stastistik pada setiap kelas. Model Bayesian yang paling umum dalam
domain klasifikasi teks adalah model Multivariate Bernoulli yang menggunakan
fitur biner dan model Multinomial yang menggunakan fitur seperti jumlah
kemunculan kata. Bergantung pada ukuran kosa kata, model Multivariate Bernoulli
bekerja lebih baik dengan kosa kata kecil, model Multinomial bekerja lebih baik
9 dalam kosa kata besar. Namun, model multinomial berkinerja lebih baik pada ukuran kosa kata rata-rata (Kwon dkk., 2018).
Model multinomial dirancang untuk menentukan term frekuensi yaitu berapa kali term muncul dalam dokumen. Mempertimbangkan term dalam menentukan sentimen dokumen. Selain itu, term frekuensi juga membantu dalam memutuskan apakah term tersebut bermanfaat dalam analisis atau tidak. Suatu term muncul dalam dokumen berkali-kali dapat menjadi kata kunci yang tidak berpotensi pada dokumen tetapi memiliki term frekuensi yang tinggi. Kata-kata tersebut harus dihapus terlebih dahulu untuk mendapatkan akurasi yang lebih baik dari algoritma ini (Singh dkk., 2019).
P(p) merepresentasikan prior probability dari ulasan dari polarity p yang dapat dihitung sebagai berikut:
𝑃 𝑝 𝑁𝑐
𝑁𝑑𝑜𝑐 (2.2)
Untuk menghitung rata-rata tiap kata untuk kelas yang diberikan.
Conditional Probabilities tiap kata dalam tiap kelas dapat dihitung dengan Persamaan 2.3 (Singh dkk., 2019):
𝑃 |𝑝 𝑐𝑜 𝑛 |𝑃 1
𝑐𝑜 𝑛 |𝑉| (2.3)
Nilai 1 dan |V| ditambahkan sebagai konstanta smoothing yang
ditambahkan untuk menghindari nilai nol agar term dapat dihitung. Konsep ini lebih
dikenal dengan Laplace Smoothing. | V | adalah jumlah istilah dalam kosakata total
ulasan (Singh dkk., 2019).
10 Probabilitas P(p|n) dihitung untuk polaritas positif dan juga polaritas negatif dan maksimum dianggap sebagai polaritas yang diprediksi untuk ulasan. Persamaan 2.4 (Singh dkk., 2019).
𝑃 𝑝|𝑛 𝑃 𝑝 𝑃 |𝑝 (2.4)
(t
k|p) berarti berapa kali term t
kmuncul dalam ulasan yang memiliki polaritas p dan hitung (tp) berarti jumlah total token yang ada dalam ulasan.
2.4 N-Gram Language Model
N-gram merupakan fitur yang dihasilkan dari proses ekstraksi fitur pada saat pre-processing teks. Fitur n-gram adalah fitur yang berisi kumpulan kata-kata yang akan menjadi acuan dalam proses selanjutnya (Mohamed, 2015).
Unigram N=1
𝑃 | , … , 𝑃 | , … , (2.5)
Bigram N=2
𝑃 | , … , 𝑃 |
𝑃 , , … , 𝑃 𝑃 | … 𝑃 | (2.6)
Trigram N=3
𝑃 | , … , 𝑃 | ,
𝑃 , , … , 𝑃 𝑃 | 𝑃 | , … 𝑃 | ,