4/2/13
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
4/2/13
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
4/2/13
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
4/2/13
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
g1,..., g ∈ [ 0,1] • Sehingga
∑
g =1
i=1 i
Text & Web Mining - Budi Susanto - TI UKDW
8
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:
∑g s
i i
i=1 • Weighted zone scoring disebut juga ranked Boolean
retrieval.
4
4/2/13
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
4/2/13
Text & Web Mining - Budi Susanto - TI UKDW
11
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
12
Learning weights
6
4/2/13
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(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
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
4/2/13
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 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.
8
4/2/13
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
4/2/13
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
4/2/13
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) = tibu + tkota + tindonesia
11
4/2/13
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 , wt,d = ⎨ 0, ⎩
if tft,d > 0 otherwise
• Score dari pasangan s(q, d) dapat dihitung dengan
= ∑t∈q∩d (1 + log tft ,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
4/2/13
Text & Web Mining - Budi Susanto - TI UKDW
25
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
idft = log10 ( N/dft )
Text & Web Mining - Budi Susanto - TI UKDW
26
Contoh idf • Misalnya N = 1 juta dokumen term calpurnia
dft
idft 1
animal
100
sunday
1,000
fly under the
10,000 100,000 1,000,000
13
4/2/13
27
Text & Web Mining - Budi Susanto - TI UKDW
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.
28
Text & Web Mining - Budi Susanto - TI UKDW
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
4/2/13
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(tft,d ) × log10 (N / dft ) • 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.idft,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
4/2/13
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
4/2/13
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
4/2/13
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
4/2/13
Text & Web Mining - Budi Susanto - TI UKDW
37
Normalisasi Panjang • Sebuah vektor dapat dinormalisasikan dengan membagi
setiap komponennya dengan panjangnya – menggunakan L2 norm
x2=
2 i i
∑x
→
d = [ x1, y1, x1 ] " % x1 y1 z1 $ ' d = , , 2 2 2 2 2 2 2 2 2 $# x1 + y1 + z1 x1 + y1 + z1 x1 + y1 + z1 '&
→
Text & Web Mining - Budi Susanto - TI UKDW
38
cosine(query, dokumen) Dot product
Unit vectors
q•d q d cos( q, d ) = = • = q d qd
∑
V
qd
i =1 i i
V
2 q i i =1
∑
V
2 d i i =1
∑
• qi adalah bobot tf-idf dari term i dalam query. • di adalah bobot tf-idf dari term i dalam dokumen.
19
4/2/13
Text & Web Mining - Budi Susanto - TI UKDW
39
Cosine untuk length-‐normalized vector • Jika dua vektor masing-masing sudah merupakan length-
normalized, maka cosine dapat dihitung dengan cukup melakukan dot product. V cos(q, d ) = q • d = ∑ qi di i=1
€
Text & Web Mining - Budi Susanto - TI UKDW
40
Ilustrasi kemiripan cosine
20
4/2/13
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 term
SaS
PaP
WH
affection
3.06
2.76
2.30
affection
0.789
0.832
0.524
jealous
2.00
1.85
2.04
jealous
0.515
0.555
0.465
gossip
1.30
0
1.78
gossip
0.335
0
0.405
0
0
2.58
wuthering
0
0
0.588
wuthering
SaS
PaP
• ASer length normalizaGon
WH
term
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
4/2/13
Text & Web Mining - Budi Susanto - TI UKDW
43
Text & Web Mining - Budi Susanto - TI UKDW
44
Cosine score
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
4/2/13
Text & Web Mining - Budi Susanto - TI UKDW
45
TERIMA KASIH Budi Susanto
23