Anda di halaman 1dari 4

e-Indonesia Initiative 2008 (eII2008

)
Konferensi dan Temu Nasional Teknologi Informasi dan Komunikasi untuk Indonesia
21-23 Mei 2008, Jakarta
1
Reinforcement Learning dalam Proses Pembelajaran
Penentuan Strategi Penelusuran pada Focused Crawler

Siti Maimunah, Kuspriyanto
Kelompok Keahlian Teknik Komputer
Sekolah Teknik Elektro dan Informatika
Institut Teknologi Bandung
s.maimunah@yahoo.com

Abstraksi

Akibat dari semakin berlimpahnya informasi pada WWW membawa permasalahan pada sulitnya kita mendapatkan
informasi yang benar-benar terfokus pada kebutuhan user atau topik yang ditentukan, disamping permasalahan kapasitas
local repository yang harus disediakan oleh search engine. Oleh sebab itu Web Crawler yang bertugas menjelajah dan
me-retrieve web resource perlu difokuskan penelusurannya sehingga mendukung adanya perkembangan WWW dan
kebutuhan tertentu. Hal ini masih merupakan area penelitian yang aktif dilakukan oleh para peneliti untuk mendapatkan
hasil yang cukup akurat dengan langkah yang efisien.
Reinforcement Learning sebagai salah satu jenis proses pembelajaran dalam machine learning menawarkan keunggulan
tersendiri karena sifat independensinya dalam proses pembelajaran secara interaktif dan real time terhadap
lingkungannya. Metode ini sangat sesuai untuk diterapkan dalam linkungan yang sangat dinamis seperti WWW karena
kemampuannya beradaptasi secara mandiri sesuai dengan perkembangan linkungannya. Dengan reinforcement learning,
crawler akan dengan mudah mengevaluasi perilaku penelurusannya dalam mencari relevant web pages dan merubah
strategi penelusurannya untuk mencapai hasil yang maksimal.
Dalam makalah ini dijelaskan kemungkinan pemanfaatan reinforcement learning pada crawling process sehingga mampu
meningkatkan performa dari crawling system terutama dalam hal presisi, kecepatan dalam mendapatkan relevant web
pages dan minimasi penggunaan resources.

Kata Kunci : web crawler, dynamic environment, strategi penelurusan, reinforcement learning, machine learning,
adaptasi, real time, interactive learning


1. PENDAHULUAN

Pada saat ini jutaan orang mencari informasi dari WWW
dan search engine memainkan peranan penting dalam hal
ini. Search engine sebagai mesin pencari informasi-
informasi yang dibutuhkan user memiliki beberapa
komponen dengan tugas masing-masing yang harus
dilakukan sebelum dapat menampilkan informasi yang
diminta oleh user. Salah satu komponen yang cukup
penting adalah web crawler yang bertugas men-download
web page yang dituju oleh URL dan menelusuri web
graph melalui link-link-nya untuk mendapatkan web
pages yang lain.

Perkembangan Web yang luar biasa menimbulkan
beberapa permasalahan antara lain:
- Respon dari sebuah query yang diajukan oleh user
berjumlah terlalu banyak sehingga user masih harus
memilah-milah lagi dokumen yang harus dibaca. Hal
ini terlalu memakan waktu dan membosankan.
- Dengan kapasitas yang luar biasa, sebuah search
engine yang sifatnya umum menjadi sulit untuk meng-
update koleksinya sehingga informasi yang diberikan
pada user sering kali tidak lengkap dan out-of date.

Disamping adanya beberapa permasalahan di atas,
terdapat pula beberapa aplikasi yang memerlukan
searching web untuk page yang relevan terhadap subjek
tertentu saja (mis.: digital library, informasi kesehatan,
dll). Jika general web crawler menelusuri semua URL
yang dia temui untuk mendapatkan web page, beda halnya
dengan focused crawler yang secara selektif me-retrieve
web pages yang relevan terhadap domain tertentu agar
informasi yang didapatkan lebih berkualitas. Focused
crawler juga diperlukan untuk efisiensi sumber daya
(karena tidak semua URL ditelusuri dan tidak semua web
pages di-download, maka dapat menghemat bandwidth
dan local repository space).

Karena tidak semua page yang relevan saling
berhubungan, maka focused crawler tradisional hanya
mampu menjangkau relevant page yang ada di sekitar
seed URL saja. Dengan demikian dibutuhkan sebuah
mekanisme yang dapat mengeksploitasi knowledge base-
nya dan mengeksplorasi WWW lebih menyeluruh untuk
mendapatkan relevant pages selengkap dan secepat
mungkin dan sedapat mungkin menghindari irrelevent
pages.


e-Indonesia Initiative 2008 (eII2008)
Konferensi dan Temu Nasional Teknologi Informasi dan Komunikasi untuk Indonesia
21-23 Mei 2008, Jakarta
2
2. FOCUSED CRAWLER

Yang membedakan focused crawler dengan general web
crawler adalah kemampuannya untuk menelusuri link-link
yang mengarah pada page target dan berusaha semaksimal
mungkin menghindari link-link yang tidak mengarah pada
page target. Secara mendasar perbedaan algoritma dari
keduanya terletak pada kebijakan yang diterapkan pada
frontier (sebuah queue dari URL yang harus dikunjungi
berikutnya) yang diacu oleh crawler. Jika general crawler
menggunakan system FIFO, focused crawler
menggunakan priority queue yang harus diurutkan sesuai
dengan strategi yang dipilih. Algoritma dasar yang dapat
digunakan untuk sebuah focused crawler adalah sebagai
berikut:

Input: Seed = {U
1
, U
2
, …, U
n
}
F ← Seed; // F : priority queue
Visited ← ∅;
While F ≠ ∅ do
U ← dequeue(F);
p ← fetch(U);
Visited ← Visited ∪ U;
τ ← Extract_Outgoing_Link(p);
for each q ∈ τ
if (q ∉ Visited) and (q ∉ F)
F ← F ∪ q;
Reorder(F); ← sesuai strategi yang dipilih
end if;
end for;
End while;
Gambar 1. Algoritma dasar Focused Crawler

Sebelum proses crawling dimulai, ditentukan satu atau
beberapa seed URL untuk dimasukkan dalam frontier
sebagai start URL-nya. URL dalam frontier akan diambil
satu persatu oleh crawler untuk di-download page-nya
dan diekstrak outgoing link-nya untuk ditambahkan pada
frontier agar dapat dikunjungi oleh crawler untuk di-
download pula page-nya. Demikian seterusnya sampai
waktu yang ditentukan atau frontier telah kosong. Untuk
focused crawler, sebelum URL hasil ekstraksi
ditambahkan ke dalam frontier harus dianalisa dulu untuk
diestimasi skor relevansinya. Jika melebihi threshold atau
batas minimal skor yang ditentukan maka URL dapat
ditambahkan dan isi frontier diurutkan kembali agar URL
yang mengandung page paling relevan dapat di-download
terlebih dahulu.


3. PENELITIAN TERKAIT

Secara garis besar beberapa algoritma untuk mendukung
focused crawler dapat dikategorikan sebagai berikut [17]:
- Web analysis algorithm
o Content-based web analysis algorithm
o Link-based web analysis algorithm
- Web search algorithm

Web analysis algorithm digunakan untuk menilai
relevansi dan kualitas web page sedangkan web search
algorithm digunakan untuk menentukan urutan optimal
URL target yang harus dikunjungi. Untuk menentukan
urutan URL target yang harus dikunjungi diperlukan
adanya estimasi terhadap relevansi URL yang akan dan
belum dikunjungi tersebut. Berbagai teknik telah
dikembangkan untuk menentukan urutan ini dimana untuk
menentukan skor relevansi URL dapat memanfaatkan
hasil dari web analysis algorithm. Penelitian tentang
focused crawler dimulai oleh DeBra [10] dengan
FishSearch-nya, selanjutnya Hersovici mengembangkan
FishSearch menjadi SharkSearch [13] dan setelah itu
berturut focused crawler dikembangkan dengan berbagai
teknik untuk menyempurnakan focused crawler yang ada.

Beberapa heuristik yang digunakan untuk menentukan
prioritas pada umumnya berdasarkan pada:
- Link-based criteria
- Lexical similarity measures
- Contextual knowledge
- Structural similarity
- Relational sub-group discovery
- Dan beberapa kombinasi di antaranya.
Masing-masing heuristik ini memiliki kelebihan untuk
kondisi tertentu dan kelemahan pada kondisi yang lain.

Beberapa penelitian yang telah diajukan menggunakan
teknik penelurusan antara lain: (1) Breadh-first search
dengan asumsi bahwa page di sekitar starting URL
memiliki kemungkinan lebih tinggi merupakan page yang
relevan. Teknik ini cukup sederhana tapi setelah agak
lama, semakin banyak page yang tidak relevan ikut
terjaring dan harus difilter sehingga kurang efisien. (2)
Depth-first search sebagaimana dilakukan dalam
FishSearch dengan tujuan menuntaskan jalur yang melalui
page relevan lebih dulu. Dengan teknik ini harvest rate-
nya kurang bagus karena lambat dalam memperoleh page
yang relevan (page relevan yang lebih dekat tidak segera
terambil). (3) Best-first search. Teknik ini yang paling
banyak dikembangkan penelurusan lebih terarah dengan
menggunakan priority queue untuk mendapatkan URL
berikutnya yang harus dikunjungi. Namun teknik ini juga
terdapat kelemahan karena proses pencariannya yang
bersifat lokal (penelusuran terbatas pada URL yang
terhubung dengan seed URL saja) sehingga banyak
kehilangan page relevan yang tidak terhubung secara
langsung. Dengan adanya permasalahan ini, mulai
dikembangkan penelitian untuk mengantisipasinya dengan
cara meningkatkan kemampuan eksplorasi dari focused
crawler). Jangkauan penelusuran dari teknik yang
diajukan di sini lebih luas dari Best-first search tradisional
tapi belum optimal.


4. REINFORCEMENT LEARNING PADA
FOCUSED CRAWLER

Pada dasarnya tugas dari focused crawler adalah tugas
penelurusan untuk mencari page target dalam rimba
e-Indonesia Initiative 2008 (eII2008)
Konferensi dan Temu Nasional Teknologi Informasi dan Komunikasi untuk Indonesia
21-23 Mei 2008, Jakarta
3
directed web graph yang cukup komplek. Beberapa
karakteristik dari web graph antara lain:
- Tidak semua page yang relevan saling berhubungan.
Diperlukan mekanisme untuk mendeteksi dan
menjangkaunya.
- Adakalanya dua buah page yang relevan dipisahkan
oleh satu atau beberapa page yang tidak relevan
sehingga diperlukan estimasi yang kuat untuk
menentukan apakah sebuah link dapat membawa agen
crawler menuju page target atau tidak, dan seberapa
jauh atau seberapa besar biaya yang harus dikeluarkan
untuk mencapai page target tersebut.
- Web graph bersifat stokastik karena dinamisasinya
yang cukup tinggi.

Oleh sebab itu proses penelurusannya dapat dipandang
sebagai A* search yang secara incremental mencari semua
rute yang dimulai dari starting page hingga ditemukan
jarak terpendek (minimal cost) untuk mencapai page
target. Fungsi dari A* adalah :
f(x) : g(x) + h(x) (1)
dimana
g(x) : fungsi nilai dari start page ke current
page
h(x) : fungsi nilai dari current page ke target
page yang tidak jelas posisinya ada
dimana

Fungsi h(x) ini dapat didekati dengan beberapa fungsi
heuristik yang sesuai dengan kondisi yang ada. Untuk
menentukan strategi yang diterapkan pada fungsi h(x)
secara adaptif ini bisa digunakan reinforcement learning
dalam menentukan kebijakan terbaik dalam memilih
strategi yang sesuai (berikut heuristiknya) untuk kondisi
tertentu sehingga hasil penelusurannya bisa optimal.

Focused crawler yang menggunakan reinforcement
learning (RL crawler) harus dilakukan training dengan
menggunakan path yang menuju page target. RL crawler
ini memprediksi benefit total dalam mengikuti sebuah link
(u, v) dari page u dengan menggunakan strategi tertentu.
Menggunakan strategi yang berbeda dalam mengikuti link
dari u bisa mendapatkan benefit yang jauh berbeda. Jadi
keuntungan penggunaan reinforcement learning ini adalah
bukan hanya seberapa jauh page target yang bisa
diestimasi, dan jalur mana yang harus dilalui tapi juga
strategi apa yang harus digunakan sehingga memperoleh
benefit yang maksimal.

Di dalam RL crawler ini terdapat beberapa komponen
yang harus diperhatikan. Sebagai salah satu alternative,
state bisa berupa web page dan action yang bisa dilakukan
adalah strategi (berikut heuristiknya) yang dipilih dalam
melakukan proses penelusuran yang optimal. Reward
diberikan ketika menemukan page target (page yang
relevan). Sebagai contoh mengikut sebuah link (u, v) akan
diberikan reward satu jika v adalah page yang relevan.
Reward akan berkurang jika v bukan page yang relevan
tapi bisa mengarahkan pada page yang relevan. Reward
akan semakin mengecil jika jarak page yang relevan
semakin jauh.
5. PENUTUP

Dengan memanfaatkan reinforcement learning dalam
penentuan kebijakan pemilihan strategi pada focused
crawler diharapkan keterbatasan yang ada pada beberapa
penelitian sebelumnya bisa diminimalisasi dengan cara
memanfaatkan kelebihan dari strategi mereka pada
kondisi tertentu. Teknik ini berusaha untuk dapat
mengeksploitasi berbagai strategi dan knowledge base
yang ada untuk dapat mengoptimalkan proses penelusuran
dan memiliki kemampuan yang lebih bagus dalam
mengeksplorasi jalur-jalur menuju page yang relevan .


6. Daftar Pustaka

[1]. Aggarwal, C. C., Al-Garawi, F., and Yu, P. S. “On the
design of a learning crawler for topical resource
discovery”. ACM Transactions on Information
Systems 19, 3, 286–309. 2001
[2]. Bergmark, D. “Collection Synthesis“. Proc. Of Joint
Conference on Digital Libraries 2002, Portland,
Oregon, USA.
[3]. Bergmark, D., Lagoze, C. and Sbityakov, A. “Focused
Crawls, Tunneling, and Digital Libraries”. Proc. of the
6th European Conference on Digital Libraries, Rome,
Italy. 2002.
[4]. Brin, S. and Page, L. “The anatomy of a large-scale
hypertextual web search engine”. WWW7, pages 107–
117, Brisbane, Australia. 1998.
[5]. Chakrabarti, S., Berg, M., and Dom, B. “Focused
crawling: A new approach to topic-specific web
resource discovery”. Computer Networks, 31(11-
16):1623–1640. 1999.
[6]. Chakrabarti, S., Punera, K., and Subramanyam, M.
“Accelerated focused crawling through online
relevance feedback”. WWW, pages 148–159. 2002.
[7]. Chau, M. and Chen, H. “Comparison of Three Vertical
Search Spiders”. IEEE Computer, 36(5), 56-62. 2003.
[8]. Chen, H., Chung, Y., Ramsey, M. and Yang, C. “A
Smart Itsy-Bitsy Spider for the Web”. JASIS, 49(7),
604-618. 1998.
[9]. Cho, J., Garcia-Molina, H. and Page, L. “Efficient
crawling through url ordering”. WWW7. 1998.
[10]. De Bra, P., Houben, G., Kornatzky, Y., and Post, R.
“Information retrieval in distributed hypertexts”.
Procs. of the 4th RIAO Conference, pages 481–491,
New York. 1994.
[11]. Diligenti, M., Coetzee, F., Lawrence, S., Giles, C.
Lee, and Gori, M. “Focused crawling using context
graphs”. VLDB, pages 527–534. 2000.
[12]. Dong, J., Zuo, W., and Peng, T. 2006. Focused
Crawling Guided by Link Context. ACTA Press.
[13]. Hersovici, M., Jacovi, M., Maarek, Y. S., Pellegb,
D., Shtalhaima, M., and Ura, S. “The shark-search
algorithm. an application: tailored web site
mapping”. WWW7. 1998.
[14]. Kleinberg, J. M. “Authoritative Sources in a
Hyperlinked Environment”. Proc. of the ACM-
e-Indonesia Initiative 2008 (eII2008)
Konferensi dan Temu Nasional Teknologi Informasi dan Komunikasi untuk Indonesia
21-23 Mei 2008, Jakarta
4
SIAM Symposium on Discrete Algorithms, San
Francisco, California, USA. 1998.
[15]. McCallum, A., Nigam, K., Rennie, J., and Seymore,
K. “Building domain-specific search engines with
machine learning technique”. Procs. of AAAI Spring
Symposium on Intelligents Engine in Cyberspace.
1999.
[16]. Najork, M., and Wiener, J. L. “Breadth-first crawling
yields high-quality pages”. Proceedings of the 10th
International World Wide Web Conference (Hong
Kong, China), pp. 114–118. 2001.
[17]. Qin, J., Zhou, Y., and Chau, M. “Building domain-
specific web collections for scientific digital
libraries: a meta-search enhanced focused crawling
method”. Joint Conference on Digital Libraries
(Tuscon, AZ, USA), pp. 135–141. 2004.
[18]. Rennie, J. and McCallum, A. “Using Reinforcement
Learning to Spider the Web Efficiently”.
Proceedings of the Sixteenth International
Conference on Machine Learning(ICML-99), pages
335–343. 1999.
[19]. Sutton, R.S. and Barto, A. G. “Reinforcement
Learning: An Introduction”. MIT Press, Cambridge,
MA. 1998.
[20]. Toyoda, M. and Kitsuregawa, M. “Creating a Web
Community Chart for Navigating Related
Communities”. Proc. of ACM Conference on
Hypertext and Hypermedia, Århus, Denmark. 2001.
[21]. Vidal, M. L. A., da Silva, A. S., de Moura E. S., and
Cavalcanti, J. M. B. “Structure-Driven Crawler
Generation by Example”. ACM 1-59593-369-
7/06/0008. 2006.
[22]. Xu, Q. and Zuo, W. “First-order Focused Crawling”.
ACM 978-1-59593-654-7/07/0005. 2007.