25 Januari 2008

Membangun Search Engine yang Paham Bahasa Indonesia

Oleh I Made Wiryana

Mendengar istilah search engine, pasti sebagian besar pikiran langsung ke Google. Tetapi apakah Google selalu dapat memenuhi kebutuhan kita? Terutama bila dokumen tersebut menggunakan bahasa tertentu. Dari kebutuhan mesin pencari (search engine) di dalam situs Presiden Republik Indonesia, maka tim pengembang telah mencobakan berbagai macam mesin pencari yang ada. Dari pengalaman ini, kami merasakan hingga saat ini belum ada mesin pencari yang cukup memahami bahasa Indonesia, dan masih sedikit yang melakukan analisi kandungan (content analysis) ketika melakukan pencarian.

Memang beberapa search engine telah mampu melakukan identifikasi bahasa yang digunakan pada dokumen tersebut. Proses identifikasi ini biasanya dilakukan dengan cara mengenali beberapa kata di dokumen tersebut yang khas bagi bahasa tertentu, tetapi mesin pencari tersebut tidak melakukan analisa kandungan dari dokumen tersebut. Sehingga untuk beberapa kondisi menjadi sangat terbatas dan bahkan menyebabkan pencarian yang memberikan hasil, yang tidak memiliki hubungan dengan makna kata yang ingin ditemukan.

Pendekatan

Mesin pencari yang dibangun ini menggunakan 2 pendekatan yang masih jarang dilakukan oleh mesin pencari. Pertama dalam melakukan proses pencarian yaitu menggunakan analisa kandungan teks bahasa Indonesia. Kedua, dalam penyajian hasil pencarian serta metoda memfokuskan pencarian yang menggunakan "cloud of tag". Tag adalah kata atau frase yang digunakan untuk merepresentasikan topik dari suatu artikel. Pada dunia "blog" sering suatu artikel diberi metadata yang disebut tag yang berupa topik dari artikel tersebut. Kedua hal di atas menjadi fokus pengembangan disebabkan karena beberapa keterbatasan yang kami jumpai pada pemanfaatan beberapa mesin pencari yang ada.

Sebagai contoh sederhana, mesin pencari yang ada saat ini tak mampu membedakan konteks pada kata seperti "beruang". Mesin pencari tersebut tak membedakan kata "beruang" sebagai binatang, atau "beruang" dalam arti memiliki uang. Mesin pencari yang ada tidak membedakan kedua kata tersebut, dan akan menampilkan semua dokumen yang mengandung kata tersebut. Mesin pencari yang dikembangkan berusaha mengenali perbedaan arti tersebut.

Faktor lain adalah ketika ingin melakukan fokus pencarian dari hasil pencarian yang telah diperoleh dengan menggunakan suatu kata kunci. Beberapa search engine menggunakan fasilitas, pencarian dengan opsi lanjutan. Sayangnya hal ini tetap berdasarkan kesamaan kata, belum berdasarkan makna kata tersebut. Ada juga mesin pencari seperti Vivisimo yang menggunakan teknik klaster untuk mengelompokkan hasil pencarian. Sayangnya proses kluster ini hanya berdasarkan statistik kesamaan kata, alih-alih dengan melakukan analisis kandungan dari dokumen.

Sebagai contoh ketika dilakukan pencarian misal dengan kata kunci Presiden, maka relatif konteks yang terkaiat dengna kata Presiden tersebut tak dapat ditampilkan untuk mempermudah pencarian. Sehingga pengguna harus berusaha menemukan kata kunci tambahan lainnya. Di dalam mesin pencari ini, maka sistem akan memberikan saran tag (atau topik) yang terkait dengan kata kunci yang diberikan oleh pengguna. Penyusunan korelasi antar topik ini dilakuakn secara otomatis. Dengan cara ini pengguna dapat lebih mudah mencari teks yang dibutuhkan.

Analisa

Pada prinsipnya search engine ini akan melakukan analisis kandungan teks bahasa Indonesia, kemudian berdasarkan topic map yang disusun maka akan dihasilkan "cloud of tag" atau topik dari artikel yang terkait. Tag (yang banyak digunakan di blogsphere) ini akan memudahkan proses pencarian berikutnya. User tinggal memilih topik yang terkait dengan keyword yang pertama yang digunakan. Sebagai contoh, user pertama kali akan mencari dengan kata "Presiden", maka sistem akan memberikan hasil pencarian yaitu artikel yang memiliki kata tersebut, dan user disuguhi dengan cloud of tag yang berisi pilihan misal "presiden SBY", "presiden Suharto", "presiden BJ Habibie" dan seterusnya. Sehingga user bisa dapat memilih tag mana yang sebetulnya akan dicari.

Penggunaan komponen Open Source adalah keputusan strategis yang tak dapat dihindari dalam mengembangkan mesin pencari ini. Hal ini disebabkan keterbatasan tenaga, dana, serta waktu yang ada. Dan tentu saja keluwesan yang ada pada komponen Open Source tersebut, serta beberapa teknologi memang hanya ada pada aplikasi Open Source. Dengan komponen Open Source memungkinkan pengembangan dilakukan secara cepat dengan hasil yang baik tanpa menghabiskan dana untuk lisensi. Open Source memungkinkan peneliti yang memiliki keterbatasan dana penelitian dan jumlah peneliti untuk melakukan suatu penelitian yang tadinya dianggap mustahil.

Sebagai komponen utama untuk proses pencarian, sistem ini menggunakan project Open Source Lucene sebagai komponen yang membantu proses pengindeksan dan pencarian dokumen. Sedangkan untuk melakukan analisis kandungan teks maka digunakan proyek kreasi IBM Unstructured Information Management Architecture (UIMA). Tentu saja agar sistem dapat berjalan dengan baik maka dibutuhkan komponen lainnya, antara lain Tomcat dan MySql. Sedangkan sebagai bahasa pemrograman digunakan Java dengan berbagai pustaka yang mendukung.

Tidak terbayangkan tanpa adanya Open Source, maka proyek semacam ini dapat dikerjakan hanya dalam tempo singkat (sekitar 6 bulan) telah terwujudkan dan itupun bersifat paruh waktu. Saat ini prototype sudah berjalan dan dapat diakses dicoba di :

http://cmsdev.jardiknas.org/TagGenerator/

Tentu saja masih ada keterbatasan, misal dari dictionary bahasa Indonesia yang kami gunakan dan lain sebagainya. Silahkan masukkan saran Anda, saat ini kami juga ingin mempelajari bagaimana pola pencarian pengguna Indonesia, terutama dengan teks bahasa Indonesia, dan kata kunci berbahasa Indonesia. Untuk pengembangan ini kami ucapkan terima kasih kepada Dr. Putu Laxman Pendit (UI - RMIT), Dr. Wayan Arka (ANU), Prof. Sulistyo Basuki (UI), atas saran-sarannya, serta kepada Dr. Andi Mallarangeng yang telah mengizinkan penggunaan teks di situs Presiden. Juga kepada Dr. Gatot HP, dan Dr. Abe Susanto yang telah mengizinkan penggunaan server jardiknas.org.

Sumber : Netsains.com

19 Januari 2008

Tips Menghemat Memori Firefox Hingga 3x Lipat

Bagi Anda penghobi internet, tentu tidak asing dengan nama Firefox. Ya, aplikasi browser besutan Mozilla Foundation ini begitu populer khususnya di kalangan pengguna open source. Namun pernahkah Anda frustasi saat berselancar dengan firefox tiba - tiba komputer Anda melambat atau bahkan ngadat? Contoh saat Anda menunggu login email di google mail (GMAIL), Anda mencoba membuka situs forum linux.or.id di tab baru. Namun tiba-tiba mouse Anda menjadi sulit digerakkan alias komputer melambat . Hal ini mungkin akan membuat Anda frustasi.


Mengapa hal ini bisa terjadi? Salah satu penyebab utamanya adalah karena firefox itu sendiri. Meski populer rupanya Firefox bukanlah browser ringan. Browser ini tergolong tambun dan boros, karena menghabiskan resource komputer yang lumayan tinggi. Untuk pertama kali dijalankan saja browser ini (versi 2) menghabiskan paling sedikit 10 mega memori di Linux, dan 20 mega di Windows. Semakin banyak Anda membuka tab / web maka semakin besar memori yang dihabiskan dan semakin sibuk pula CPU Anda bekerja. Anda bisa mengeceknya via aplikasi semacam top dan free di console atau ksysguard di KDE. Dari sisi manajemen memori tampaknya browser ini masih kalah dibanding rivalnya Opera.

firefox-tune-up-02.jpg

Gambar 01.

Men-disable animasi flash terbukti ampuh dalam menghemat memori yang dipakai Firefox. Jenuh bukan melihat “flash” yang bertebaran seperti ini?

Namun Anda tidak perlu berkecil hati dan lekas-lekas memutuskan berpindah ke browser lain. Karena dengan sedikit tune up Anda bisa memperbaiki kinerja Firefox kesayangan. Silahkan ikuti langkah - langkah berikut..

Buka firefox. pada address ketikkan about:config (Lihat Gambar 02).

firefox-tune-up-01.jpg
Gambar 02.
about:config

1. Batasi kapasitas cache memori
Setiap kali Anda membuka sebuah halaman web, Firefox otomatis akan menyimpannya dalam cache memori. Secara default Firefox menggunakannya sebesar jumlah maksimal RAM yang Anda miliki. Itulah mengapa semakin banyak Anda membuka web, memori komputer Anda semakin habis. Untuk membatasinya tambahkan opsi: browser.cache.memory.capacity. Caranya klik kanan, New > Integer. Ketik browser.cache.memory.capacity, enter, masukkan angka 2048. 2048 disini artinya gunakan cache memori maksimal hanya 2 Mega. Anda bisa coba - coba dengan angka yang lain, namun usahakan merupakan kelipatan dari 1024.

2. Batasi kapasitas cache history
Sama seperti cache memori, hanya bedanya peruntukan cache disini oleh Firefox lebih ditujukan untuk mempercepat loading halaman saat Anda menekan tombol back dan forward pada browser. Apabila Anda jarang memakai back dan forward, ada baiknya Anda set dengan nilai kecil guna menghemat memori. Pada filter ketikkan: browser.sessionhistory.max_total_viewers, ubah nilai -1 menjadi 3. Default -1 artinya gunakan semaksimal RAM yang ada. hmm.. nilai default dari Firefox benar-benar rakus bukan?

3. Batasi kapasitas cache disk
Secara default Mozilla menset ukuran cache disk sebesar 50 Mega. Tentunya ini pemborosan memori. Mensetnya menjadi 2 MB dapat memberikan performa yang positif khususnya bagi komputer dengan memori dibawah 128 MB dan harddisk model lama. Pada filter ketikkan: browser.cache.disk.capacity, ubah nilai 50000 menjadi 2000.

4. Batasi extension/add-ons
Semakin banyak add-ons yang Anda gunakan, semakin besar RAM yang dihabiskan. Disable add-ons yang kurang Anda gunakan. Untuk membandingkan performa memori yang digunakan saat menggunakan dan tanpa add-ons dapat dilakukan dengan mencoba menjalankan Firefox pada kondisi safe-mode. Caranya dengan perintah: $ firefox -safe-mode. Pada pilihan yang muncul pastikan Anda beri tanda pada opsi: Disable all add-ons (Lihat Gambar 03)

firefox-tune-up-04.jpg
Gambar 03.
Opsi pilihan pada safe-mode

5. Disable Flash
Tahukah anda bahwa animasi flash yang di load saat Anda membuka web memakan resource RAM yang lumayan besar? Konsekuensinya adalah waktu loading menjadi lebih lambat dan berat. Bahkan pada plugin flash sebelum versi 9, resource RAM yang dipakai merupakan akumulasi dari jumlah flash yang dibuka sebelumnya. Gerah? (Lihat Gambar 01) Ada baiknya anda disable flash. Silahkan download dan install flashblock addon disini:
http://downloads.mozdev.org/flashblock/flashblock-1.5.5.xpi (untuk firefox > 1.5.5)

6. Disable download history
Sebaiknya anda nonaktifkan fitur history ini. Karena semakin banyak download history yang disimpan, maka akan menurunkan performa Firefox. Apalagi bila media penyimpannya pada media removeable seperti disket. Caranya mudah, pilih menu Tools > Options > Privacy. lalu hilangkan pilihan pada “Remember what I’ve downloaded” (Lihat Gambar 04)

firefox-tune-up-03.jpg
Gambar 04.
Hilangkan pada pilihan “Remember what I’ve downloaded”

7. Load yang perlu saja
Secara default Firefox tanpa kita sadari merusaha melakukan pre-download pada link halaman web yang mungkin akan kita klik. Hal ini meniru taktik Google yang mencache terlebih dahulu result pertama dari link pencarian yang dia temukan. Tentu cara ini hanya memboroskan bandwdith, dan performa CPU. Untuk menonaktifkan fitur ini ketik pada filter: network.prefetch-next, klik dua kali, agar nilainya menjadi false.

8. Download dan segera tampilkan.
Tips ini mungkin berguna buat yang tidak sabaran. Umumnya firefox akan menunggu beberapa saat setelah download untuk mulai menampilkan halaman yang dituju. Untuk memaksa Firefox agar segera menampilkan halaman web yang didownloadnya Anda bisa menset nilai: nglayout.initialpaint.delay menjadi 0. Apabila belum ada silahkan klik kanan, new > integer > nglayout.initialpaint.delay

Tips untuk menghemat memori lainnya adalah dengan mengaktifkan fitur config.trim_on_minimize. Hanya saja fitur ini hanya efektif pada lingkungan Windows. Caranya klik kanan, new > boolean, ketikkan config.trim_on_minimize. Set nilainya True. Dengan cara ini setiap kali Firefox di minimize, otomatis memori yang di pakai akan dilepas / dibebaskan, sehingga dapat dipakai untuk proses aplikasi lainnya.

OK, apabila langkah - langkah diatas telah Anda kerjakan, langkah terakhir adalah me-restart Firefox kesayangan Anda. Bagaimana kini performa Firefox Anda? Kami tunggu komentarnya.

catatan:
Untuk melihat besar cache memory yang digunakan Firefox saat ini, dapat dilihat dengan mengetikkan about:cache pada url browser.

Sumber : majalah-linux

11 Januari 2008

Google Knol Pesaing Wikipedia

Jika analisis Josh Bernoff dari firma riset pasar Forrester Research benar, Google Inc. segera merampungkan ambisi untuk mengendalikan pengalaman para pengguna Internet. Ini ditandai oleh peluncuran Google Knol, situs ensiklopedia online-nya, pada pekan lalu.

"Ini adalah cara Google menggenggam 'halaman ketika' dari pencarian," ujar Bernoff. Google, menurut Bernoff, telah menguasai halaman pertama (halaman utama dari portal) dan kedua (halaman hasil perencanaan). Tapi karena tidak memiliki content sendiri, Google tak memiliki kendali pada halaman ketiga.

Kehadiran Google Knol diumumkan oleh Vice President Engineering Google Udi Mander di blog resmi perusahaan itu: Google Blog (http://googleblog.blogspot.com). Knol, menurut Google, adalah satuan terkecil dari knowledge.

"Tujuan kami adalah mendorong orang yang mengetahui sebuah subyek tertentu untuk menuliskannya menjadi sebuah artikel yang resmi," Manber menuliskan. Knol nantinya akan memuat semua topik, dari konsep sains hingga informasi kesehatan; dari geografi dan sejarah sampai hiburan; serta dari informasi produk hingga instruksi bagaimana memperbaikinya jika rusak.

Sebagai tahap awal, mulai pekan ini, Google hanya mengundang sekelompok penulis untuk mencoba Knol. Ini pula yang membedakan Knol dengan pemimpin situs ensiklopedia saat ini, Wikipedia. Tak seperti penyumbang artikel Wikipedia, pada Knol, identitas dan foto penulis terpampang di halaman artikelnya.

Penulis juga berkesempatan mendapatkan pendapatan. Jika penulis menghendakinya, di halamannya akan dipasang iklan. Metode pemeringkatan Knol akan sama dengan cara pemeringkatan halaman web yang lain, yakni berdasarkan hasil pencarian. Di sini muncul kekhawatiran lainnya: apakah Google bisa obyektif menampilkan hasil pencariannya dan tidak menaruh content miliknya di puncak halaman hasil pencarian?

Artikel Knol juga tidak dibuat secara kolaboratif oleh beberapa penulis anonim seperti di Wikipedia. Seorang penulis Knol menuliskan sebuah topik tertentu. Penulis lain tidak diperkenankan menyunting artikel tersebut, tapi ia bisa membuat artikel dengan topik yang sama.

Pengguna web masih bisa berpartisipasi dalam Knol sebagai penilai. Mereka bisa me-ranking artikel berdasarkan tingkat kegunaannya. Pengguna bisa mengirimkan komentar dan juga pertanyaan kepada penulis knol tersebut.

Menurut Google, gagasan kunci di belakang proyek Knol adalah menyoroti para penulis. "Kami percaya dengan mengetahui siapa yang menulis membantu pengguna secara signifikan untuk menggunakan lebih baik content web.

Akankah Knol menjadi pesaing bagi Wikipedia? Tampaknya, dari segi kemiripan, Knol lebih mirip About.com. Situs yang kini dimiliki oleh The New York Times Company itu berdiri pada 1996 dan saat ini memiliki lebih dari 600 pakar penulis artikel yang disebut guide. About memiliki lebih dari 1,6 juta artikel yang tersebar dalam 22 kanal. Setiap pekan bertambah 3.000 potongan content baru.

Sementara itu, pemimpin dalam ensiklopedia online, Wikipedia.org, kini memiliki lebih dari 8,2 juta artikel dalam lebih dari 200 bahasa. Untuk yang berbahasa Inggris, terdapat lebih dari 2 juta artikel. Namun, masalah akurasi artikel menjadi isu utama yang membayangi Wikipedia.

GOOGLEBLOG | THE NEW YORK TIMES | CNET | WSJ | ZDNET | GUARDIAN | ABOUT | WIRED | SEARCHENGINELAND | DAILYTECH | DODY

Sumber : TEMPO Interaktif