perpustakaan.uns.ac.id
digilib.uns.ac.id
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 |)
ββ1 2 commit to user
5
(2.1)
6 digilib.uns.ac.id
perpustakaan.uns.ac.id
Persamaan di bawah ini menunjukkan rumus untuk menghitung jarak (dj) antara dua string yaitu s1 dan s2 pada algoritma Jaro. 1
π
π
πβπ‘
1
2
π
ππ = 3 Γ (|π | + |π | +
)
(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
7 digilib.uns.ac.id
perpustakaan.uns.ac.id
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: π·(ππ , β¦ , ππ |πͺ) = π·(ππ |πͺ)π·(π β¦ ,user ππ |πͺ, ππ ) commitπ , to
8 digilib.uns.ac.id
perpustakaan.uns.ac.id
= π·(ππ |πͺ)π·(ππ |πͺ, ππ )π·(ππ , β¦ ππ |πͺ, ππ , ππ ) = π·(ππ |πͺ)π·(ππ |πͺ, ππ ) β¦ π·(ππ |πͺ, ππ , ππ , β¦ , ππβπ ) (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
9 digilib.uns.ac.id
perpustakaan.uns.ac.id
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 clustering dokumen (Manning et al., 2009). commit to user
10 digilib.uns.ac.id
perpustakaan.uns.ac.id
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). ππΉ(π, π‘) = ππππ (π, π‘) Document
Frequency
(DF)
merupakan
(2.15) 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): π
(π‘) =tolog πΌπ·πΉ commit user ππ(π‘)
(2.16)
11 digilib.uns.ac.id
perpustakaan.uns.ac.id
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 ΞΈ =
P1 βP2 |P1 ||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 = βM i=1 P1 i P2 i
(2.19)
Sedangkan nilai Euclidean length dari vector P dapat dicari dengan fungsi di bawah ini (Manning et al., 2009): 2 |P|= ββM i=1 Pi
(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 Negatif Positif Aktual Negatif a b Positif c d commit to user
12 digilib.uns.ac.id
perpustakaan.uns.ac.id
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. 1.
Penelitian Terkait 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 metode user efisiensi komputasi. Penggunaan NaΓ―ve Bayes dalam proses
perpustakaan.uns.ac.id
13 digilib.uns.ac.id
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
perpustakaan.uns.ac.id
14 digilib.uns.ac.id
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 commit to user keluhan.
15 digilib.uns.ac.id
perpustakaan.uns.ac.id
Tabel di bawah ini menunjukkan matriks penelitian dari penelitian terkait yang ada. Tabel 2.2 Matriks penelitian No. Penulis (Tahun) 1. S.L. Ting W.H. Ip A.H.C. Tsang (2011)
Judul Is NaΓ―ve Bayes a Good Classifier for Document Classification?
ο· ο· ο· ο·
Metode NaΓ―ve Bayes Decision Tree Neural Network Support Vector Machines
ο· NaΓ―ve Bayes Classifier
2.
Amir Hamzah (2012)
Klasifikasi Teks Dengan NaΓ―ve Bayes Classifier (NBC) Untuk Pengelompokan Teks Berita dan Abstract Akademis
3.
S. Bansal (2012)
4.
T.M. Isa T.F. Abidin (2013)
5.
Aisha Alfiani M. (2014)
Comparison ο· Probabilistic Between The ο· Vector Space Probabilistic and Model Vector Space Model For Spam Filtering Mengukur Tingkat ο· Vector Space Kesamaan Paragraf Model Menggunakan Vector Space Model Untuk Mendeteksi Plagiarisme Sistem Klasifikasi ο· NaΓ―ve Bayes Feedback Classifier Pelanggan Dan ο· Cosine Rekomendasi Similarity Solusi Atas Keluhan Di UPT Puskom UNS Dengan Algoritma NaΓ―ve Bayes Classifier Dan Cosine Similarity commit to user
Hasil 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. 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. Metode probabilistic memiliki tingkat kemudahan, fleksibilitas dan performa yang lebih baik dibandingkan metode Vector Space Model. Algoritma Vector Space Model dapat mendeteksi dengan baik kesamaan dokumen melalui kesamaan paragraf dalam dokumen.
?