[snia 2013] indexing and retrieval engine wahyu hidayat

16
INDEXING AND RETRIEVAL ENGINE UNTUK DOKUMEN BERBAHASA INDONESIA DENGAN MENGGUNAKAN INVERTED INDEX Wahyu Hidayat Telkom University Bandung 18 Desember 2013 SNIA 2013

Upload: wahyu-hidayat

Post on 31-Jul-2015

117 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: [Snia 2013] indexing and retrieval engine   wahyu hidayat

INDEXING AND RETRIEVAL ENGINE UNTUK DOKUMEN BERBAHASA INDONESIA DENGAN MENGGUNAKAN INVERTED INDEX

Wahyu HidayatTelkom University

Bandung18 Desember 2013

SNIA 2013

Page 2: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Problems with Text Documents

Page 3: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Inverted Index as a Solution

Page 4: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Research Questions

Q1

• How to index and retrieve large number of Indonesian text (efficiently)?

Q2

• How’s the indexing and retrieval engine performance?

Page 5: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Indexing and Retrieval Engine

HASIL QUERY

QUERY

HIMPUNANDOKUMEN

(*.TXT)

USER INVERTEDINDEX

SORTING&

MERGINGSTOPPING STEMMINGPARSING

QUERY

KAMUS STOPWORDS

(*.TXT)

KAMUS KATA DASAR (*.TXT)

Page 6: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Indexing – Parsing Process

ibu 1

ibu 1

pergi 1

pasar 1

membeli 1

gula 1

pasir 1

budi 2

dan 2

iwan 2

bepergian

2

dengan 2

sepeda 2

motor 2

Dokumen1:

Dokumen2:

Parameter :

Ibu-ibu pergi ke pasar membeli 100 gr gula pasir.

Budi dan Iwan bepergian dengan sepeda motor.

MinWordLength = 3IndexNumbers = FalseSpaceChars

Ibu-ibu pergi ke pasar membeli 100 gr gula pasir.

Page 7: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Indexing – Stopping Process

ibu 1

ibu 1

pergi 1

pasar 1

membeli 1

gula 1

pasir 1

budi 2

dan 2

iwan 2

bepergian

2

dengan 2

sepeda 2

motor 2

ibu 1

ibu 1

pergi 1

pasar 1

membeli 1

gula 1

pasir 1

budi 2

iwan 2

bepergian 2

sepeda 2

motor 2

ibu 1

ibu 1

pergi 1

pasar 1

membeli 1

gula 1

pasir 1

budi 2

dan 2

iwan 2

bepergian

2

dengan 2

sepeda 2

motor 2

STOPWORDS.txt...adalahataudandenganyaitu...

STOPWORDS.txt...adalahataudandenganyaitu...

Page 8: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Indexing – Stemming Process

ibu 1

ibu 1

pergi 1

pasar 1

membeli 1

gula 1

pasir 1

budi 2

iwan 2

bepergian

2

sepeda 2

motor 2

ibu 1

ibu 1

pergi 1

pasar 1

membeli 1

gula 1

pasir 1

budi 2

iwan 2

bepergian

2

sepeda 2

motor 2

KATADASAR.txt...beligulamotorpasarpasirpergisepeda...

ATURAN MORFOLOGI

me-, pe-, ter-, ber-

ibu 1

ibu 1

pergi 1

pasar 1

beli 1

gula 1

pasir 1

budi 2

iwan 2

pergi 2

sepeda 2

motor 2

KATADASAR.txt...beligulamotorpasarpasirpergisepeda...

ATURAN MORFOLOGI

me-, pe-, ter-, ber-

Page 9: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Incremental Stemming

Tahap Awalan yang dibuang Akhiran yang dibuang

1 ku- dan ke- -lah, -kah dan -pun

2 ber- dan di- -ku, -mu dan -nya

3 se-, ke- dan me- -kan

4 pe-, per- dan ter- -an

5antar-, pra-, ke- dan

swa-

-anda, -nda, -da, -man, -wiah, -iah, -wi, -wan, -

wati, -ni dan -i

KATA DASAR 5 4 3 2 154321

Page 10: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Indexing – Merging and Sorting

Term Doc

beli 1

budi 2

gula 1

ibu 1

ibu 1

iwan 2

motor 2

pasar 1

pasir 1

pergi 1

pergi 2

sepeda 2

Term Doc

ibu 1

ibu 1

pergi 1

pasar 1

beli 1

gula 1

pasir 1

budi 2

iwan 2

pergi 2

sepeda 2

motor 2

Term Doc

beli 1

budi 2

gula 1

ibu 1

ibu 1

iwan 2

motor 2

pasar 1

pasir 1

pergi 1

pergi 2

sepeda 2

INVERTED INDEX

Term Doc Freq

beli 1 1

budi 2 1

gula 1 1

ibu 1 2

iwan 2 1

motor 2 1

pasar 1 1

pasir 1 1

pergi 1 1

pergi 2 1

sepeda

21

Page 11: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Retrieval – Possible Queries

Single keyword

Multi keyword with

logical operator

AND, OR & NOTMulti

keyword without logical

operator

Combinations

Page 12: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Test Case & Scenario

Test Case: Al Quran Terjemahan Indonesia, 6464 text files (*.txt)

Test Reference: Windows Full Text Search Performance Parameter:

Precision

Recall

Time (second)

𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑡𝑝𝑡𝑝+ 𝑓𝑛

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑡𝑝𝑡𝑝+ 𝑓𝑝

Page 13: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Test Result – Indexing Engine

Proses Waktu Keterangan

Parsing 36 detik menghasilkan 227.160 term

Stopping 22 detik menghasilkan 126.094 term

Stemming 74 detik mengekstrak kata dasar

Sorting dan Merging 15 detik menghasilkan 94.541 entri indeks

Penulisan Indeks 214 detik menuliskan 94.541 entri indeks ke

disk

36 22

74

15

214

Parsing

Stopping

Stemming

Sorting & Merg-ing

Index Writing

Pars

ing

Stop

ping

Stem

min

g

Sorti

ng &

Mer

ging

Inde

x W

ritin

g0

100000

200000

Page 14: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Test Result – Retrieval Engine

Keyword

Pencarian dengan inverted index

Waktu pencarian

(detik)

Hasil Pencarian (dokumen

)sekutu 0,043 130 mempersekutukan

0,042 130

mempersekutukan tuhannya

0,078 305

malaikat yang terdekat

0,061 220

makan minum 0,048 152

ayah 0,010 31 zuhur 0,001 1

Precision = 41,88%Recall = 100%

Keyword

Pencarian dengan fasilitas search pada

Windows

Waktu pencarian

(detik)

Hasil Pencarian (dokumen

)sekutu 21,13 45 mempersekutukan

21,09 60

mempersekutukan tuhannya

20,51 4

Malaikat yang terdekat

20,43 1

makan minum 20,36 21

ayah 20,95 30zuhur 22,85 45

Precision = 100%Recall = 100%

Page 15: [Snia 2013] indexing and retrieval engine   wahyu hidayat

Conclusion

Indexing dilakukan dengan melalui beberapa tahap: parsing, stopping, stemming, sorting, merging dan index writing. Tahap index writing adalah proses yang memakan waktu paling lama yaitu sekitar 59,27% dari total waktu indexing.

proses indexing tidak mengurangi nilai recall, namun menurunkan nilai precision hingga 41,88% demi meningkatkan kecepatan retrieval hingga 3800 kali lipat.

Page 16: [Snia 2013] indexing and retrieval engine   wahyu hidayat