commit to user 5 BAB II TINJAUAN PUSTAKA 2.1. Landasan Teori 2.1.1. Twitter API
Twitter API terdiri dari dua komponen yang berbeda, REST dan SEARCH API. REST API memungkinkan pengembang/developer Twitter untuk mengakses data core Twitter (tweet, timeline, user data). Sedangkan SEARCH API digunakan untuk membuat query tweet (Wardhani, 2012).
2.1.2. Text Mining
Text mining merupakan variasi dari data mining yang digunakan untuk
menemukan pola tertentu dari sekumpulan besar data tekstual (Feldman & Sanger, 2007). Salah satu langkah yang dilakukan dalam text mining adalah text
preprocessing.
Tindakan yang dilakukan pada tahap text preprocessing adalah
toLowerCase, yaitu mengubah semua karakter huruf menjadi huruf kecil serta tokenizing, yaitu proses pemecahan kalimat menjadi token berupa kata atau term,
dimana setiap term dipisahkan oleh delimiter. Tanda titik (.), koma (,), spasi ( ) dan karakter angka yang ada pada kalimat dapat dianggap sebagai delimiter (Weiss et al., 2005)
2.1.3. Jaro-Winkler Distance
Salah satu metode similaritas yang digunakan untuk mendeteksi kesamaan dua dokumen adalah Jaro metric. Dalam penelitian persamaan dokumen, didapatkan hasil yang baik dengan menggunakan metode Jaro, yang didasarkan pada jumlah dan urutan karakter yang sama antara dua dokumen (Jaro, 1989).
Algoritma Jaro mendefinisikan ‗karakter yang sama‘ sebagai karakter pada kedua string yang sama dan memenuhi ketentuan jarak teoritis (Jaro, 1989). Jarak teoritis dua buah karakter yang disamakan dapat dibenarkan jika tidak melebihi nilai persamaan berikut ini:
⌊max(|𝑠1|,|𝑠2|)
commit to user
Persamaan di bawah ini menunjukkan rumus untuk menghitung jarak (dj)
antara dua string yaitu s1 dan s2 pada algoritma Jaro.
𝑑𝑗 =13× (|𝑠𝑚 1|+ 𝑚 |𝑠2|+ 𝑚−𝑡 𝑚 ) (2.2) dimana:
m = jumlah karakter yang sama dan memenuhi kriteria |s1| = panjang string 1
|s2| = panjang string 2
t = jumlah transposisi
Pengembangan dari algoritma Jaro berdasarkan Winkler menggunakan nilai panjang prefix yang sama di awal string dengan nilai maksimal adalah 4 (l) (Winkler, 1999).
Persamaan di bawah ini menunjukkan nilai Jaro-Winkler distance (dw) bila
string s1 dan s2 yang diperbandingkan.
𝑑𝑤 = 𝑑𝑗+ (𝑙𝑝(1 − 𝑑𝑗)) (2.3) dimana:
dj = Jaro distance untuk string s1 dan s2
l = panjang prefix umum di awal string (panjang karakter yang sama sebelum
ditemukan ketidaksamaan, maksimal 4)
p = konstanta scaling factor. Nilai standar untuk konstanta ini menurut Winkler
adalah p = 0.1.
Semakin tinggi Jaro-Winkler distance untuk dua string maka semakin mirip kedua string tersebut. Nilai terendah Jaro-Winkler distance adalah 0 yang menandakan tidak ada kesamaan antara kedua string. Nilai tertingginya adalah 1 yang menunjukkan kedua string sama persis (Kurniawati et al., 2010).
2.1.4. Naïve Bayes Classifier
Naïve Bayes Classifier adalah algoritma klasifikasi probabilitas sederhana berdasarkan pada teorema Bayes dengan asumsi yang sangat kuat (naïf) akan independensi dari masing-masing kondisi. Naive Bayes Classifier dikenal sebagai algoritma klasifikasi Bayes sederhana (Lewis, 1992).
commit to user
Pada teorema Bayes, bila terdapat dua kejadian yang terpisah (misalkan A dan B), maka teorema Bayes dirumuskan sebagai berikut:
𝑷(𝑨|𝑩) = 𝑷(𝑩)𝑷(𝑨)𝑷(𝑩|𝑨) (2.4) Teorema Bayes sering pula dikembangkan mengingat berlakunya hukum probabilitas total menjadi seperti berikut:
𝑷(𝑨|𝑩) = ∑𝑷(𝑨)𝑷(𝑩|𝑨)𝑷(𝑨 𝒊|𝑩) 𝒏
𝒊=𝟏 (2.5)
dimana A1UA2U … UAn = S.
Untuk menjelaskan teorema Naïve Bayes, perlu diketahui bahwa proses klasifikasi memerlukan sejumlah petunjuk untuk menentukan kelas apa yang cocok bagi sampel yang dianalisis tersebut. Karena itu, teorema Bayes diatas disesuaikan sebagai berikut:
𝑷(𝑪|𝑭𝟏, … , 𝑭𝒏) =𝑷(𝑪)𝑷(𝑭𝟏,…,𝑭𝒏|𝑪)
𝑷(𝑭𝟏,…,𝑭𝒏) (2.6)
Dimana variabel C merepresentasikan kelas, sementara variabel F1…Fn merepresentasikan karakteristik-karakteristik petunjuk yang dibutuhkan untuk melakukan klasifikasi. Maka rumus tersebut menjelaskan bahwa peluang masuknya sampel dengan karakteristik tertentu dalam kelas C (posterior) adalah peluang munculnya kelas C (sebelum masuknya sampel tersebut, seringkali disebut prior), dikali dengan peluang kemunculan karakteristik-karakteristik sampel pada kelas C (disebut juga likelihood), dibagi dengan peluang kemunculan karakteristik-karakteristik sampel secara global (disebut juga evidence). Sehingga rumus diatas dapat juga ditulis secara sederhana sebagai berikut:
𝑷𝒐𝒔𝒕𝒆𝒓𝒊𝒐𝒓 =𝒑𝒓𝒊𝒐𝒓×𝒍𝒊𝒌𝒆𝒍𝒊𝒉𝒐𝒐𝒅𝒆𝒗𝒊𝒅𝒆𝒏𝒄𝒆 (2.7) Nilai evidence selalu tetap untuk setiap kelas pada satu sampel. Nilai dari
posterior tersebut yang nantinya akan dibandingkan dengan nilai-nilai posterior
kelas lainnya untuk menentukan ke kelas apa suatu sampel akan diklasifikasikan. Penjabaran lebih lanjut rumus Bayes tersebut dilakukan dengan menjabarkan P(F1, …, Fn|C) menggunakan aturan perkalian menjadi sebagai
berikut:
commit to user
= 𝑷(𝑭𝟏|𝑪)𝑷(𝑭𝟐|𝑪, 𝑭𝟏)𝑷(𝑭𝟑, … 𝑭𝒏|𝑪, 𝑭𝟏, 𝑭𝟐)
= 𝑷(𝑭𝟏|𝑪)𝑷(𝑭𝟐|𝑪, 𝑭𝟏) … 𝑷(𝑭𝒏|𝑪, 𝑭𝟏, 𝑭𝟐, … , 𝑭𝒏−𝟏) (2.8)
Dapat dilihat bahwa hasil penjabaran tersebut menyebabkan semakin banyak dan semakin kompleksnnya faktor-faktor syarat yang mempengaruhi nilai probabilitas, yang hampir mustahil untuk dianalisa satu per satu. Akibatnya, perhitungan tersebut menjadi sulit untuk dilakukan.
Disinilah digunakan asumsi independensi yang sangat tinggi (naïf), bahwa masing-masing petunjuk (F1, F2, …, Fn) saling bebas (independen) satu sama lain.
Dengan asumsi tersebut, maka berlaku suatu kesamaan sebagai berikut: 𝑷(𝑭𝒊|𝑭𝒋) =𝑷(𝑭𝒊∩𝑭𝒋) 𝑷(𝑭𝒋) = 𝑷(𝑭𝒊)𝑷(𝑭𝒋) 𝑷(𝑭𝒋) = 𝑷(𝑭𝒊) (2.9) untuk i ≠ j, sehingga: 𝑷(𝑭𝒊|𝑪, 𝑭𝒋) = 𝑷(𝑭𝒊|𝑪) (2.10)
Dari persamaan di atas dapat disimpulkan bahwa asumsi independensi naïf tersebut membuat syarat peluang menjadi sederhana, sehingga perhitungan menjadi mungkin untuk dilakukan. Selanjutnya, penjabaran P(F1,…,Fn|C) dapat
disederhanakan menjadi seperti berikut:
𝑷(𝑭𝟏… 𝑭𝒏|𝑪) = 𝑷(𝑭𝟏|𝑪)𝑷(𝑭𝟐|𝑪) … 𝑷(𝑭𝒏|𝑪)
= ∏𝒏𝒊=𝟏𝑷(𝑭𝒊|𝑪) (2.11)
Dengan kesamaan diatas, persamaan teorema Bayes dapat dituliskan sebagai berikut: 𝑷(𝑪|𝑭𝟏… 𝑭𝒏) =𝑷(𝑭 𝟏 𝟏, 𝑭𝟐, … , 𝑭𝒏)𝑷(𝑪) ∏ 𝑷(𝑭𝒊|𝑪) 𝒏 𝒊=𝟏 𝑷(𝑪|𝑭𝟏… 𝑭𝒏) =𝑷(𝑪)𝒔𝒁 ∏𝒏 𝑷(𝑭𝒊|𝑪) 𝒊=𝟏 (2.12)
Persamaan diatas merupakan model dari teorema Naïve Bayes yang selanjutnya akan digunakan dalam proses klasifikasi dokumen. Adapun Z merepresentasikan evidence yang nilainya konstan untuk semua kelas pada satu sampel.
Penentuan kelas yang cocok bagi suatu sampel dilakukan dengan cara membandingkan nilai posterior untuk masing-masing kelas dan mengambil kelas
commit to user
dengan nilai posterior tertinggi. Secara matematis, klasifikasi dirumuskan sebagai berikut:
𝑪𝑵𝑩 = 𝒂𝒓𝒈𝒎𝒂𝒙𝒄∈𝑪𝑷(𝑪) ∏𝒏𝒊=𝟏𝑷(𝑭𝒊|𝑪) (2.13)
dengan c yaitu variabel kelas yang tergabung dalam suatu himpunan kelas C. Dapat dilihat bahwa rumusan diatas tidak memuat nilai evidence (Z). Hal ini disebabkan karena evidence memiliki nilai yang positif dan tetap untuk semua kelas sehingga tidak mempengaruhi perbandingan nilai posterior. Karena itu, faktor Z ini dapat dihilangkan. Algoritma Naïve Bayes Classifier ini dapat digunakan bila sebelumnya telah tersedia data yang dijadikan acuan untuk melakukan klasifikasi (Natalius, 2010).
2.1.5. Laplacian Smoothing
Untuk mengatasi nilai probabilitas kondisional pada Naïve Bayes
Classifier yang dapat saja bernilai 0, digunakan teknik smoothing. Salah satu
teknik smoothing sederhana yang kerap diterapkan pada algoritma Naïve Bayes
Classifier adalah Laplacian Smoothing. Cara yang digunakan pada teknik Laplacian Smoothing adalah dengan cara menambahkan angka 1 pada
perhitungan Likelihood (Dai et al., 2007).
Sehingga untuk algoritma Naïve Bayes Classifier, perhitungan nilai
Likelihood menjadi seperti berikut ini:
𝑃(𝐹𝑖|𝐶) =|𝑊|+ 𝑛(𝐶)1+𝑛(𝐹𝑖,𝐶) (2.14)
dimana n(Fi,C) adalah jumlah term Fi yang ditemukan di seluruh data pelatihan dengan kategori C, n(C) adalah jumlah term di seluruh data pelatihan dengan kategori C, dan |W| adalah jumlah seluruh term dari seluruh data pelatihan (Dai et al., 2007).
2.1.6. Vector Space Model
Representasi satu set dokumen sebagai vector dalam ruang vektor dikenal sebagai Vector Space Model (VSM) dan merupakan dasar untuk sejumlah operasi pengambilan informasi seperti penilaian dokumen dalam query, klasifikasi dan
commit to user
VSM digunakan untuk mengukur kemiripan antara dua buah dokumen. Dokumen merupakan vector berdimensi n dan parameter t adalah semua term yang ditemukan dalam vocabulary tanpa duplikasi (Isa & Abidin, 2013).
Gambar 2.1 memperlihatkan tiga buah vector pada ruang dimensi 3. Nilai kosinus digunakan untuk mengukur tingkat kesamaan antar dua vector. Pada gambar 2.1, P1 adalah vektor dari dokumen pembanding, sementara P2 dan P3
adalah vektor dari dokumen yang dibandingkan.
Gambar 2.1 Vector Space Model (Isa & Abidin, 2013) 2.1.7. Pembobotan TF x IDF
Term Frequency (TF) adalah jumlah kemunculan term t pada dokumen d,
yang dirumuskan sebagai freq(d, t). Matriks bobot term frequency atau TF(d,t) menunjukkan hubungan antara term t dengan dokumen d, dimana jika dokumen d tidak mengandung term t maka bobotnya bernilai 0, dan sebaliknya. Fungsi di bawah ini menunjukkan perhitungan nilai TF (Han & Kamber, 2006).
𝑇𝐹(𝑑, 𝑡) = 𝑓𝑟𝑒𝑞 (𝑑, 𝑡) (2.15)
Document Frequency (DF) merupakan jumlah dokumen yang
mengandung term t. Inverse Document Frequency (IDF) menunjukkan pembobotan dari term t. Term yang jarang muncul dalam dokumen memiliki nilai IDF yang tinggi, sementara term yang sering muncul dalam dokumen memiliki nilai IDF yang lebih rendah. Fungsi di bawah ini menunjukkan perhitungan nilai IDF (Manning et al., 2009):
commit to user
Nilai TF-IDF dalam Vector Space Model dihitung dengan fungsi sebagai berikut (Han & Kamber, 2006):
𝑻𝑭𝑰𝑫𝑭(𝒅, 𝒕) = 𝑻𝑭 (𝒅, 𝒕) × 𝑰𝑫𝑭(𝒕) (2.17)
2.1.8. Cosine Similarity
Untuk menghitung kesamaan antara kedua dokumen dalam vector space, maka akan dihitung nilai cosine similarity dari representasi vektor kedua dokumen (Manning et al., 2009).
Sim(P1,P2) = Cos θ = |PP1∙P2
1||P2| (2.18)
Pada fungsi diatas, pembilang merepresentasikan nilai dot product dari kedua vektor, sedangkan penyebut merepresentasikan nilai perkalian dari Euclidean length kedua vektor. Nilai dot product dari kedua vektor dapat dicari dengan fungsi sebagai berikut (Manning et al., 2009):
P1∙P2 = ∑Mi=1P1iP2i (2.19)
Sedangkan nilai Euclidean length dari vector P dapat dicari dengan fungsi di bawah ini (Manning et al., 2009):
|P|= √∑ PMi=1 i2 (2.20)
Jika nilai cosine similarity dari kedua vector adalah 1 maka kedua dokumen adalah sama persis. Jika nilai cosine similarity adalah 0 maka dapat dikatakan bahwa kedua dokumen tidak sama.
2.1.9. Confusion Matrix
Confusion matrix merupakan matriks yang menampilkan prediksi
klasifikasi dan klasifikasi yang aktual. Confusion matrix berukuran LxL, dimana L adalah jumlah label klasifikasi yang berbeda. Tabel di bawah ini menunjukkan
confusion matrix untuk L=2 (Kohavi & Provost, 1998).
Tabel 2.1 Confusion Matrix untuk L = 2 (Kohavi & Provost, 1998)
Prediksi
Aktual Negatif Positif
Negatif a b
commit to user
Nilai akurasi didapatkan dari rumus di bawah ini:
𝑨𝒌𝒖𝒓𝒂𝒔𝒊 = 𝒂+𝒃+𝒄+𝒅𝒂+𝒅 (2.21)
Nilai true positive rate didapatkan dari rumus di bawah ini:
𝑻𝒓𝒖𝒆 𝒑𝒐𝒔𝒊𝒕𝒊𝒗𝒆 𝒓𝒂𝒕𝒆 = 𝒄+𝒅𝒅 (2.22) Nilai true negative rate didapatkan dari rumus di bawah ini:
𝑻𝒓𝒖𝒆 𝒏𝒆𝒈𝒂𝒕𝒊𝒗𝒆 𝒓𝒂𝒕𝒆 = 𝒂+𝒃𝒂 (2.23) Nilai false positive rate didapatkan dari rumus berikut:
𝑭𝒂𝒍𝒔𝒆 𝒑𝒐𝒔𝒊𝒕𝒊𝒗𝒆 𝒓𝒂𝒕𝒆 = 𝒂+𝒃𝒃 (2.24) Nilai false negative rate didapatkan dari rumus di bawah ini:
𝑭𝒂𝒍𝒔𝒆 𝒏𝒆𝒈𝒂𝒕𝒊𝒗𝒆 𝒓𝒂𝒕𝒆 = 𝒄+𝒅𝒄 (2.25) Gambar 2.2 menunjukkan perubahan dari extended confusion matrix berukuran 3x3 menjadi berukuran 2x2, dengan kelas ‗A‘ sebagai kelas positif dan kelas ‗Not A‘ sebagai kelas negatif.
Gambar 2.2 Extended confusion matrix 3x3 (Felkin, 2007)
2.2. Penelitian Terkait
1. Is Naïve Bayes a Good Classifier for Document Classification? (Ting et al., 2011)
Penelitian ini dilakukan untuk melihat performa metode Naïve Bayes pada klasifikasi dokumen.
Hasil menunjukkan bahwa Naïve Bayes merupakan metode klasifikasi paling baik jika dibandingkan dengan metode lain seperti decision tree,
neural network dan support vector machines dalam hal akurasi dan
commit to user
klasifikasi dapat mencapai keakuratan hingga 97%, sementara metode lain memiliki tingkat keakuratan dibawah 97%. Jika sebelum klasifikasi dilakukan proses preprocessing dan feature selection maka keakuratan metode klasifikasi Naïve Bayes dapat mencapai 97%, namun jika kedua proses tersebut tidak dilakukan maka keakuratannya mencapai 96.9%. 2. Klasifikasi Teks Dengan Naïve Bayes Classifier (NBC) Untuk
Pengelompokan Teks Berita dan Abstract Akademis (Hamzah, 2012) Penelitian ini mengkaji kinerja metode Naïve Bayes Classifier untuk kategorisasi teks berita dan teks akademik. Penelitian menggunakan data 1000 dokumen berita dan 450 dokumen abstrak akademik. Hasil penelitian menunjukkan pada dokumen berita, akurasi maksimal dicapai 91% dengan dokumen latih sebanyak 900 dokumen dan dokumen uji sebanyak 100 dokumen. Sedangkan pada dokumen akademik, akurasi maksimal dicapai 82% dengan dokumen latih sebanyak 405 dokumen dan dokumen uji sebanyak 45 dokumen. Sementara baik pada dokumen berita maupun dokumen akademik, penggunaan 50% dokumen sebagai dokumen pelatihan memberikan kinerja akurasi diatas 75%. Algoritma NBC memiliki kinerja yang baik untuk klasifikasi dokumen teks, baik dokumen berita maupun dokumen akademik.
3. Comparison Between The Probabilistic and Vector Space Model For Spam Filtering (Bansal, 2012)
Penelitian ini berfokus pada perbandingan dua buah metode yakni metode probabilistic dan vector space model untuk penyaringan spam pada surat elektronik. Hasil yang didapatkan adalah metode probabilistic memiliki tingkat kemudahan, fleksibilitas dan performa yang lebih baik dibandingkan dengan metode vector space model.
4. Mengukur Tingkat Kesamaan Paragraf Menggunakan Vector Space Model Untuk Mendeteksi Plagiarisme (Isa & Abidin, 2013)
Penelitian ini dilakukan untuk mendeteksi kesamaan antar dokumen. Similaritas setiap paragraf dalam dokumen dihitung dengan menggunakan
commit to user
algoritma vector space model. Dokumen yang digunakan sebanyak 52876 dokumen yang berasal dari repository beberapa universitas di Indonesia.
Pengujian algoritma dilakukan menggunakan beberapa jenis query, yaitu query satu kata, dua kata dan tiga kata. Total query adalah 15, masing-masing 5 query untuk setiap jenis.
Kemiripan antar paragraf dibagi menjadi tiga kelompok yaitu kemiripan dengan similaritas rendah, sedang dan tinggi. Similaritas sedang memiliki nilai similaritas antara 50-65.99%, similaritas sedang memiliki nilai kesamaan antara 66-80.99%, sedangkan similaritas tinggi memiliki nilai kemiripan antara 81-100%.
Hasil kajian menggunakan query satu kata menunjukkan bahwa pasangan paragraf dalam kelompok similaritas tinggi lebih banyak dibanding dengan pasangan paragraf dengan similaritas sedang dan rendah. Hasil query dua kata menunjukkan hasil bahwa jumlah pasangan paragraf dengan similaritas tinggi lebih banyak bila dibanding dengan similaritas rendah dan sedang. Hasil query dengan tiga kata menunjukkan bahwa pasangan paragraf dengan similaritas tinggi dapat dideteksi dengan baik. Hasil rata-rata similaritas untuk semua query menunjukkan bahwa pasangan paragraf dengan tingkat similaritas tinggi dapat dideteksi dengan baik.
Kesimpulan dalam penelitian ini adalah algoritma vector space model dapat mendeteksi dengan baik kesamaan dokumen melalui kesamaan paragraf dalam dokumen.
2.3. Kerangka Pemikiran
Berdasarkan penelitian tersebut, penelitian yang akan dilakukan adalah mengklasifikasikan data berupa mentions Twitter menjadi keluhan, berita dan
spam dengan menggunakan algoritma Naïve Bayes Classifier. Selanjutnya, setiap mentions yang diklasifikasikan sebagai keluhan akan dikelompokkan berdasarkan
kesamaan term dengan algoritma Cosine Similarity. Rekomendasi solusi kemudian akan diberikan terhadap setiap mentions yang diklasifikasikan sebagai keluhan.
commit to user
Tabel di bawah ini menunjukkan matriks penelitian dari penelitian terkait yang ada.
Tabel 2.2 Matriks penelitian
No. Penulis (Tahun) Judul Metode Hasil
1. S.L. Ting W.H. Ip A.H.C. Tsang (2011)
Is Naïve Bayes a Good Classifier for Document Classification? Naïve Bayes Decision Tree Neural Network Support Vector Machines
Naïve Bayes merupakan metode klasifikasi paling baik jika dibandingkan dengan metode lain seperti decision
tree, neural network dan support vector machines
dalam hal akurasi dan efisiensi komputasi. 2. Amir Hamzah (2012) Klasifikasi Teks Dengan Naïve Bayes Classifier (NBC) Untuk Pengelompokan Teks Berita dan Abstract Akademis
Naïve Bayes
Classifier
Pada dokumen berita, akurasi maksimal dicapai 91% dengan 900 dokumen pelatihan dan 100 dokumen pengujian. Pada dokumen akademik, akurasi maksimal dicapai 82% dengan 405 dokumen pelatihan dan 45 dokumen pengujian. 3. S. Bansal (2012) Comparison Between The Probabilistic and Vector Space Model For Spam Filtering
Probabilistic
Vector Space Model
Metode probabilistic
memiliki tingkat kemudahan, fleksibilitas dan performa yang lebih baik dibandingkan metode Vector Space Model. 4. T.M. Isa T.F. Abidin (2013) Mengukur Tingkat Kesamaan Paragraf Menggunakan
Vector Space Model
Untuk Mendeteksi Plagiarisme
Vector Space Model
Algoritma Vector Space
Model dapat mendeteksi
dengan baik kesamaan dokumen melalui kesamaan paragraf dalam dokumen. 5. Aisha Alfiani M. (2014) Sistem Klasifikasi Feedback Pelanggan Dan Rekomendasi Solusi Atas Keluhan Di UPT Puskom UNS Dengan Algoritma Naïve Bayes Classifier Dan Cosine Similarity Naïve Bayes Classifier Cosine Similarity