• Tidak ada hasil yang ditemukan

VECTOR SPACE MODEL. Tujuan 4/2/13. Budi Susanto

N/A
N/A
Protected

Academic year: 2021

Membagikan "VECTOR SPACE MODEL. Tujuan 4/2/13. Budi Susanto"

Copied!
23
0
0

Teks penuh

(1)

VECTOR SPACE

MODEL

Budi Susanto

Tujuan

• Memahami model index berdasar pada bobot untuk

binary retrieval model

• Memahami model retrieval berdasar perangkingan

• Memahami vector space model dalam information

retrieval

(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.

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.

(3)

Contoh

• Query:

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

dosen1:BUDI  SUSANTO  

Inverted Index untuk Zone Index

• Bentuk Struktur Dasar

• Bentuk Struktur Terenkodekan

(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

g1,..., g∈ 0,1

[ ]

g

i

= 1

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

g

i

s

i

i=1

(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

Weighted zone scoring

(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.

Learning weights

(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:

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.

(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.

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.

(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.

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  

(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

|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

(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.

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

(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

⎩ ⎨ ⎧ + > = otherwise 0, 0 tf if , tf log 1 10 t,d t,d t,d w

∈ ∩

+

=

t q d

(1

log

tf

t,d

)

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.

(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

)

/df

(

log

idf

t

=

10

N

t

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

(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.

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

(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

w

t,d

= 1+ log(tf

t,d

) × log

10

(N / df

t

)

Score(q,d) =

tf.idf

t,d t ∈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

(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.

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

(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.

Vector space proximity

• 

Eucledian distance q

dan d2 bernilai besar

walaupun distribusi

kata antara q dan d2

adalah serupa.

(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.

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)

(19)

Normalisasi Panjang

• Sebuah vektor dapat dinormalisasikan dengan membagi

setiap komponennya dengan panjangnya – menggunakan L2 norm

=

i i

x

x

2 2

d

= x

[

1

, y

1

, x

1

]

d

=

x

1

x

1 2

+ y

1 2

+ z

1 2

,

y

1

x

1 2

+ y

1 2

+ z

1 2

,

z

1

x

1 2

+ y

1 2

+ z

1 2

"

#

$

$

%

&

'

'

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 i V i i V i i i

d

q

d

q

d

d

q

q

d

q

d

q

d

q

1 2 1 2 1

)

,

cos(

(20)

Cosine untuk length-­‐normalized  vector

• Jika dua vektor masing-masing sudah merupakan

length-normalized, maka cosine dapat dihitung dengan cukup melakukan dot product.

cos(

q ,

d ) =

q •

d =

q

i

d

i i=1 V

Ilustrasi kemiripan cosine

(21)

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)

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

(22)

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!

(23)

TERIMA KASIH

Gambar

Ilustrasi kemiripan cosine

Referensi

Dokumen terkait