View
223
Download
0
Category
Preview:
Citation preview
4/2/13
1
VECTOR SPACE MODEL Budi Susanto
Text & Web Mining - Budi Susanto - TI UKDW 1
Tujuan • Memahami model index berdasar pada bobot untuk
binary retrieval model • Memahami model retrieval berdasar perangkingan • Memahami vector space model dalam information
retrieval
Text & Web Mining - Budi Susanto - TI UKDW 2
4/2/13
2
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 3
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.
Text & Web Mining - Budi Susanto - TI UKDW 4
4/2/13
3
Contoh • Query:
• data mining AND judul:apriori OR thn:[2002 TO 2010] OR dosen1:BUDI SUSANTO
Text & Web Mining - Budi Susanto - TI UKDW 5
Inverted Index untuk Zone Index • Bentuk Struktur Dasar
• Bentuk Struktur Terenkodekan
Text & Web Mining - Budi Susanto - TI UKDW 6
4/2/13
4
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
• Sehingga
Text & Web Mining - Budi Susanto - TI UKDW 7
g1,...,g ∈ 0,1[ ]
gi =1i=1
∑
Weighted zone scoring • Untuk 1 ≤ I ≤ , diberikan si 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:
• Weighted zone scoring disebut juga ranked Boolean retrieval.
Text & Web Mining - Budi Susanto - TI UKDW 8
gisii=1
∑
4/2/13
5
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 9
Weighted zone scoring
Text & Web Mining - Budi Susanto - TI UKDW 10
4/2/13
6
Learning weights • Bagaimana caranya menentukan nilai bobot tiap zone gi?
• 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 gi 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 11
Learning weights
Text & Web Mining - Budi Susanto - TI UKDW 12
4/2/13
7
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(dj, qj) • 0 jika tidak relevan • 1 jika relevan
• Sehingga dapat dihitung nilai error dari tiap dokumen pelatihan:
Text & Web Mining - Budi Susanto - TI UKDW 13
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.
Text & Web Mining - Budi Susanto - TI UKDW 14
4/2/13
8
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 15
Ranked Retrieval Model • Ranked Retrieval model akan mengembalikan dokumen-
dokumen 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.
Text & Web Mining - Budi Susanto - TI UKDW 16
4/2/13
9
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 17
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
Text & Web Mining - Budi Susanto - TI UKDW 18
4/2/13
10
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
Text & Web Mining - Budi Susanto - TI UKDW 19
|A B||A B|
Term Frequency • Daripada menggunakan incidence matrix, yang hanya
mencatat ada atau tidak sebuah term dalam dokumen, pembobotan munculnya kata dalam dokumen dapat digunakan.
Text & Web Mining - Budi Susanto - TI UKDW 20
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
4/2/13
11
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 21
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) = tibu + tkota + tindonesia
Text & Web Mining - Budi Susanto - TI UKDW 22
4/2/13
12
Log-‐frequency weighGng • Relevansi sebuah dokumen tidak akan semakin tinggi jika
tf semakin tinggi. • Log-frequency weighting dari t dalam d
• Score dari pasangan s(q, d) dapat dihitung dengan
Text & Web Mining - Budi Susanto - TI UKDW 23
⎩⎨⎧ >+
=otherwise 0,
0 tfif, tflog 1 10 t,dt,d
t,dw
∑ ∩∈+=
dqt dt ) tflog (1 ,
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.
Text & Web Mining - Budi Susanto - TI UKDW 24
4/2/13
13
Frekuensi Dokumen • dft adalah frekuensi dokumen untuk kata t.
• Jumlah dokumen yang mengandung kata t. • dft adalah ukuran pembalik dari keinformatifan dari term t. • dft ≤ N
• Kita definisikan idf (inverse document frequency) sebagai
Text & Web Mining - Budi Susanto - TI UKDW 25
)/df( log idf 10 tt N=
Contoh idf • Misalnya N = 1 juta dokumen
Text & Web Mining - Budi Susanto - TI UKDW 26
term dft idft
calpurnia 1
animal 100
sunday 1,000
fly 10,000
under 100,000
the 1,000,000
4/2/13
14
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 27
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?
Text & Web Mining - Budi Susanto - TI UKDW 28
Word Collection frequency Document frequency
insurance 10440 3997
try 10422 8760
4/2/13
15
tf-idf • tf-idf sebuah term dalam kumpulan dokumen dapat
dihitung sebagai
• Bobot akan semakin besar jika term semakin jarang dalam koleksi.
• Bobot dari pasangan dokumen, d, dengan query, q, dapat dihitung sebagai
Text & Web Mining - Budi Susanto - TI UKDW 29
wt ,d=1+ log(tft,d )× log10 (N / dft )
€
Score(q,d) = tf.idft,dt∈q∩d∑
Matrik bobot • Binary -> frekuensi -> matrik bobot
Text & Web Mining - Budi Susanto - TI UKDW 30
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
4/2/13
16
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 31
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
Text & Web Mining - Budi Susanto - TI UKDW 32
4/2/13
17
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 33
Vector space proximity • Eucledian distance q dan d2 bernilai besar walaupun distribusi kata antara q dan d2 adalah serupa.
Text & Web Mining - Budi Susanto - TI UKDW 34
4/2/13
18
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 35
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)
Text & Web Mining - Budi Susanto - TI UKDW 36
4/2/13
19
Normalisasi Panjang • Sebuah vektor dapat dinormalisasikan dengan membagi
setiap komponennya dengan panjangnya – menggunakan L2 norm
Text & Web Mining - Budi Susanto - TI UKDW 37
∑=i ixx 2
2
d→
= x1, y1, x1[ ]
d→
=x1
x12 + y1
2 + z12, y1x12 + y1
2 + z12, z1x12 + y1
2 + z12
"
#$$
%
&''
cosine(query, dokumen)
• qi adalah bobot tf-idf dari term i dalam query. • di adalah bobot tf-idf dari term i dalam dokumen.
Text & Web Mining - Budi Susanto - TI UKDW 38
∑∑∑
==
==•=•
=V
i iV
i i
V
i ii
dq
dq
dd
dqdqdq
12
12
1),cos(
Dot product Unit vectors
4/2/13
20
Cosine untuk length-‐normalized vector • Jika dua vektor masing-masing sudah merupakan length-
normalized, maka cosine dapat dihitung dengan cukup melakukan dot product.
Text & Web Mining - Budi Susanto - TI UKDW 39
€
cos( q , d ) = q • d = qidii=1
V∑
Ilustrasi kemiripan cosine
Text & Web Mining - Budi Susanto - TI UKDW 40
4/2/13
21
Contoh • How similar are the novels
• SaS: Sense and Sensibility
• PaP: Pride and Prejudice, and
• WH: Wuthering Heights?
Text & Web Mining - Budi Susanto - TI UKDW 41
term SaS PaP WH
affection 115 58 20
jealous 10 7 11
gossip 2 0 6
wuthering 0 0 38
Term frequencies (counts)
Contoh (mengabaikan idf)
Text & Web Mining - Budi Susanto - TI UKDW 42
• Log frequency weighGng
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
• ASer length normalizaGon
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
4/2/13
22
Cosine score
Text & Web Mining - Budi Susanto - TI UKDW 43
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!
Text & Web Mining - Budi Susanto - TI UKDW 44
4/2/13
23
TERIMA KASIH Budi Susanto
Text & Web Mining - Budi Susanto - TI UKDW 45
Recommended