Text dan Web Mining - FTI UKDW - BUDI SUSANTO 1 KLASIFIKASI PADA TEXT MINING Budi Susanto Text dan Web Mining - FTI UKDW - BUDI SUSANTO 2 Tujuan Memahami konsep dasar sistem klasifikasi Memahami beberapa algoritma klasifikasi: KNN Naïve Bayes Decision Tree Menjelaskan implementasi algoritma klasifikasi pada text corpus. SUSANTO 1
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 3 Pendahuluan Masalah klasifikasi adalah bagaimana menentukan suatu objek masuk ke suatu class yang sebenarnya. Dalam text mining, suatu class lebih bersifat area subjek umum. (disebut juga Topik). Pekerjaan klasifikasi disebut sebagai text classification, text categorization, topic classification, atau topic spotting. Text dan Web Mining - FTI UKDW - BUDI SUSANTO 4 Contoh Implementasi Identifikasi bahasa suatu dokumen Mendeteksi encoding dokumen Mendeteksi otomatis halaman/email spam Sentiment detection Personal email sorting Topic-specific (vertical search) SUSANTO 2
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 5 Machine Learning Klasifikasi dilakukan berdasar pembelajaran dari kumpulan dokumen untuk mendapatkan suatu pola tiap class. Pola dapat berupa suatu rule Pembelajaran untuk mendapatkan pola atau kriteria keputusan suatu class oleh komputer dilakukan dengan cara mempelajari secara otomatis dari data pelatihan (training data). Jika menggunakan metode statisik, disebut statistical text classification. Text dan Web Mining - FTI UKDW - BUDI SUSANTO 6 Machine Learning Diperlukan sejumlah dokumen (training document) yang sangat baik untuk tiap class. Harus dilakukan dengan cara manual terkait pemberian label class tiap training document. Aktifitas ini disebut labeling Semua algoritma klasifikasi dalam text mining mewakili dokumen dalam suatu ruang dimensi yang tinggi. Untuk mengifisiensikan, diperlukan pengurangan dimensi Disebut dengan feature selection. SUSANTO 3
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 7 Konsep Dasar Supervised learning γ : Χ C γ Setelah mempelajari, kita dapat menerapkannya untuk himpunan dokumen test. Text dan Web Mining - FTI UKDW - BUDI SUSANTO 8 Proses Klasifikasi SUSANTO 4
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 9 Naïve Bayes Text Classification Menurut metode multinomial Naïve Bayes, probabilitas suatu dokumen, d, sebagai bagian dari anggota class c dihitung sebagai: P(t k c) adalah probabilitas kondisi kemunculan term t k dalam sebuah dokumen class c. Seberapa yakin t k berkontribusi bahwa c adalah kelas yang benar P(c) adalah probabilitas kemunculan sebuah dokumen dalam kelas c. <t 1, t 2,, t nd > adalah token-token dalam d. Text dan Web Mining - FTI UKDW - BUDI SUSANTO 10 Naïve Bayes Text Classification Sebuah dokumen test terpilih masuk sebagai anggota suatu class terbaik jika memiliki maximum a posteriori (MAP) kelas c map : SUSANTO 5
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 11 Naïve Bayes Text Classification Text dan Web Mining - FTI UKDW - BUDI SUSANTO 12 Contoh SUSANTO 6
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 13 Feature Selection Feature Selection adalah proses pemilihan sebuah subset term yang muncul dalam himpunan training. Klasifikasi teks hanya akan menggunakan hasil feature selection. Alasan: Agar metode pengklasifikasian lebih efisien dengan mengurangi ukuran vocabulary. Meningkatkan akurasi klasifikasi dengan membuang feature noise. Text dan Web Mining - FTI UKDW - BUDI SUSANTO 14 Feature Selection Algoritma dasar: SUSANTO 7
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 15 Feature Selection: Mutual Information A(t,c) nilai mutual information dari term t dan class c. MI mengukur seberapa besar kontribusi ada/ tidaknya suatu term, t, dalam pembuatan keputusan klasifikasi yang benar, c. Text dan Web Mining - FTI UKDW - BUDI SUSANTO 16 Contoh MI Class poultry dan term export: SUSANTO 8
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 17 Feature Selection: 2 χ Pada statistik, test digunakan untuk menguji independensi antar dua kejadian. Dua kejadian, A dan B, dikatakan independen jika P(AB)=P(A)P(B). A adalah kemunculan term B adalah kemunculan class 2 χ Text dan Web Mining - FTI UKDW - BUDI SUSANTO 18 Contoh 2 χ Berdasar contoh data slide 16 SUSANTO 9
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 19 Feature Selection: Frequency-based Memilih term-term yang paling umum dalam kelas. Frekuensi dapat didefinisikan sebagai frekuensi dokumen Jumlah dokumen dalam kelas, c, yang mengandung term, t. Frekuensi dapat didefinisikan sebagai frekuensi koleksi Jumlah token-token, t, yang muncul di dokumen-dokumen dalam kelas, c. Lebih cocok untuk Naïve Bayes classifier. Text dan Web Mining - FTI UKDW - BUDI SUSANTO 20 Decision Tree Decision Tree dibangun dengan cara membagi data pelatihan sehingga hasil subset adalah pure. pure subset adalah salah satu yang berisi contoh pelatihan dari suatu kelas tunggal. Sebuah decision tree dapat diubah menjadi himpunan aturan if-then. Setiap aturan yang dihasilkan bersifat mutually exclusive dan lengkap. Setiap instan data dicakup oleh sebuah aturan tunggal. SUSANTO 10
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 21 Algoritma Decission Tree Text dan Web Mining - FTI UKDW - BUDI SUSANTO 22 Decision Tree Salah satu hal terpenting dalam pembentukan decission tree adalah pemilihan impurity function. Fungsi yang meminimalkan impurity setelah pembagian. Impurity function yang terkenal: Information gain dan information gain ratio. SUSANTO 11
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 23 Information Gain (IG) Diberikan himpunan data, D, hitung impurity D dengan entropy(d): Evaluasi tiap atribut untuk menemukan atribut mana yang terpilih mengurangi impurity. Hitung IG atribut A Text dan Web Mining - FTI UKDW - BUDI SUSANTO 24 Contoh SUSANTO 12
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 25 Contoh Entropy(D) = entropy([9,5]) = 0.940 bit Entropy(A outlook, D) = (5/14) 0.971 + (4/14) 0 + (5/14) 0.971 = 0.693 bit Gain(outlook) = Entropy(D) - Entropy(A outlook, D) = 0.247 bit Hitunglah IG untuk atribut yang lain: Gain(temperature) =? Gain(humidity) =? Gain(windy) =? Text dan Web Mining - FTI UKDW - BUDI SUSANTO 26 k-nn Pada knn, setiap dokumen dimasukkan dalam satu kelas yang muncul terbanyak di antara k tetangga terdekatnya. Sebuah dokumen uji, d, diharapkan memiliki label kelas yang sama dengan dokumen latih yang berada pada satu area lokal disekitar d. SUSANTO 13
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 27 k-nn Terdapat alternatif probabilistik untuk memperkirakan keanggotaan kelas sebuah dokumen uji. P(lingkaran bintang) = 1/3 P(X bintang) = 2/3 P(diamond bintang) = 0 Pemilihan nilai k disarakan bernilai ganjil, k=3 dan k=5 umum digunakan. Namun nilai k besar juga digunakan, antara 50-100. Penghitungan dokumen latih yang dekat dengan dokumen uji dapat digunakan Euclidean, Minkowski Distance. Untuk mengukur bobot vote untuk k-nn, dapat digunakan cosine. Text dan Web Mining - FTI UKDW - BUDI SUSANTO 28 Algoritma k-nn SUSANTO 14
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 29 Contoh Dnggi berat label 160 80 O 150 45 N 145 44 N 148 75 O 158 56 N 175 80 O 165 70??? Text dan Web Mining - FTI UKDW - BUDI SUSANTO 30 Evaluasi Accuracy (Jumlah terklasifikasi benar/total dokumen)*100 Metode evaluasi: Holdout set (test set) D=D train D test, dan D tran D test =. Biasanya 50-50, atau 2/3 train dan 1/3 test. n-fold Cross-validation SUSANTO 15
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 31 Evaluasi Jika pengklasifikasian dilakukan terhadap topik tertentu, misalnya positif jika benar masuk ke topik, dan negatif jika tidak. Pengukuran akurasi dipandang tidak optimal, jika ternyata terdapat dokumen uji yang mengganggu Pengukuran Recall dan Precision lebih optimal. Menghitung seberapa tepat dan lengkap klasifikasi terhadap kelas positif. Menggunakan confusion matrix Berisi informasi hasil aktual dan prediksi yang dihasilkan oleh pengklasifikasi. Text dan Web Mining - FTI UKDW - BUDI SUSANTO 32 Evaluasi Confusion Matrix SUSANTO 16
Text dan Web Mining - FTI UKDW - BUDI SUSANTO 33 Evaluasi Contoh confusion matrix Prediksi Class Class Aktual A B C A 25 5 2 B 3 32 4 C 1 0 15 Presisi Ukuran akurasi terhadap suatu class yang telah diprediksi. Recall Presisi A = 25/(25+3+1) Ukuran kemampuan model prediksi untuk memilih data pada class tertentu dari dataset. Recall A = 25/(25+5+2) Text dan Web Mining - FTI UKDW - BUDI SUSANTO 34 TERIMA KASIH. Akhir pertemuan #5 SUSANTO 17