Saturday, May 31, 2008

CiteSeerX: The next generation of CiteSeer


After ScientificCommons, CiteSeer now published its next generation (still in alpha version). The previous version has been pushed to its limit by daily request of 1.5 million all over the world. Specializing in computer and information literature only, the new generation provides some enhancements such as Metadata article and Personal Content Portal.

In a matter of collaboration work between researchers, it is amazing to observer how internet technology change our style of work. Last minute updates are virtually accessible by anyone who share the same direction of research, multiplying research progress in unimaginable pace compared to Newton and Leibniz era.

Monday, May 12, 2008

Stemming dan Stop-Listing (bagian 1)

Stemming dan Stop-listing adalah dua dari beberapa tahap pra-pengolahan yang diperlukan dalam sebuah Sistem Temu-kembali Informasi (Information Retrieval System).

Stemming berasal dari bahasa Inggris "stem", yang maknanya adalah akar kata. Proses Stemming berarti sebuah proses mencari akar kata dari sebuah kata yang diberikan. Sementara itu Stop-listing adalah sebuah proses yang membuang kata-kata 'tak berarti' yang terkandung di dalam sebuah dokumen.

Ambil contoh sebuah kata dalam bahasa Indonesia: "menuliskan". Kata ini berasal dari kata "tulis" (to write) yang mendapatkan awalan (prefix) "me-" dan akhiran (suffix) "-kan", sehingga didapatkan sebuah kata bentukan "me-", "tulis", "-kan". Dalam bahasa Indonesia terdapat sebuah aturan dalam pembentukan kata, yaitu sebuah kata dasar yang berawalan dengan huruf 't' jika mendapatkan prefix "me-", huruf 't' itu akan meluluh menjadi 'n'. Sehingga pada contoh ini kata bentukan yang didapatkan adalah "menuliskan", bukan "metuliskan".

Dalam ilmu linguistik, aturan pembentukan kata dibahas dalam ilmu morfologi.

Mengapa tahap stemming diperlukan dalam sebuah Information Retrieval System? Salah satu tujuan dilakukannya stemming adalah agar kata-kata bentukan yang terkandung dalam dokumen dapat ditemukan ketika ada query yang mengandung akar-kata yang sama.

Kita ambil lagi sebuah contoh. Misalkan sebuah koleksi dokumen (corpus) terdiri atas 10 dokumen berisi beberapa kalimat pendek. Di antara 10 dokumen tersebut terdapat beberapa kata bentukan yang berasal dari kata "bicara".
  1. Pak Presiden berbicara dengan tamu dari negara tetangga.
  2. Saya membicarakan topik penelitian dengan beberapa rekan sejawat.
  3. Pembicaraan bilateral antara Indonesia dan Malaysia sampai pada tahap yang penting.
  4. Berbicaralah dengan sopan, agar lawan bicaramu mendapatkan kesan yang baik.

Jika ada seseorang yang memasukkan query dengan kata kunci

  • topik pembicaraan presiden indonesia

maka sistem temu-kembali akan mencari kalimat yang mengandung kata "topik", "bicara", "presiden", dan "indonesia". Kenapa kata "bicara" perlu dicari akar katanya, baik dalam dokumen maupun dalam kueri? Tujuannya adalah agar semua kata bentukan yang berasal dari kata dasar "bicara" dapat diberikan oleh sistem sebagai jawaban dari kueri yang diberikan.

Asumsinya, kata-kata "berbicara", "membicarakan", "pembicaraan", dan "berbicaralah" mengandung makna yang tidak jauh berbeda dengan kata dasarnya, yaitu "bicara". Sehingga diasumsikan semua kata bentukannya memiliki makna yang tidak jauh berbeda. Karenanya sebagai jawaban dari kueri yang mengandung kata dasar "bicara", kita harapkan semua dokumen yang mengandung kata tersebut dapat diambil.