[snia 2013] indexing and retrieval engine wahyu hidayat

Post on 31-Jul-2015

117 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Wahyu HidayatTelkom University

Bandung18 Desember 2013

SNIA 2013

Problems with Text Documents

Inverted Index as a Solution

Research Questions

Q1

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

Q2

• How’s the indexing and retrieval engine performance?

Indexing and Retrieval Engine

HASIL QUERY

QUERY

HIMPUNANDOKUMEN

(*.TXT)

USER INVERTEDINDEX

SORTING&

MERGINGSTOPPING STEMMINGPARSING

QUERY

KAMUS STOPWORDS

(*.TXT)

KAMUS KATA DASAR (*.TXT)

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.

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

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-

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

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

Retrieval – Possible Queries

Single keyword

Multi keyword with

logical operator

AND, OR & NOTMulti

keyword without logical

operator

Combinations

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)

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

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

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

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%

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.

top related