4/2/13 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. Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 1 4/2/13 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) Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 2 4/2/13 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. Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 3 4/2/13 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 Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 4 4/2/13 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(tk|c) adalah probabilitas kondisi kemunculan term tk dalam sebuah dokumen class c. • Seberapa yakin tk berkontribusi bahwa c adalah kelas yang benar • P(c) adalah probabilitas kemunculan sebuah dokumen dalam kelas c. • <t1, t2, …, tnd> 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 cmap: Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 5 4/2/13 Text dan Web Mining - FTI UKDW - BUDI SUSANTO 11 Naïve Bayes Text Classification Text dan Web Mining - FTI UKDW - BUDI SUSANTO 12 Contoh Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 6 4/2/13 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: Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 7 4/2/13 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: Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 8 4/2/13 Text dan Web Mining - FTI UKDW - BUDI SUSANTO 17 2 Feature Selection: χ • Pada statistik, χ 2 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 Text dan Web Mining - FTI UKDW - BUDI SUSANTO 18 Contoh χ 2 • Berdasar contoh data slide 16 Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 9 4/2/13 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. Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 10 4/2/13 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. Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 11 4/2/13 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 Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 12 4/2/13 Text dan Web Mining - FTI UKDW - BUDI SUSANTO 25 Contoh • Entropy(D) = entropy([9,5]) = 0.940 bit • Entropy(Aoutlook, D) = (5/14) × 0.971 + (4/14) × 0 + (5/14) × 0.971 = 0.693 bit • Gain(outlook) = Entropy(D) - Entropy(Aoutlook, 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. Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 13 4/2/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 Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 14 4/2/13 Text dan Web Mining - FTI UKDW - BUDI SUSANTO 29 Contoh Dnggi 160 150 145 148 158 175 165 berat 80 45 44 75 56 80 70 label O N N O N O ??? Text dan Web Mining - FTI UKDW - BUDI SUSANTO 30 Evaluasi • Accuracy • (Jumlah terklasifikasi benar/total dokumen)*100 • Metode evaluasi: • Holdout set (test set) • D=Dtrain ∪ Dtest, dan Dtran ∩ Dtest = ∅ . • Biasanya 50-50, atau 2/3 train dan 1/3 test. • n-fold Cross-validation Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 15 4/2/13 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 Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 16 4/2/13 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. • PresisiA = 25/(25+3+1) • Recall • Ukuran kemampuan model prediksi untuk memilih data pada class tertentu dari dataset. • RecallA = 25/(25+5+2) Text dan Web Mining - FTI UKDW - BUDI SUSANTO 34 TERIMA KASIH. Akhir pertemuan #5 Text dan Web Mining -­‐ FTI UKDW -­‐ BUDI SUSANTO 17