vector space model -...

43
VECTOR SPACE MODEL Budi Susanto Text & Web Mining - Budi Susanto - TI UKDW 1

Upload: others

Post on 11-Mar-2020

25 views

Category:

Documents


0 download

TRANSCRIPT

VECTOR SPACE MODEL Budi Susanto

Text & Web Mining - Budi Susanto - TI UKDW 1

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 2

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 3

Contoh • Query:

•  data  mining  AND  judul:apriori  OR  thn:[2002  TO  2010]  OR  dosen1:BUDI  SUSANTO  

Text & Web Mining - Budi Susanto - TI UKDW 4

Inverted Index untuk Zone Index • Bentuk Struktur Dasar

• Bentuk Struktur Terenkodekan

Text & Web Mining - Budi Susanto - TI UKDW 5

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 6

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 7

gisii=1

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 8

Weighted zone scoring

Text & Web Mining - Budi Susanto - TI UKDW 9

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 10

Learning weights

Text & Web Mining - Budi Susanto - TI UKDW 11

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 12

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 13

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 14

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 15

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 16

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 17

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 18

| B A|/| B A|

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 19

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

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 20

Term Frequency - tf •  Term Frequency, 9t,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 21

Log-­‐frequency  weigh@ng • 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 22

⎩⎨⎧ >+

=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 23

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 24

)/df( log idf 10 tt N=

Contoh idf • Misalnya N = 1 juta dokumen

Text & Web Mining - Budi Susanto - TI UKDW 25

term dft idft

calpurnia 1

animal 100

sunday 1,000

fly 10,000

under 100,000

the 1,000,000

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 26

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 27

Word Collection frequency Document frequency

insurance 10440 3997

try 10422 8760

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 28

)df/(log)tf1log(w 10,, tdt Ndt

×+=

Score(q,d) = tf.idft,dt∈q∩d∑

Matrik bobot • Binary -> frekuensi -> matrik bobot

Text & Web Mining - Budi Susanto - TI UKDW 29

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

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 30

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 31

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 32

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 33

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 34

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 35

Normalisasi Panjang • Sebuah vektor dapat dinormalisasikan dengan membagi

setiap komponennya dengan panjangnya – menggunakan L2 norm

Text & Web Mining - Budi Susanto - TI UKDW 36

∑=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 37

∑∑∑

==

==•=•

=V

i iV

i i

V

i ii

dq

dq

dd

qq

dqdqdq

12

12

1),cos(

Dot product Unit vectors

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 38

cos( q , d ) = q • d = qidii=1

V∑

Ilustrasi kemiripan cosine

Text & Web Mining - Budi Susanto - TI UKDW 39

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 40

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 41

•  Log  frequency  weigh@ng  

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

•  ALer  length  normaliza@on  

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

Cosine score

Text & Web Mining - Budi Susanto - TI UKDW 42

MATURNUWUN Budi Susanto

Text & Web Mining - Budi Susanto - TI UKDW 43