SNIA
2013
Bandung
18 Desember 2013
Wahyu Hidayat dari Telkom University mempresentasikan penelitiannya tentang mesin indeks dan pencarian untuk dokumen berbahasa Indonesia menggunakan indeks terbalik. Penelitian ini bertujuan untuk mengindeks dan mencari dokumen berbahasa Indonesia secara efisien serta menguji kinerja mesin indeks dan pencarian yang dikembangkan.
4. Research Questions
Q1
Q2
• How to index and retrieve large
number of Indonesian text
(efficiently)?
• How’s the indexing and retrieval
engine performance?
5. Indexing and Retrieval Engine
KAMUS
STOPWORDS
(*.TXT)
STOPPING
HIMPUNAN
DOKUMEN
(*.TXT)
PARSING
KAMUS KATA
DASAR (*.TXT)
STEMMING
SORTING
&
MERGING
QUERY
QUERY
USER
HASIL
QUERY
INVERTED
INDEX
6. Indexing – Parsing Process
ibu
MinWordLength = 3
Parameter :
IndexNumbers = False
SpaceChars
1
pergi
1
pasar
1
1
gula
1
pasir
1
budi
Dokumen2: Budi dan Iwan bepergian
dengan sepeda motor.
ibu
membeli
Ibu-ibu pergi ke pasar
Dokumen1: membeli 100 gr gula
pasir.
1
2
dan
2
iwan
2
bepergian
2
dengan
2
sepeda
2
motor
2
7. Indexing – Stopping Process
ibu
1
ibu
1
ibu
1
ibu
1
pergi
1
pergi
1
pasar
1
pasar
1
membeli
1
membeli
1
gula
1
gula
1
pasir
1
pasir
1
budi
2
budi
2
dan
2
iwan
2
iwan
2
bepergian
2
bepergian
2
sepeda
2
dengan
2
motor
2
sepeda
2
motor
2
STOPWORDS.txt
...
adalah
atau
dan
dengan
yaitu
...
8. 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
ATURAN
MORFOLOGI
me-, pe-, ter-, ber-
ibu
1
ibu
1
pergi
1
pasar
1
beli
1
gula
1
pasir
1
budi
2
iwan
KATADASAR.txt
...
beli
gula
motor
pasar
pasir
pergi
sepeda
...
2
pergi
2
sepeda
2
motor
2
9. 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
antar-, pra-, ke- dan swa-
-anda, -nda, -da, -man, -wiah, iah, -wi, -wan, -wati, -ni dan i
5
10. Indexing – Merging and Sorting
Term
Doc
Term
Doc
INVERTED INDEX
ibu
1
beli
1
Term
ibu
1
budi
2
beli
1
1
pergi
1
gula
1
budi
2
1
pasar
1
ibu
1
gula
1
1
beli
1
ibu
1
ibu
1
2
gula
1
iwan
2
iwan
2
1
pasir
1
motor
2
motor
2
1
budi
2
pasar
1
pasar
1
1
iwan
2
pasir
1
pasir
1
1
pergi
2
pergi
1
pergi
1
1
sepeda
2
pergi
2
pergi
2
1
motor
2
sepeda
2
sepeda
2
1
Doc
Freq
11. Retrieval – Possible Queries
Single keyword
Multi keyword
with logical
operator AND,
OR & NOT
Multi keyword
without logical
operator
Combinations
12. 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)
𝑡𝑝
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
𝑡𝑝 + 𝑓𝑝
𝑡𝑝
𝑅𝑒𝑐𝑎𝑙𝑙 =
𝑡𝑝 + 𝑓𝑛
13. 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
250000
200000
150000
100000 214
50000
0
Parsing
36
22
Stopping
74
Stemming
15
Sorting & Merging
Parsing
Stopping
Stemming
Sorting &
Merging
Index
Writing
Index Writing
14. Test Result – Retrieval Engine
Keyword
sekutu
mempersekutuk
an
mempersekutuk
an tuhannya
Malaikat yang
terdekat
makan minum
ayah
zuhur
Pencarian dengan
fasilitas search pada
Windows
Waktu
Hasil
pencarian Pencarian
(detik)
(dokumen)
21,13
45
21,09
60
20,51
4
20,43
1
20,36
20,95
22,85
21
30
45
Precision = 100%
Recall = 100%
Keyword
sekutu
mempersekutuka
n
mempersekutuka
n tuhannya
malaikat yang
terdekat
Pencarian dengan
inverted index
Waktu
Hasil
pencarian
Pencarian
(detik)
(dokumen)
0,043
130
0,042
130
0,078
305
0,061
220
makan minum
0,048
152
ayah
zuhur
0,010
0,001
31
1
Precision = 41,88%
Recall = 100%
15. 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.