Text & Web Mining - Budi Susanto - TI UKDW 1 VECTOR SPACE MODEL Budi Susanto Text & Web Mining - Budi Susanto - TI UKDW 2 Tujuan Memahami model index berdasar pada bobot untuk binary retrieval model Memahami model retrieval berdasar perangkingan Memahami vector space model dalam information retrieval 1
Text & Web Mining - Budi Susanto - TI UKDW 3 Parametric dan zone Index Sebuah dokumen, selain tersusun dari deretan term, juga mengandung metadata. Contoh: judul, pengarang. Metadata adalah bentuk khusus data tentang dokumen. Metadata tersebut umumnya disertai dengan beberapa field, seperti tanggal pembuatan, format dokumen, status. Index yang juga menyertakan field pada postings nya disebut sebagai parametric index. Nilai yang mungkin dicari dari fields sebaiknya terbatas, yaitu berdasar nilai-nilai yang terindex. Text & Web Mining - Budi Susanto - TI UKDW 4 Parametric dan zone Index Zone index serupa dengan parametric hanya saja nilai yang tersimpan adalah free text. Contoh zone index untuk metadata judul, pengarang. Sebaiknya dibangun inverted index terpisah untuk tiap zone. 2
Text & Web Mining - Budi Susanto - TI UKDW 5 Contoh Query: data mining AND judul:apriori OR thn:[2002 TO 2010] OR dosen1:budi SUSANTO Text & Web Mining - Budi Susanto - TI UKDW 6 Inverted Index untuk Zone Index Bentuk Struktur Dasar Bentuk Struktur Terenkodekan 3
Text & Web Mining - Budi Susanto - TI UKDW 7 Weighted zone scoring Diberikan sebuah Boolean query q dan sebuah dokumen d, weighted zone scoring menyatakan sebuah nilai untuk pasangan (q, d) dalam suatu nilai interval [0, 1], dengan perhitungan sebuah kombinasi linier dari zone score. Diberikan sehimpunan dokumen dimana setiap dokumen memiliki zone. Diberikan g 1,..., g [ 0,1] Sehingga i=1 g i =1 Text & Web Mining - Budi Susanto - TI UKDW 8 Weighted zone scoring Untuk 1 I, diberikan s i sebagai nilai Boolean yang menyatakan ada atau tidaknya antara q dan zone ke-i. Sebagai contoh, nilai Boolean dari sebuah zone bernilai 1 jika semua term query muncul dalam zone tersebut, dan 0 jika sebaliknya. Sehingga weighted zone score didefinisikan: i=1 g i s i Weighted zone scoring disebut juga ranked Boolean retrieval. 4
Text & Web Mining - Budi Susanto - TI UKDW 9 Weighted zone scoring Terdapat 3 buah zone: author, title, dan body. Bobot masing-masin zone: g1 = 0.2 g2 = 0.3 g3 = 0.5 Query : shakespeare. Jika sebuah dokumen mengandung query di zone title dan body, berapa nilai dokumen tersebut? 0.2 * 0 + 0.3 * 1 + 0.5 * 1 = 0.8 Text & Web Mining - Budi Susanto - TI UKDW 10 Weighted zone scoring 5
Text & Web Mining - Budi Susanto - TI UKDW 11 Learning weights Bagaimana caranya menentukan nilai bobot tiap zone g i? Diberikan oleh pakar atau pendapat umum pemakai Melalui pembelajaran menggunakan contoh pelatihan yang telah dinilai secara editorial. Dikenal sebagai machine-learned relevance. Pengembangan machine-learned relevance: 1. Menyediakan sekumpulan contoh pelatihan,masing-masing terdiri dari pasangan sebuah query, q, dan sebuah dokumen, d, beserta penilaian relevansi untuk d terhadap q. 2. Bobot g i kemudian dipelajari dari contoh-contoh tersebut, dalam rangka nilai skor hasil pembelajaran mendekati penilaian relevansi dalam contoh pelatihan. Text & Web Mining - Budi Susanto - TI UKDW 12 Learning weights 6
Text & Web Mining - Budi Susanto - TI UKDW 13 Learning weights Setiap dokumen pelatihan, d, dan query pelatihan, q, dihitung nilai skor: Dari hasil penilaian dari editor untuk setiap dokumen pelatihan, akan diberikan nilai r(d j, q j ) 0 jika tidak relevan 1 jika relevan Sehingga dapat dihitung nilai error dari tiap dokumen pelatihan: Text & Web Mining - Budi Susanto - TI UKDW 14 Learning weights Nilai konstanta g diuji cobakan berulang-ulang untuk nilai [0, 1] Diantara percobaan tersebut, dipilih untuk nilai konstanta dengan nilai total error terkecil. 7
Text & Web Mining - Budi Susanto - TI UKDW 15 Ranked Retrieval Model Bentuk inverted index untuk parametric dan zone index (slide 5) digunakan untuk Boolean query. Dokumen cocok dengan query atau tidak. Boolean query cocok untuk pemakai yang sudah pakar Mudah dalam menterjemahan kebutuhan informasi menjadi sebuah boolean query. Boolean query tidak cocok untuk pemakai pada umumnya. Text & Web Mining - Budi Susanto - TI UKDW 16 Ranked Retrieval Model Ranked Retrieval model akan mengembalikan dokumendokumen k-teratas dalam kolekasi untuk query. Menggunakan pendetakan query free text. Mengabaikan operator atau ekspresi boolean. Oleh karena mengembalikan k-dokumen teratas, maka seberapapun besarnya hasil query bukan menjadi suatu masalah. 8
Text & Web Mining - Budi Susanto - TI UKDW 17 Ranked Retrieval Model Kita ingin mengembalikan dokumen-dokumen yang memiliki kemiripan dengan query. Untuk itu dibutuhkan suatu mekanisme perhitungan skor antara query dengan tiap dokumen. Misalnya nilai peringkat tiap dokumen yang relevan [0, 1]. Jika term query tidak muncul dalam dokumen, score adalah 0 Semakin besar frekuensi term query muncul dalam dokumen, maka score juga akan besar. Kita akan membicarakan beberapa alternatif pemberian nilai score. Text & Web Mining - Budi Susanto - TI UKDW 18 Alt. 1: Jaccard Coefficient Secara umum digunakan untuk mengukur overlap dua himpunan A dan B. jaccard(a,b) = A B / A B jaccard(a,a) = 1 jaccard(a,b) = 0 if A B = 0 A dan B tidak perlu dalam ukuran vektor yang sama. Contoh berapa nilai JC? Query: ides of march Document 1: caesar died in march Document 2: the long march 9
Text & Web Mining - Budi Susanto - TI UKDW 19 Kelemahan JC Tidak memperhatikan term frequency Sangat dipengaruhi oleh ukuran kata dalam tiap dokumen. Kecenderungannya: Semakin besar dokumen maka nilai JC akan semakin kecil, walaupun dokumen tersebut relevan. JC tidak memperhatikan term yang jarang muncul dalam dokumen lebih informatif daripada term yang sering muncul. Perlu adanya alternatif untuk menormalisasikan panjang. Sehingga JC dengan normalisasi panjang adalah A B A B Text & Web Mining - Budi Susanto - TI UKDW 20 Term Frequency Daripada menggunakan incidence matrix, yang hanya mencatat ada atau tidak sebuah term dalam dokumen, pembobotan munculnya kata dalam dokumen dapat digunakan. Antony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth Antony 157 73 0 0 0 0 Brutus 4 157 0 1 0 0 Caesar 232 227 0 2 1 1 Calpurnia 0 10 0 0 0 0 Cleopatra 57 0 0 0 0 0 mercy 2 0 3 5 5 1 worser 2 0 1 1 1 0 10
Text & Web Mining - Budi Susanto - TI UKDW 21 Bag of word Representasi vektor TF tidak mencerminkan urutan kata dalam dokumen. Contoh: antara dokumen berisi Indah suka Andi denagn Andi suka Indah memiliki vektor yang sama. Ini disebut sebagai bag of word. Text & Web Mining - Budi Susanto - TI UKDW 22 Term Frequency - tf Term Frequency, @ t,d, mendefiniskan jumlah kemunculan kata t dalam dokumen d. Kita ingin menggunakan tf saat perhitungan nilai kemiripan antara dokumen dan query. Sebuah dokumen dengan 10 kemunculan term lebih relevan daripada 1 kali kemunculan term tersebut. Namun tidak menunjukkan 10 kali lebih relevan. Contoh q= Ibu Kota Indonesia D1 = Ibu kota Negara Indonesia adalah Jakarta. Jakarta merupakan ibu kota daerah khusus Jakarta. Maka nilai score(q, D1) = t ibu + t kota + t indonesia 11
Text & Web Mining - Budi Susanto - TI UKDW 23 Log- frequency weighgng Relevansi sebuah dokumen tidak akan semakin tinggi jika tf semakin tinggi. Log-frequency weighting dari t dalam d 1+ log10 tft,d, if tft,d > 0 w t,d = 0, otherwise Score dari pasangan s(q, d) dapat dihitung dengan = + t q d (1, log tf t d ) Text & Web Mining - Budi Susanto - TI UKDW 24 Frekuensi Dokumen Sekarang kita ingin lebih memperhatikan tentang term yang jarang muncul, Term yang jarang muncul lebih informatif daripada term yang sering muncul Contohnya stop word. Kita akan menggunakan frekuensi dokumen untuk mencoba memperhatikan hal tersebut. 12
Text & Web Mining - Budi Susanto - TI UKDW 25 Frekuensi Dokumen df t adalah frekuensi dokumen untuk kata t. Jumlah dokumen yang mengandung kata t. df t adalah ukuran pembalik dari keinformatifan dari term t. df t N Kita definisikan idf (inverse document frequency) sebagai idft = log10 ( N/dft ) Text & Web Mining - Budi Susanto - TI UKDW 26 Contoh idf Misalnya N = 1 juta dokumen term df t idf t calpurnia 1 animal 100 sunday 1,000 fly 10,000 under 100,000 the 1,000,000 13
Text & Web Mining - Budi Susanto - TI UKDW 27 Pengaruh idf untuk peringkat Apakah idf memberi pengaruh pada peringkat untuk query satu term? TIDAK! Idf memiliki pengaruh pada peringkat jika query mengandung lebih dari 2 term. Text & Web Mining - Budi Susanto - TI UKDW 28 Frekuensi Koleksi atau Dokumen Frekuensi koleksi dari term t adalah jumlah total kemunculan term t dalam koleksi dokumen. Mana yang lebih baik antara frekuensi koleksi atau dokumen untuk menunjukkan bahwa term yang jarang muncul lebih informatif? Word Collection frequency Document frequency insurance 10440 3997 try 10422 8760 14
Text & Web Mining - Budi Susanto - TI UKDW 29 tf-idf tf-idf sebuah term dalam kumpulan dokumen dapat dihitung sebagai w t,d =1+ log(tf t,d ) log 10 (N / df t ) Bobot akan semakin besar jika term semakin jarang dalam koleksi. Bobot dari pasangan dokumen, d, dengan query, q, dapat dihitung sebagai Score(q,d) = t q d tf.idf t,d Text & Web Mining - Budi Susanto - TI UKDW 30 Matrik bobot Binary -> frekuensi -> matrik bobot Antony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth Antony 5.25 3.18 0 0 0 0.35 Brutus 1.21 6.1 0 1 0 0 Caesar 8.59 2.54 0 1.51 0.25 0 Calpurnia 0 1.54 0 0 0 0 Cleopatra 2.85 0 0 0 0 0 mercy 1.51 0 1.9 0.12 5.25 0.88 worser 1.37 0 0.11 4.15 0.25 1.95 15
Text & Web Mining - Budi Susanto - TI UKDW 31 Dokumen sebagai Vektor Sekarang kita memiliki V -dimensional vector space Term adalah sumbu dari space Dokumen adalah titik/vektor dalam space tersebut Web search engine pada umumnya memiliki dimensi yang sangat tinggi. Namun memiliki sparse vector, yaitu kebanyakan bernilai 0. Terhadap query, kita akan membawa query ke dalam space. Text & Web Mining - Budi Susanto - TI UKDW 32 Query sebagai vektor Kunci ide 1 : lakukan hal yang sama terhadap query (seperti terhadap dokumen): representasikan query sebagai vektor dalam space. Kunci ide 2 : lakukan perangkingan dokumen berdasar kedekatan dengan query dalam space Kedekatan (proximity) = kemiripan vektor Sehingga perangkingan akan menjadi pilihan terbaik untuk menampilkan dokumen-dokumen yang memiliki kedekatan Menempatkan dokumen yang lebih relevan di atas 16
Text & Web Mining - Budi Susanto - TI UKDW 33 Vector space proximity Pendekatan 1: menghitung jarak antar dua titik (q dan d) Jarak antar titik dari 2 vektor Formula perhitungan jarak, seperti Eucledian Distance, adalah pilihan tidak tepat Karena Eucledian distance akan menghasilkan nilai yang sangat besar untuk dua vektor dengan panjang yang berbeda. Text & Web Mining - Budi Susanto - TI UKDW 34 Vector space proximity Eucledian distance q dan d2 bernilai besar walaupun distribusi kata antara q dan d2 adalah serupa. 17
Text & Web Mining - Budi Susanto - TI UKDW 35 Gunakan sudut daripada jarak Percobaan: Ambil sebuah dokumen, d. Tambahkan isi dokumen d ke dalam dirinya sendiri, d Secara arti, d dan d adalah sama. Eucledian distance antar d dan d akan bernilai besar. Namun sudut antara d dan d adalah 0. Text & Web Mining - Budi Susanto - TI UKDW 36 Dari sudut ke cosinus Dua pernyataan berikut ini adalah sama: Ranking dokumen dalam urutan descending terhadap sudut antara query dan dokumen. Raking dokumen dalam urutan ascending dari cosine(q,d) 18
Text & Web Mining - Budi Susanto - TI UKDW 37 Normalisasi Panjang Sebuah vektor dapat dinormalisasikan dengan membagi setiap komponennya dengan panjangnya menggunakan L 2 norm x d = [ x1, y 1, x 1 ] 2 = i x 2 i " x d = 1 x 2 1 + y 2 2 1 + z, y 1 1 x 2 1 + y 2 2 1 + z, z % $ 1 ' 1 x 2 1 + y 2 2 # $ 1 + z 1 &' Text & Web Mining - Budi Susanto - TI UKDW 38 cosine(query, dokumen) Dot product q d cos( q, d ) = = q d Unit vectors q d = q d i V qi i= 1 V = 1 2 q d i i V i= 1 d 2 i q i adalah bobot tf-idf dari term i dalam query. d i adalah bobot tf-idf dari term i dalam dokumen. 19
Text & Web Mining - Budi Susanto - TI UKDW 39 Cosine untuk length- normalized vector Jika dua vektor masing-masing sudah merupakan lengthnormalized, maka cosine dapat dihitung dengan cukup melakukan dot product. cos( q, d ) = q d = V i=1 q i d i Text & Web Mining - Budi Susanto - TI UKDW 40 Ilustrasi kemiripan cosine 20
Text & Web Mining - Budi Susanto - TI UKDW 41 Contoh How similar are the novels SaS: Sense and Sensibility PaP: Pride and Prejudice, and WH: Wuthering Heights? term SaS PaP WH affection 115 58 20 jealous 10 7 11 gossip 2 0 6 wuthering 0 0 38 Term frequencies (counts) Text & Web Mining - Budi Susanto - TI UKDW 42 Contoh (mengabaikan idf) Log frequency weighgng ASer length normalizagon term SaS PaP WH affection 3.06 2.76 2.30 jealous 2.00 1.85 2.04 gossip 1.30 0 1.78 wuthering 0 0 2.58 term SaS PaP WH affection 0.789 0.832 0.524 jealous 0.515 0.555 0.465 gossip 0.335 0 0.405 wuthering 0 0 0.588 cos(sas,pap) 0.789 0.832 + 0.515 0.555 + 0.335 0.0 + 0.0 0.0 0.94 cos(sas,wh) 0.79 cos(pap,wh) 0.69 21
Text & Web Mining - Budi Susanto - TI UKDW 43 Cosine score Text & Web Mining - Budi Susanto - TI UKDW 44 Contoh Terdapat 3 dokumen D1 = Manajemen Sistem Informasi D2 = Penggajian untuk meningkatkan Sumber Daya Manusia D3 = Sistem Informasi Penggajian Q = informasi daya manusia Hitunglah rangking dari semua dokumen terhadap query dengan pendekatan vector space model! 22
Text & Web Mining - Budi Susanto - TI UKDW 45 TERIMA KASIH Budi Susanto 23