Jumat, 04 Juni 2010

SEARCH ENGINE

Search Engine adalah suatu portal website yang menyediakan informasi pencarian data-data yang dibutuhkan pengunjung internet. Untuk mendapatkan informasi-informasi yang dibutuhkan, pengunjung internet masuk ke situs tersebut dan melakukan pencarian. Website search engine yang terkenal adalah Google dan Yahoo.

Cara kerja search engine pertama-tama mencopy paste semua halaman website yang ada di dunia. Setelah data tersebut masuk kemudian diolah dengan algoritmanya sendiri. Saat pengunjung mencari data yang dibutuhkan, dengan algoritmanya dia menampilkan data sesuai yang dimasukkan pengunjung.

Search Engine akan berusaha mungkin menampilkan data yang paling relevan dengan yang diinginkan pengunjung. Berbagai kemungkinan data yang akan ditampilkan, dan search engine punya banyak pertimbangan yang dituangkan dalam algoritmanya.

Algoritma ini terus berkembang karena perkembangan teknologi yang ada di samping banyak website yang berusaha agar website dia muncul di halaman pertama hasil pencarian.

Untuk bisa masuk di halaman pertama, kita harus membuat website mempunyai content yang baik selain juga mempunyai struktur website yang disenangi serach engine. Ini dikenal dengan SEO (Search Engine Optimization).

MEMBANGUN SEARCH ENGINE

Mendengar istilahsearch 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 ada komentar:

Posting Komentar