2. TINJAUAN PUSTAKA
A. Temu Kembali Informasi Temu kembali informasi merupakan disiplin ilmu yang mempelajari teori, model dan teknik yang terkait dengan representasi, penyimpanan, organisasi dan pengambilan informasi sehingga dapat bermanfaat bagi manusia (Taylor, 1999). Sejak tahun 1940-an, masalah pada penyimpanan dan temu-kembali informasi mendapat banyak perhatian. Permasalahannya sederhana, limpahan informasi menyebabkan kecepatan dan akurasi akses menjadi lebih sulit. Hal ini menyebabkan relevansi informasi menjadi kurang terungkap dan akibatnya banyak duplikasi pekerjaan. Dengan adanya komputer, muncullah pemikiranpemikiran untuk membuat sistem pengambilan informasi yang cerdas dan cepat dengan memanfaatkan kemampuan komputer (Rijsbergen, 1979). Proses penyimpanan dan pengambilan informasi pada prinsipnya sederhana. Misalkan ada koleksi dokumen dan pengguna koleksi yang memformulasikan pertanyaan (permintaan atau query) dengan jawaban berupa satu set dokumen yang memenuhi kebutuhan informasi. Pencari informasi dapat memperoleh jawaban dengan membaca seluruh koleksi dokumen satuper-satu, menyimpan informasi yang relevan dan mengabaikan yang lainnya. Secara naluri, hal tersebut merupakan proses pengambilan informasi yang sempurna, akan tetapi tidak praktis. Pencari informasi tentu tidak punya cukup waktu atau tidak ingin menghabiskan waktu dengan membaca seluruh koleksi dokumen dan secara fisik hal tersebut tidak mungkin dilakukan.
6
Ketika komputer berkecepatan tinggi tersedia untuk pekerjaan nonnumerik, banyak yang meramalkan bahwa komputer akan mampu menyamai kemampuan manusia dalam membaca seluruh koleksi dokumen dan mengekstrak dokumen yang relevan. Seiring dengan waktu, lambat laun terlihat bahwa proses pembacaan dan ekstraksi dokumen tidak hanya melibatkan proses penyimpanan dan pencarian, tetapi juga proses karakterisasi isi dokumen yang jauh lebih rumit. Proses karakterisasi dokumen secara otomatis oleh perangkat lunak yang coba didekati dengan meniru cara manusia membaca masih sulit sulit dilakukan. Membaca melibatkan proses ekstraksi informasi (secara sintaks dan semantik) dari teks dan menggunakannya untuk menentukan apakah dokumen relevan atau tidak dengan permintaan. Kesulitan bukan hanya pada ekstraksi dokumen, tetapi juga pada proses penentuan relevansi dokumen. Tujuan
dari
strategi
temu-kembali
informasi
otomatis
adalah
menemukan semua dokumen yang relevan dan pada saat yang bersamaan mengurangi jumlah dokumen terambil yang tidak-relevan semaksimal mungkin. Bagi manusia, membuat keterkaitan dokumen dengan query dapat dengan mudah dilakukan. Tetapi kalau mau dilakukan oleh komputer, kita harus membangun model matematika yang dapat menghitung relevansi dokumen dan banyak riset pada temu kembali informasi berkonsentrasi pada aspek ini. Sistem temu-kembali informasi memiliki dua fungsi utama : menilai tingkat
relevansi
dokumen-dokumen
dengan
query
pengguna
dan
7
menampilkan dokumen yang dinilai “memuaskan”. Untuk mendapatkan hasil yang baik, query harus tepat menangkap keinginan pengguna (Horng et. al., 2005). Untuk mencapai hal tersebut, beberapa alternatif pendekatan dalam melakukan organisasi dokumen telah dikembangkan beberapa tahun belakangan ini. Kebanyakan pendekatan dilakukan berdasarkan visualisasi dan presentasi dari keterkaitan antar dokumen, istilah (term) dan query pengguna. Salah satu pendekatan adalah document clustering (Leuski, 2001).
B. Dokumen Berbahasa Indonesia Bahasa Indonesia secara historis merupakan varian bahasa melayu yang kini juga digunakan di wilayah yang luas meliputi Indonesia, Singapura, Brunei Darussalam, Malaysia, bagian selatan Thailand, bagian selatan Filipina, dan beberapa tempat di Afrika Selatan. Bahasa melayu diangkat menjadi bahasa persatuan di Indonesia pada 28 Oktober 1928 dalam peristiwa yang disebut Sumpah Pemuda. Sejak saat itu, bahasa melayu yang digunakan di wilayah Indonesia sekarang mulai dinamai Bahasa Indonesia. Namun, secara resmi penyebutan bahasa Indonesia sebagai bahasa resmi di Indonesia baru muncul pada 18 Agustus 1945 ketika konstitusi Indonesia diresmikan. Saat ini bahasa Indonesia mengalami perkembangan yang sangat luas. secara sosial, jumlah penutur bahasa Indonesia saat ini telah mencapai +- 210 juta jiwa. Secara fungsional bahasa Indonesia telah digunakan di lingkungan baik secara lisan maupun tulisan di masyarakat luas, secara formal dan informal di institusi pemerintahan dan swasta. Dokumen berbahasa Indonesia digunakan secara luas dibidang pemerintahan, perekonomian, hukum, pendidikan, iptek, seni budaya dan lain-lain (Arifin & Tasai, 2004). Oleh
8
karena itu, dokumen berbahasa Indonesia sangat banyak jumlahnya. Untuk menemukan dokumen dalam bahasa Indonesia, mesin pencari memegang peranan sangat penting. Penelitian dalam sistem temu kembali informasi banyak dilakukan pada dokumen bahasa Inggris. Walaupun sama-sama menggunakan huruf latin, bahasa Indonesia memiliki tata bahasa yang berbeda dengan bahasa Inggris. Sehingga perlu dilakukan penelitian yang lebih mengkhususkan pada bahasa Indoenesia. Penelitian sistem temu kembali informasi dalam bahasa Indonesia sudah banyak dilakukan, antara lain : Arifin (2002) Jika pada riset IR banyak yang fokus pada algoritma untuk mengklasifikasikan dokumen, Arifin melakukan penelitian pada upaya penghematan memori dan waktu dalam proses pembobotan dokumen. Dalam hal ini, Arifin menerapkan algoritma Digital Tree Hibrida pada algoritma pembobotan Tf-Idf yang ternyata berhasil mengurangi waktu pembobotan.
Arifin & Setiono (2002) Arifin & Setiono membahas penggunaan algoritma Single Pass Clustering dalam bahasa Indonesia. Berdasarkan hasil perocobaan, algoritma Single-Pass ternyata cukup handal untuk mengelompokkan berita kejadian (event) dalam bahasa Indonesia. Penelitian sudah menggunakan algoritma Porter untuk steming, hanya tidak dilakukan perbandingan dengan algoritma lainnya. Tala (2003) Merupakan sebuah tesis membahas efektifitas penggunaan algoritma stemming Porter dalam bahasa Indonesia beserta efeknya, terutama dalam
9
temu kembali informasi. Hasil penelitian menemukan adanya beberapa masalah dalam penerapan algoritma Porter dalam bahasa Indonesia yang ditimbulkan karena ambiguitas beberapa kata dalam bahasa Indonesia. Selain itu, ditemukan bukti bahwa stemming tidak meningkatkan kinerja (precision & recall) temu kembali informasi. Tala juga membuat daftar kata buangan (stop list) yang disusun berdasarkan hasil analisa frekuensi kemunculan kata dalam bahasa Indonesia.
Fahmi (2004) Penelitian yang dilakukan Fahmi bertujuan untuk mengetahui apakah Machine Learning cocok digunakan pada dokumen berbahasa Indonesia. Fahmi membandingkan 3 algoritma Pembelajaran Mesin (Machine Learning) untuk mengklasifikasikan dokumen. Adapun algoritma yang dibandingkan adalah ID3, Instance Based Learning dan Naïve Bayes. Hasil penelitian menunjukkan algoritma Instance Based memiliki kinerja yang paling baik. C. Clustering Clustering adalah proses pengelompokan data ke dalam cluster berdasarkan parameter tertentu sehingga obyek-obyek dalam sebuah cluster memiliki tingkat kemiripan yang tinggi satu sama lain dan sangat tidak mirip dengan obyek lain pada cluster yang berbeda (Kantardzic, 2001). Berbeda dengan klasifikasi, clustering tidak memerlukan kelas yang telah didefinisikan sebelumnya atau kelas hasil training, dengan demikian clustering dinyatakan sebagai bentuk pembelajaran berdasarkan observasi dan bukan berdasarkan contoh (Jiawei & Kamber, 2001).
10
Tahapan Clustering Clustering secara umum memiliki tahapan sebagai berikut (Jain et. al, 1999) : 1. Representasi Pola 2. Pengukuran Kedekatan Pola (Pattern Proximity) 3. Clustering 4. Abstraksi Data (jika dibutuhkan) 5. Penilaian Output (jika dibutuhkan). Adapun penjelasan dari tahapan-tahapan di atas adalah sebagai berikut : 1. Representasi Pola Ada beberapa model yang dapat digunakan untuk merepresentasikan dokumen dan secara umum dibagi menjadi dua kelompok, yaitu model klasik dan model alternatif. Model klasik terdiri dari model Boolean, model Ruang Vektor dan model Probabilistik. Model alternatif yang merupakan pengembangan dari model klasik, terdiri atas : Model Himpunan Fuzzy, Extended Boolean, Model Ruang Vektor General dan Jaringan Bayes (Baeza-Yates & Ribeiro-Neto, 1999). Pada penelitian ini, digunakan dua model representasi, yaitu model Boolean untuk menemukan dokumen dan model Ruang Vektor untuk representasi dokumen. a. Model Boolean Model boolean merepresentasikan dokumen sebagai suatu himpunan
kata-kunci
(set
of
keywords).
Sedangkan
query
direpresentasikan sebagai ekspresi boolean. Query dalam ekspresi
11
boolean merupakan kumpulan kata kunci yang saling dihubungkan melalui operator boolean seperti AND, OR dan NOT serta menggunakan tanda kurung untuk menentukan scope operator. Hasil pencarian dokumen dari model boolean adalah himpunan dokumen yang relevan. Kekurangan dari model boolean ini antara lain : 1. Hasil pencarian dokumen berupa himpunan, sehingga tidak dapat dikenali dokumen-dokumen yang paling relevan atau agak relevan (partial match). 2. Query dalam ekspresi boolean dapat menyulitkan pengguna yang tidak mengerti tentang ekpresi boolean. Walaupun demikian, karena sifatnya yang sederhana, hingga saat ini model Boolean masih dipergunakan oleh sistem temu kembali informasi modern, antara lain oleh www.google.com (Dominich, 2003). Kekurangan dari model boolean diperbaiki oleh model ruang vektor yang mampu menghasilkan dokumen-dokumen terurut berdasarkan kesesuaian dengan query. Selain itu, pada model ruang vektor query dapat berupa sekumpulan kata-kata dari penguna dalam ekspresi bebas.
b. Model Ruang Vektor Pada Model Ruang Vektor, teks direpresentasikan oleh vektor dari term (kata atau frase). Misalkan terdapat sejumlah n kata yang berbeda sebagai kamus kata (vocabulary) atau indeks kata (terms index). Kata-kata ini akan membentuk ruang vektor yang memiliki
12
dimensi sebesar n. Setiap kata i dalam dokumen atau query diberikan bobot sebesar wi. Baik dokumen maupun query direpresentasikan sebagai vektor berdimensi n. Sebagai contoh terdapat 3 buah kata (T1, T2 dan T3), 2 buah dokumen (D1 dan D2) serta sebuah query Q. Masing-masing bernilai : D1 = 2T1+3T2+5T3 D2 = 3T1+7T2+0T3 Q = 0T1+0T2+2T3 Maka representasi grafis dari ketiga vektor ini adalah :
Gambar 2.1 Representasi dokumen dan query dalam ruang vektor
Koleksi dokumen direpresentasi pula dalam ruang vektor sebagai matriks kata dokumen (terms-documents matrix). Nilai dari elemen matriks wij adalah bobot kata idalam dokumen j
13
Misalkan terdapat sekumpulan kata T sejumlah n, yaitu T = (T1, T2, … , Tn) dan sekumpulan dokumen D sejumlah m, yaitu D = (D1, D2, … , Dm) serta wi j adalah bobot kata i pada dokumen j (Gambar 2).
Gambar 2.2 Matriks Representasi Dokumen Untuk memberikan bobot numerik terhadap dokumen yang diquery, model mengukur vektor query dan vektor dokumen. Ada beberapa teknik untuk menghitung bobot. Yang paling banyak digunakan adalah Term Frekuensi (TF), Term Frekuensi Inverse Document Frequency (TFIDF) dan Salton. Pada Tf, bobot kata dinyatakan sebagai nilai log dari frekuensi kata pada dokumen. Tfd = log (1 + td),
(1)
Tfd = Nilai kata t pada dokumen d td = frekuensi kata t pada dokumen d. Tf-Idf merupakan pengembangan dari formula Tf, dengan memasukkan unsur frekuensi dokumen. Frekuensi dokumen adalah jumlah dokumen yang memiliki term t minimal 1. Formula Tf-Idf adalah :
14
TfIdf = Tf log
N dft
(2)
N = Jumlah seluruh dokumen dft = Jumlah dokumen yang memiliki kata t Dibandingkan Tf dan TfIdf, formula Salton merupakan formula yang memiliki unsur paling lengkap. Selain nilai frekuensi dan dokumen frekuensi kata, Salton juga memasukkan jumlah kata pada dokumen dan nilai frekuensi maksimum kata pada dokumen. Secara lengkap, formula Salton dinyatakan sebagai :
f ti N + 0 . 5 0 . 5 log Max f ki d ft k =1, 2 ,..., L (3) w _ term _ doc(t , d i ) = f ji log N Max 0.5 + 0.5 k =1, 2 ,..., L Max f ki d fj k =1, 2 ,..., L fit = frekuensi kemunculan istilah t pada dokumen di dft = jumlah dokumen yang mengandung istilah t L = jumlah istilah yang terdapat pada dokumen di N = jumlah dokumen
Semakin besar nilai w_term_doc(t,di), semakin penting istilah t pada dokumen di. Nilai w_term_doc(t,di) dinormalkan sehingga bernilai antara 0 dan 1. Setelah bobot istilah pada setiap dokumen dihitung, dokumen di dapat direpresentasikan sebagai vektor dokumen :
d i = wi1 , wi 2 ,..., wis
dimana wij = w_term_doc(tj, di)
merupakan bobot istilah tj pada dokumen di
( 0 ≤ wij ≤ 1 ) dan s
adalah jumlah istilah dari semua dokumen. Sehingga akhirnya kita
15
memiliki matriks U berukuran n x s dimana n adalah jumlah dokumen. Penentuan relevansi dokumen dengan query dipandang sebagai pengukuran kesamaan (similarity measure) antara vektor dokumen dengan vektor query. Semakin “sama” suatu vektor dokumen dengan vektor query maka dokumen dapat dipandang semakin relevan dengan query. Salah satu pengukuran kesesuaian yang baik adalah dengan memperhatikan perbedaan arah (direction difference) dari kedua vektor tersebut. Perbedaan arah kedua vektor dalam geometri dapat dianggap sebagai sudut yang terbentuk oleh kedua vektor. Gambar 3 mengilustrasikan kesamaan antara dokumen D1dan D2 dengan query Q. Sudut θ1 menggambarkan kesamaan dokumen D1 dengan query sedangkan sudut θ2 mengambarkan kesamaan dokumen D2 dengan query.
Gambar 2.3 Representasi grafis sudut antara vektor dokumen dan query
16
Jika Q adalah vektor query dan D adalah vektor dokumen, yang merupakan dua buah vektor dalam ruang berdimensi-n, dan θ adalah sudut yang dibentuk oleh kedua vektor tersebut. Maka Q • D = |Q| |D| cos θ2 Q • D adalah hasil perkalian dalam (inner product) kedua vektor,
| D |=
n
∑ Di 2 dan | Q |= i =1
n
∑ Qi
2
merupakan panjang vektor atau
i =1
jarak Euclidean suatu vektor dengan titik nol. Perhitungan kesamaan kedua vektor adalah sebagai berikut : Sim(Q,D) = cos(Q,D) = Metode
pengukuran
n Q•D 1 = ∑ Qi • Di | Q || D | | Q || D | i =1
kesesuaian
ini
memiliki
beberapa
keuntungan, yaitu adanya normalisasi terhadap panjang dokumen. Hal ini memperkecil pengaruh panjang dokumen. Jarak Euclidean (panjang) kedua vektor digunakan sebagai faktor normalisasi. Hal ini diperlukan karena dokumen yang panjang cenderung mendapatkan nilai yang besar dibandingkan dengan dokumen yang lebih pendek. Proses pemeringkatan dokumen dapat dianggap sebagai proses pengukuran vektor dokumen terhadap vektor query, ukuran kedekatan ditentukan oleh kosinus sudut yang dibentuk. Semakin besar nilai kosinus, maka dokumen dianggap semakin sesuai query. Nilai kosinus sama dengan 1 mengindikasikan dokumen sesuai dengan dengan query.
17
Model Ruang Vektor memiliki keunggulan antara lain : (1) skema pembobotan term dapat meningkatkan kinerja pengambilan (2) strategi partial matching memungkinkan penemuan dokumen yang mendekati query (3) formula kosinus dapat memberikan peringkat dokumen yang terambil berdasarkan kemiripan dengan query. Adapun kekurangan dari model ini adalah belum menangani term yang memiliki relasi dan proses perhitungan terhadap seluruh koleksi dokumen dapat memperlambat proses pencarian.
c. Model Probabilistik Model probabilistik mencoba menangkap masalah IR melalui prinsip peluang. Jika ada query q dan sebuah dokumen dj pada koleksi, model probabilistik mencoba menduga peluang pengguna menemukan dokumen dj yang dicari. Model berasumsi bahwa peluang relevansi hanya ditentukan oleh query dan representasi dokumen. Selanjutnya, model berasumsi bahwa ada subset himpunan dokumen yang pengguna lebih pilih sebagai jawaban query q. Jawaban ideal ini diberi label R dan bernilai maksimum diantara keseluruhan peluang relevansi dokumen. Dokumen pada R diduga relevan dan yang selainnya disebut tidak relevan. Nilai kemiripan sebauh dokumen dj terhadap query q dinyatakan dalam : _ P(k i | R ) 1 − P(k i | R) + log Sim(dj,q) ≈ ∑ wi ,q xwi , j x log _ 1 − P(k i | R) i =1 P (k i | R) t
18
P( ki | R) merupakan peluang term ki ada pada dokumen yang dipilih secara acak dari himpunan R. Karena pada awalnya kita tidak mengetahui himpunan R, maka dibutuhkan sebuah metode untuk _
menentukan nilai awal P (ki | R ) dan P ( ki | R ) . Pada saat permulaan _
sekali, diasumsikan nilai P (ki | R ) = 0.5 dan P ( k i | R ) =
ni dengan N
ni = jumlah dokumen yang mengandung term ki dan N adalah total seluruh dokumen. Selanjutnya nilai peringkat dapat diperbaiki menjadi : P(k i | R) =
_ Vi n − Vi dan P ( k i | R ) = i V N −V _
Formula terakhir untuk P ( ki | R ) dan P ( ki | R ) untuk nilai Vi dan V yang sangat kecil (misalkan V = 1 dan Vi = 0) adalah :
ni n ni − Vi + i _ N dan P(k | R) = N P(k i | R) = i V +1 N −V +1 Vi +
Model probabilistik memiliki keunggulan : dokumen dapat diberikan peringkat secara menurun berdasarkan peluang sebuah dokumen relevan terhadap query. Adapun kekurangannya adalah (1) perlu menduga pembagian awal dokumen terhadap himpunan yang relevan dan non-relevan. (2) tidak memperhitungkan frekuensi term pada dokumen (3) asumis bahwa term saling independen satu sama lain
19
d.
Model Alternatif Ketiga model tersebut di atas merupakan model klasik yang sudah cukup lama dikembangkan.
Selain model tersebut, juga
terdapat model alternatif yang merupakan pengembangan dari model klasik, antara lain : Model Himpunan Fuzzy, Extended Boolean, Model Ruang Vektor General dan Jaringan Bayes (Baeza-Yates & Ribeiro-Neto, 1999).
2. Pengukuran Kedekatan Pola (Pattern proximity) Kedekatan pola diukur berdasarkan fungsi jarak antara dua ciri. Jarak digunakan untuk mengukur ke(tidak)miripan antara dua obyek data. Kemiripan merupakan salah satu landasan dari definisi cluster. Ada banyak cara untuk menghitung jarak, namun pada tesis ini hanya akan dibahas tiga jarak yang paling banyak digunakan. Dan diantara ketiga jarak tersebut, yang paling populer adalah jarak Euclid. a. Jarak Minkowski Didefinisikan sebagai :
(
d (i, j ) = q xi1 − x j1 + xi 2 − x j 2 + ... + xip − x jp q
q
q
)
(4)
dengan d(i,j) = jarak Minkowski antara data ke-i dan data ke-j, x = obyek data, p = banyaknya atribut data, dan q adalah bilangan bulat positif, b. Jarak Manhattan Jarak Manhattan merupakan kasus khusus (q=1)dari Jarak Minkowski.
20
d (i, j ) = xi1 − x j1 + xi 2 − x j 2 + ... + xip − x jp ,
(5)
c. Jarak Euclid Sama seperti Jarak Manhattan, jarak Euclid merupakan kasus khusus dari jarak Minkowsi dengan q=2 d (i, j ) =
(x
2
i1
2
− x j1 + xi 2 − x j 2 + ... + xip − x jp
2
).
(6)
3. Clustering Dilihat dari struktur data yang dihasilkan, metode clustering dapat dikelompokkan menjadi berjenjang (hierarcy) dan partisi (partition). Algoritma clustering berjenjang dibagi dua, agglomerative (bottom-up) dan
divisive
(top-down).
Algoritma
aglomerative
(Agglomerative
Hierarchical Clustering (AHC) merupakan salah satu algoritma berjenjang yang banyak dipakai untuk document clustering (Mendes & Sacks, 2003). Pembagian metode clustering selengkapnya dapat dilihat pada Gambar 2.1. Pada level yang paling atas, ada pendekatan hirarki dan partisi (metode hirarki menghasilkan partisi yang bertingkat, sedangkan metode partisi hanya menghasilkan satu tingkat).
21
Clustering
Partisi
Hirarki
Single Link
Complete Link
Error Kuadrat
Teori Graf
K-means
Mixture Resolving
Mode Seeking
Expectation Maximation
Gambar 2.4 Taksonomi Metode Clustering (Jain et. al., 1999). 3.1 Algoritma Clustering Hirarki Kebanyakan algoritma clustering hirarki merupakan variasi dari algoritma Single-Link dan Complete-Link. Kedua algoritma ini memiliki perbedaan pada cara menentukan jarak antara dua cluster. Pada metode single-link, jarak antara dua cluster adalah jarak minimum antara sepasang pola (satu pola dari satu cluster dan lainnya dari cluster kedua). Pada algoritma complete-link, jarak antara dua cluster adalah jarak maksimum antara sepasang pola pada dua cluster. Algoritma Clustering Agglomerative Hirarki : 1. Jadikan setiap dokumen sebagai cluster, sehingga jika ada n data, akan dihasilkan cluster sebanyak n. 2. Gabungkan dua cluster yang memiliki derajat kemiripan paling besar (jarak terkecil) menjadi satu cluster 3. Jika derajat kemiripan antara dua cluster kurang dari ambang batas α, dengan nilai α ∈ [0,1] maka berhenti , bila tidak maka kembali ke langkah 2
22
3.2 Algoritma Clustering Partisi Algoritma clustering partisi menghasilkan partisi satu level dan bukan struktur cluster berjenjang seperti Dendogram yang dihasilkan oleh algoritma hirarki. Metode partisi memiliki keunggulan pada aplikasi yang melibatkan data yang sangat besar yang apabila menggunakan Dendogram sangat memakan waktu komputasi. Masalah yang muncul pada saat menggunakan algoritma clustering adalah menentukan jumlah cluster yang diinginkan. Metode partisi biasanya menghasilkan cluster dengan mengoptimalkan fungsi kriteria yang didefinisikan secara lokal (pada sub pola) atau secara global (pada seluruh pola).
a. Error Kuadrat Fungsi kriteria yang paling sering digunakan pada metode clustering partisi adalah fungsi error kuadrat (e2). Tujuan dari algoritma ini adalah meminimalkan fungsi error kuadrat : K
e2 = ∑ j =1
nj
∑
2
xij − c j ,
(7)
i =1
dengan xij adalah pola i pada cluster j dan cj
adalah pusat
(centroid) cluster j. K-Means adalah algoritma yang menerapkan fungsi error kuadrat yang paling sederhana dan paling banyak dipakai. Algoritma K-Mean populer karena : (a) implementasinya mudah (b) kompleksitas waktunya adalah O(n), dengan n adalah jumlah pola dan (c) kompleksitas ruang memori adalah O(k+n).
23
Permasalahan pada algoritma ini adalah sangat peka terhadap partisi awal (inisial) dan jika partisi inisial tidak dipilih secara tepat, algoritma dapat konvergen pada lokal minimum. Kekurangan Algoritma K-Means lainnya adalah (a) hanya bisa diterapkan jika rataan (mean) dapat didefinisikan, (b) perlu menentukan nilai k (jumlah cluster) dan (c) tidak dapat menangani data yang noisy dan pencilan. Algoritma K-Means : 1. Pilih titik sebanyak K sebagai pusat inisial (K = jumlah cluster)
2. Letakkan semua titik pada pusat terdekat 3. Tentukan kembali pusat pada setiap cluster 4. Ulangi langkah 2 dan 3 hingga centroid tidak berubah
b. Teori Graf Algoritma
clustering
teori
graf
dibangun
berdasarkan
pembentukan Minimum Spanning Tree (MST) data dan cluster dibentuk dengan memutus rusuk MST dengan panjang terbesar.
Gambar 2.2 menggambarkan MST yang dihasilkan dari 9 titik berdimensi dua. Dengan memutus link CD dengan panjang 6 unit (rusuk dengan jarak Euclid terbesar) akan diperoleh dua cluster ({A,B,C}) dan {D,E,F,G,H,I}). Cluster kedua, selanjutnya dapat dibagi lagi menjadi dua cluster dengan memutus rusuk EF, yang memiliki panjang 5 unit. Algoritma clustering teori graf termasuk algoritma divisive.
24
H G 2.3
2
I 1 F
5 A
B
2 2
6 D
C
1
E
Rusuk dengan panjang maksimum
Gambar 2.5 Penggunaan MST untuk membentuk cluster (Jain et al, 1999). c. Mixture Resolving Pendekatan Mixture-Resolving untuk clustering memiliki asumsi bahwa pola yang akan dijadikan cluster berasal dari satu atau beberapa sebaran (Normal, Poisson dan (paling banyak) Gaussian).
Tujuan
dari
algoritma
ini
adalah
untuk
mengidentifikasi parameter-parameter dari sebaran-sebaran ini. (Grira et. al., 2004). Taksonomi clustering (Gambar 2.1) juga memerlukan pembahasan aspek-aspek lain yang dapat mempengaruhi metode-metode clustering tanpa memperhatikan posisi metode clustering pada taksonomi (Jain et. al., 1999). Antara lain : a. Agglomerative vs divisive: Aspek ini berkaitan dengan struktur algoritma dan operasi. Pendekatan agglomerative diawali dengan menjadikan setiap pola sebagai sebuah cluster dan terus-menerus menggabungkan cluster hingga kriteria pemberhentian terpenuhi. Metode divisive diawali dengan menggabungkan semua pola sebagai
25
satu cluster dan dilakukan pemecahan hingga kriteria pemberhentian terpenuhi. b. Monothetic vs polythetic: aspek ini berkaitan dengan penggunaan ciri pada proses clustering secara bersamaan atau satu persatu. Kebanyakan algoritma bersifat polythetic, artinya semua ciri dimasukkan dalam perhitungan jarak antara pola dan keputusan diambil berdasarkan jarak tersebut. Sedangkan monothetic, ciri diambil satu persatu untuk membentuk cluster. Masalah utama dengan algoritma ini adalah ia menghasilkan 2d cluster (d adalah dimensi pola). Pada aplikasi temu-kembali informasi, untuk nilai d yang besar (d > 100), jumlah cluster yang dihasilkan oleh algoritma monothetic sangat banyak sehingga data terpecah menjadi cluster yang kecil. c. Hard vs fuzzy: algoritma clustering tegas menempatkan setiap pola pada sebuah cluster baik selama proses maupun sebagai hasil akhir. Metode fuzzy clustering memberikan pola derajat keanggotaan pada beberapa cluster. Metode fuzzy clustering dapat diubah menjadi clustering yang tegas dengan menjadikan pola sebagai anggota sebuah cluster yang memiliki derajat keanggotaan terbesar.
d. Supervised vs unsupervised: Aspek ini penentuan jumlah cluster. Algoritma terawasi (supervised) adalah algoritma clustering yang jumlah cluster yang akan dihasilkan sudah ditentukan sebelumnya (melalui
input
manual).
Sedangkan
algoritma
tak-terawasi
(unsupervised), banyaknya cluster tidak ditentukan (algoritma yang menentukan).
26
e. Incremental vs non-incremental: isu ini muncul ketika pola yang akan dikelompokan sangat besar ukurannya dan ada pembatasan waktu eksekusi atau ruang memori yang mempengaruhi arsitektur algoritma.
4. Representasi Cluster Merupakan proses deskripsi atau pemberian nama kepada cluster yang dihasilkan. Ada tiga cara atau skema representasi cluster : (a) representasi cluster dengan pusat (centroid) cluster atau sejumlah titik yang berjauhan pada cluster (Gambar 2.3), (b) representasi cluster menggunakan nodes pada pohon klasifikasi dan (c) Representasi cluster menggunakan ekspresi logika conjunctive (Gambar 2.4). Dari ketiga skema representasi cluster, penggunaan centroid merupakan teknik yang paling populer (Michalski et. al., 1981). Representasi cluster memiliki fungsi antara lain untuk : (a) memberikan deskripsi cluster yang sederhana dan intuitive sehingga memudahkan pemahaman manusia, (b) membantu kompresi data yang dapat dieksploitasi oleh komputer (c) meningkatkan efisiensi pengambilan keputusan (Jain et. al., 1999). X1
Dengan Centroid
X2
Dengan tiga titik berjauhan
Gambar 2.6 Representasi cluster menggunakan titik (Jain et. al., 1999).
27
Gambar 2.7 (a) Representasi cluster menggunakan Pohon Klasifikasi dan (b) Pernyataan Conjunctive (Jain et. al., 1999).
D. Sistem Fuzzy 1. Gugus Fuzzy Gugus Fuzzy pertama kali diperkenalkan oleh Prof. L. A. Zadeh dari Berkley pada tahun 1965. Pada 10 tahun pertama. Gugus fuzzy merupakan pengembangan dari gugus biasa. Rerpresentasi abstrak dari sebuah gugus universal tampak seperti pada Gambar 2.5. X
x
Gambar 2.8 Anak Gugus Fuzzy (Marimin, 2005) Bingkai persegi panjang merepresentasikan gugus universal X, dan lingkaran yang terputus-putus menggambarkan batas ambigous dari elemen yang terdapat di dalam atau diluar X, sedangkan A adalah gugus fuzzy dalam X.
28
Teori gugus fuzzy mendefinisikan derajat di mana elemen x dari gugus univerasal X berada (tercakup) di dalam gugus fuzzy A. Fungsi yang memberikan derajat terhadap sebuah elemen mengenai keberadaannya dalam sebuah gugus disebut fungsi keanggotaan. Dalam kasus ini, anggota dari gugus X adalah elemen x. Sebagai contoh, derajat keanggotaan dari elemen x dalam area A diekspresikan oleh :
µ A (x1) = 1,
µ A (x2) = 0.8
µ A (x3) = 0.3,
µ A (x4) = 0
µ A adalah fungsi keanggotaan yang memberikan derajat keanggotaan yang berada pada suatu selang tertentu, yaitu selang [0,1]. Tulisan subscript di sebelah
µ , yaitu A, menunjukkan bahwa µ A adalah fungsi
keanggotaan dari A (Marimin, 2005).
2. Fungsi Keanggotaan Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi. Beberapa fungsi yang dapat digunakan adalah sebagai berikut (Kusumadewi, 2003):
a.
Kurva Triangular Fungsi keanggotaan dari kurva triangular adalah seperti pada persamaan (6) dan gambar kurvanya seperti pada Gambar 2.6.
, x ≤ a atau x ≥ c 0 µ [x ] = ( x − a ) / (b − a ) , a ≤ x ≤ b (c − x ) / (c − b ) , b ≤ x ≤ c
(8)
29
Gambar 2.9 Kurva triangular untuk a=3, b=6, dan c=8 b.
Kurva Trapezoidal Kurva trapezoidal mempunyai fungsi keanggotaan sebagai berikut:
0 (x − a ) (b − a ) µ [x ] = 1 (d − x ) (d − c )
, x ≤ a atau x ≥ d ,a ≤ x ≤ b (9)
,b ≤ x ≤ c ,c ≤ x ≤ d
Gambar 2.10 Kurva trapezoidal untuk a=1, b=5, c=7, dan d=8 c.
Kurva Generalizzed bell Untuk kurva Generalzzed bell, fungsi keanggotaannya terlihat pada persamaan (8) dengan gambar kurva pada Gambar 2.8.
30
µ [x ] =
1 x−c 1+ a
2b
(10)
Gambar 2.11 Kurva Generalizzed bell untuk a=2 , b=4 , dan c=6 d.
Kurva Gaussian Fungsi keanggotaan Gaussion seperti terlihat pada persamaan (9) dengan gambar kurva seperti terlihat pada Gambar 2.9.
µ [x ] = e
− ( x − c )2 2σ 2
(11)
Gambar 2.12 Kurva Gaussian untuk σ=2 dan c=5
31
e.
Kurva Two-sided Gaussian Kurva Two-sided Gaussian mempunyai fungsi keanggotaan seperti pada persamaan (10) dan gambar kurva seperti pada Gambar 2.10.
µ [x ] = e
− ( x − c )2 2σ 2
(12)
Fungsi Two-sided Gaussian merupakan kombinasi dua kurva Gaussian. Kurva pertama dengan parameter σ1 dan c1 berada disebelah kiri. Kurva kedua ada dengan parameter σ2 dan c2 berada disebelah kanan. Daerah antara c1 dan c2 harus bernilai 1.
Gambar 2.13 Kurva Two-sided Gaussian untuk σ1=2, c1=4 dan σ2=1, c2=8 f.
Kurva S Kurva S mempunyai fungsi keanggotaan seperti pada persamaan (11) dengan gambar kurva pada Gambar 2.11.
32
0 x − a 2 2 b−a µ [x ] = 2 1 − 2 b − x b−a 1
,x ≤ a ,a ≤ x ≤
a+b 2
a+b ≤ x≤b , 2
(13)
,x ≥b
Gambar 2.14 Kurva S untuk a=1 dan b=8 E. Fuzzy Clustering Proses clustering pada dasarnya merupakan proses pembuatan gugus atau himpunan yang memiliki anggota elemen-elemen yang akan dicluster. Pada algoritma clustering non-fuzzy, nilai keanggotaan suatu elemen terhadap gugus atau cluster dinyatakan sebagai 0 atau 1, artinya setiap dokumen hanya bisa menjadi anggota satu cluster (1 sebagai anggota dan 0 bukan anggota). Padahal, pada temu kembali informasi, dokumen dapat memiliki informasi yang relevan (dengan derajat tertentu) dengan beberapa cluster yang berbeda. Dengan fuzzy clustering, dokumen dapat menjadi anggota beberapa cluster sekaligus. Algoritma fuzzy clustering untuk document clustering masih menjadi salah satu topik yang menarik untuk dieksplorasi.
33
1. Fuzzy C-Means (FCM) Ada beberapa algoritma fuzzy clustering, salah satu diantaranya adalah Algoritma Fuzzy C-Means (FCM). FCM adalah suatu teknik
clustering data dengan keberadaan setiap titik data dalam suatu cluster ditentukan
oleh
derajat
keanggotaan.
Teknik
ini
pertama
kali
diperkenalkan oleh Jim Bezdek (Bezdek, 1981). Algoritma FCM diawali dengan menentukan derajat keanggotaan (secara acak) setiap titik data terhadap cluster. Berdasarkan derajat keanggotaan, kemudian ditentukan pusat cluster. Pada kondisi awal, pusat
cluster tentu saja masih belum akurat. Derajat keanggotaan selanjutnya diperbaiki berdasarkan fungsi jarak antara titik data dengan pusat cluster (Nascimento et. al., 2003). Dengan memperbaiki pusat cluster dan derajat keanggotaan tiap titik data secara berulang dan terus menerus, maka pusat cluster akan bergeser ke titik yang tepat (dengan kondisi total jarak antara titik data dengan pusat cluster telah mencapai nilai yang diinginkan). Output FCM adalah deretan pusat cluster dan derajat keanggotaan data terhadap setiap cluster (Kusumadewi dan Purnomo, 2004).
Algoritma FCM Algoritma FCM adalah sebagai berikut (Kusumadewi & Purnomo, 2004) : 1
Tentukan X sebagai input data yang akan dijadikan cluster dalam bentuk matriks berukuran n x m; dimana n = jumlah sampel data dan
34
m = jumlah atribut setiap data. Xij = data sample ke-i (i= 1,2,3 …, n), atribut ke-j (j = 1,2,3,…,m). 2
3
Tentukan : - Jumlah cluster
= c;
- Pangkat
= w;
- Maksimum iterasi
= MaxIter;
- Error terkecil yang diinginkan
=ξ;
- Fungsi obyektif awal
= P0 = 0;
- Iterasi awal
= t = 1;
Bangkitkan bilangan random uik, i = 1,2,..,n; k=1,2,...,c; sebagai elemen-elemen matriks partisi awal U. Hitung jumlah setiap kolom (atribut) : c
Q j = ∑ uik
j=1,2,…,m
(14)
k =1
µ ik =
Kemudian hitung : 4
u ik Qj
(15)
Hitung pusat cluster ke-k : Vkj, dengan k=1,2,…,c; dan j=1,2,…,m.
∑ ((µ ) n
w
ik
* X ij
)
i =1
Vkj =
n
∑ (µ )
(16)
w
ik
i =1
5
Hitung fungsi keanggotaan pada iterasi ke-t, Pt : −1
µ ik =
2 w −1 m ( ) X V − ∑ ij kj j =1 −1
w −1 m 2 ( ) X V − ∑ ij ∑ kj k =1 j =1 c
(17)
35
6
Hitung perubahan matriks partisi : n
Pt = ∑ i =1
c
∑ k =1
m ∑ (X ij − Vkj )2 (µ ik )w j =1
(18)
dengan: i=1,2,...,n; dan k=1,2,...,c. 7
Periksa kondisi berhenti : - Jika: ( | Pt – Pt-1 | < ξ) atau (t > maxIter) maka berhenti; - Jika tidak: t = t + 1, ulangi langkah ke-4
2. Hyperspherical Fuzzy C-Means Jarak Euclid yang sering digunakan pada algoritma FCM, ternyata bukan merupakan ukuran yang paling cocok untuk membandingkan vector dokumen. Adapun penjelasannya adalah sebagai berikut : misalkan ada dua dokumen XA dan XB yang terdiri dari set term T sebanyak k dengan asumsi kebanyakan term pada T (k’) tidak muncul pada XA dan XB. Diasumsikan juga vektor XA dan XB tidak memiliki term yang sama. Sehingga XA dan XB memiliki banyak memiliki nilai 0 dan jarak Euclid antara keduanya relatif kecil. XA dan XB dinyatakan mirip, padahal yang sesungguhnya tidak. Masalah pada fungsi Euclid adalah ketiadaan term pada dua dokumen dianggap sama dengan kehadiran term yang sama pada dua dokumen. Oleh karena itu, perlu dipikirkan cara atau metode lain yang lebih baik dari jarak Euclid. Mendez & Sacks (2003), mencoba menggunakan Ukuran Kemiripan Kosinus (Cosine Similarity) untuk menggantikan jarak Euclid. Ukuran Kosinus (
) adalah inner product dari vektor (
dan
)
36
setelah dinormalisasi (
). Semakin tinggi nilai kosinus,
semakin tinggi derajat kemiripan antar dokumen.
(19) memiliki sifat :
dan
Dengan transformasi sederhana, diperoleh ukuran ketidakmiripan :
(20) dan Berdasarkan
eksperimen,
Mendes
&
Sacks
(2003)
berhasil
membuktikan bahwa Ukuran Kemiripan Kosinus menghasilkan hasil cluster yang lebih baik dibandingkan dengan Jarak Euclid. Adapun fungsi
obyektif yang digunakan adalah :
(21) Karena
tidak mencerminkan derajat keanggotaan (
), maka
perlu dihitung dengan menggunakan rumus :
(22)
37
Fungsi Keanggotaan FCM dan H-FCM Data menjadi anggota sebuah cluster berdasarkan fungsi keanggotaan. Sebagai contoh, diberikan sekelompok data berdimensi tunggal (Gambar 2.12),
Gambar 2.15 Sebaran data pada dimensi tunggal Misalkan teridentifikasi dua cluster (A dan B). Pada algoritma K-Means, fungsi keanggotaan menjadi :
Gambar 2.16 Kurva S untuk a=1 dan b=8 Pada algoritma FCM & H-FCM, sebuah data tidak secara eksklusif menjadi anggota sebuah cluster. Dalam hal ini, kurva fungsi keanggotaan berbentuk sigmoid untuk menyatakan bahwa setiap data dapat menjadi anggota beberapa cluster dengan derajat keanggotaan yang berbeda (Gambar 2.14).
38
Gambar 2.17 Fungsi keanggotaan algoritma FCM & H-FCM 3. Fuzzy Substractive Clustering (FSC) FCM adalah algoritma clustering yang terawasi, sebab pada FCM kita harus terlebih dahulu menentukan banyaknya cluster yang akan dibentuk. Menentukan banyaknya cluster yang tepat merupakan permasalahan utama dalam pendekatan ini (Geva, 1999). Apabila banyaknya cluster belum diketahui, maka kita harus menggunakan algoritma yang
tak-terawasi (banyaknya cluster ditentukan oleh
algoritma). FSC merupakan algoritma clustering yang tak-terawasiyang diperkenalkan pertama kali oleh Chiu pada tahun 1994 (Chiu, 1994). Algoritma Subtractive Clustering dibangun berdasarkan ukuran kepadatan (density) titik data dalam suatu ruang (peubah). Konsep dasar subtractive clustering adalah menentukan daerah peubah yang memiliki
kepadatan data yang tinggi. Titik dengan jumlah tetangga terbanyak akan dipilih sebagai pusat cluster. Titik yang terpilih akan dikurangi tingkat kepadatannya. Kemudian algoritma akan memilih titik lain yang memiliki
39
tingkat kepadatan tertinggi lainnya untuk dijadikan sebagai pusat cluster yang lain (Kusumadewi & Purnomo, 2004). Apabila terdapat N buah data: X1, X2, .., Xn dan dengan menganggap data sudah dalam keadaan normal, maka densitas titik Xk dapat dihitung sebagai : N Xk − X j Dk = ∑ exp − (r 2)2 j =1
(23)
Dengan X k − X j adalah jarak antara Xk dengan Xj, dan r adalah konstanta positif yang kemudian akan dikenal dengan nama jari-jari (influence range) r. Jari-jari adalah vektor yang akan menentukan seberapa besar pengaruh pusat cluster pada tiap-tiap variabel. Dengan demikian, suatu titik data akan memiliki nilai kepadatan yang besar jika dia memiliki banyak tetangga didekatnya. Setelah menghitung nilai kepadatan setiap titik, maka titik dengan kepadatan tertinggi akan dipilih sebagai pusat cluster. Misalkan Xc1 adalah titik yang terpilih sebagai pusat cluster, sedangkan Dc1 adalah ukuran kepekatannya. Selanjutnya kepekatan dari titik-titik disekitarnya akan dikurangi menjadi X k − X c1 Dk = Dk − Dc1 ∗exp − (rb 2)2
(24)
dengan rb = q*ra (biasanya squash factor (q) = 1.5). Artinya titiktitik yang ada dekat dengan cluster Xc1 akan mengalami pengurangan kepekatan cukup besar. Hal ini menyebabkan titik tersebut akan sulit
40
menjadi pusat cluster berikutnya. Biasanya nilai rb bernilai lebih besar dari jari-jari (r). Setelah kepekatan tiap titik disesuaikan, maka selanjutnya akan dicari pusat cluster yang kedua, yaitu Xc2. Sesudah Xc2 didapat, ukuran kepekatan
tiap
titik
disekitarnya
disesuaikan
kembali,
demikian
seterusnya. Penerimaan dan penolakan suatu titik data menjadi pusat cluster ditentukan oleh nilai Rasio, Rasio Terima dan Rasio Tolak. Rasio adalah perbandingan nilai kepekatan suatu data pada perulangan ke-i (i > 1) dengan nilai kepekatan data pada perulangan pertama (i=1). RasioTerima dan RasioTolak merupakan konstanta bernilai antara 0 dan 1 yang digunakan sebagai ukuran untuk menerima dan menolak sebuah titik data kandidat pusat cluster menjadi pusat cluster. Ada 3 kondisi yang mungkin terjadi: a. Jika Rasio > RasioTerima, maka titik data tersebut diterima sebagai pusat cluster baru b. Jika RasioTolak < Rasio < RasioTerima, maka kandidat dapat diterima sebagai pusat cluster jika kandidat memiliki jarak yang cukup jauh dengan pusat cluster terdekat (rasio + jarak dengan pusat cluster terdekat ≥ 1). Sebaliknya jika rasio + jarak dengan pusat data terdekat < 1, maka dia ditolak sebagai pusat cluster. c. Jika Rasio ≤ RasioTolak, maka sudah tidak ada lagi titik data yang akan dipertimbankan sebagai kandidat pusat cluster, perulangan dihentikan.
41
Algoritma Fuzzy Subtractive Clustering Algoritma Fuzzy Subtractive Clustering adalah sebagai berikut (Kusumadewi & Purnomo, 2004) : 1
Tentukan Xij sebagai input data yang akan dicluster i=1,2,...,n; j=1,2,...,m (n = jumlah sampel data dan m = jumlah atribut setiap data)
2
Tetapkan nilai : a. rj (jari-jari setiap atribut data); j=1,2,...,m b. q (squash factor); c. Accept ratio d. Reject Ratio e. XMin (minimum data diperbolehkan) f. XMax (maksimum data diperbolehkan).
3
Normalisasi :
X ij = 4
X ij − XMin j XMax j − XMin j
, i = 1,2,...,n; j=1,2,...,m;
(25)
Tentukan potensi awal setiap titik data a. i = 1; b. Kerjakan hingga i = n : •
Ti = Xij
•
Hitung :
j=1,2,...,m
T j − X kj Dist kj = r •
j=1,2,...,m; k=1,2,...,n;
(26)
Potensi awal : Jika m = 1, maka
42
D1 = ∑ e − 4 (Dist k 1 ) n
2
(27)
k =1
Jika m > 1, maka n
Di = ∑ e
(
−4 Distkj2
) (28)
k =1
i=i+1 4
Cari titik dengan potensi tertinggi a. M = max[Di | i=1,2,...,n] b. H = i, sedemikian sehingga Di = M;
5
Tentukan pusat cluster dan kurangi potensinya terhadap titik-titik di sekitarnya a. Center =[] b.Vj = Xhj; j=1,2,...,m c. C = 0 (jumlah cluster) d.Kondisi = 1; e. Z = m f. Kerjakan jika (kondisi ≠ 1) dan (z ≠ 0) •
Rasio = z/M
•
Jika Rasio > accept_ratio : - Md = -1; - Kerjakan untuk i=1 sampai i = C: i. Gij =
V j − Centerij r
ii. Sd i = ∑ (Gij ) m
2
j=1,2,...,m
(29)
(30)
j =1
43
iii. Jika (Md < 0) atau (Sd < Md), maka Md = Sd; -
Smd =
Md
-
Jika rasio + Smd ≥ 1, maka kondisi = 1; (Data diterima sebagai pusat cluster)
-
Jika rasio + Smd < 1, maka kondisi = 2; (Data tidak akan dipertimbangkan kembali sebagai pusat cluster).
•
Jika Kondisi = 1 lakukan : - C = C + 1; - Centerc = V; - Kurangi potensi dari titik-titik dekat pusat cluster :
S ij =
V j − X ij r j *q
; j=1,2,...,m; i=1,2,...,n;
Dci = M * e
m −4 S ij j =1
(31)
∑ ( )2
i=1,2,...,n
(32)
i. Dci = M *e ; i=1,2,...,n.
(33)
ii. D = D – Dc
(34)
iii. Jika Di ≤ 0, maka Di = 0;
i =1,2,...,n.
iv. Z = max[Di |i=1,2,...,n] v. Pilih h = 1, sedemikian sehingga Di=Z •
Jika kondisi = 2 - Dh = 0; - Z = max[Di |i=1,2,...,n] - Pilih h = i, sedemikian sehingga Di=Z;
6
Kembalikan pusat cluster dari bentuk normal ke bentuk semula
44
Centerij = Centerij * (Xmaxj – Xminj) + Xminj; 7
(35)
Hitung nilai sigma cluster
σ j = r j * ( XMax j − XMin j ) / 8
(36)
Hasil dari algoritma Subtractive Clustering ini adalah matriks pusat cluster (C) dan sigma ( σ ) yang akan digunakan untuk menentukan nilai parameter fungsi keanggotaan Gauss, seperti terlihat pada Gambar 2.12.
µ [x ] = 0.5
σ
c
σ
Gambar 2.18 Fungsi keanggotaan kurva Gauss (Kusumadewi & Purnomo, 2004) Dengan kurva Gauss pada Gambar 2.12, maka derajat keanggotaan titik data Xi pada cluster k dapat ditentukan sebagai :
µ ki = e
−
m
(xij −Ckj )2
j =1
2σ 2j
∑
(37)
F. Clustering dalam Sistem Temu Kembali Informasi Tujuan dari setiap algoritma clustering adalah untuk mengelompokkan elemen data berdasarkan ukuran ke(tidak)miripan sehingga relasi dan struktur data yang tidak terlihat dapat diungkapkan. Document clustering untuk temukembali informasi telah mulai dipelajari beberapa dekade yang lalu untuk
45
meningkatkan kinerja pencarian dan efisiensi pengambilan (Mendes dan Sacks, 2003). Penggunaan clustering didasarkan pada hipotesis cluster yaitu : “dokumen yang relevan dengan query yang diberikan, cenderung mirip satu sama lain dibandingkan dengan dokumen yang tidak relevan, oleh karena dokumen yang relevan dapat dikelompokkan dalam cluster” (Rijsbergen, 1979). Selain itu, clustering juga dapat digunakan untuk browsing koleksi dokumen yang sangat besar dan sebagai alat untuk mengatur senarai dokumen hasil query menjadi kelompok-kelompok yang memiliki makna (Cutting at. al, 1992). Penelitian Leuski juga berhasil menunjukkan bahwa ternyata metode clustering lebih efektif dalam membantu pengguna untuk menemukan informasi dibandingkan dengan metode senarai (Leuski, 2001). Dilihat dari urutan pengerjaannya, clustering dalam temu-kembali informasi dibagi dua jenis, sebelum pencarian (static clustering) dan sesudah pencarian (post-retrieval clustering) (Tombros, 2002).
Penelitian Terdahulu Berdasarkan kajian literatur yang penulis lakukan, penelitian untuk meningkatkan efektifitas temu-kembali informasi kebanyakan menggunakan model document clustering. Model clustering yang paling banyak digunakan adalah model hirarki dan partisi (Tabel 1). 1. Penelitian pada temu-kembali informasi fuzzy yang lebih komprehensif dilakukan oleh Horng et. al. (2005). Pertama kali, Horng et. al. menggunakan algoritma Fuzzy Agglomerative Hierarchical Clustering untuk membentuk document cluster. Kemudian berdasarkan document
46
cluster dan pusat dokumen, dibangun aturan logika fuzzy logic. Terakhir, mereka mengaplikasikan aturan logika fuzzy untuk mengembangkan query pengguna untuk menemukan dokumen yang relevan dengan permintaan pengguna. Implementasi aturan logika fuzzy pada query pengguna menjadikan metode temu-kembali informasi fuzzy lebih efektif, fleksibel dan cerdas.
Tabel 2.1 Penelitian tentang document clustering Algoritma Clustering
Jenis
Fuzzy
1
Horng et. al. 2005
Pustaka
Fuzzy Agglomerative Hierarchical
Hirarki
Ya
2
Lian et. al. 2004
S-Grace
Hirarki &
Tidak
Graf 3
4
Shyu et. al. 2004
Fung et. al. 2003
PAM, Single-Link, Group Average-
Partisi &
Tidak
Link & Complete-Link
Hirarki
Frequent Itemset-based
Hirarki
Tidak
Hirarki Partisi
Ya Ya
Partisi
Ya
Hierarchical Clustering (FIHC) 5 6
7
Wallace et. al. 2003 Mendes & Sacks.
Fuzzy Agglomerative Hierarchical Hyperspherical Fuzzy c-Means (H-
2003
FCM)
Leuski. 2001
ε-Insentive Fuzzy C-Means (εFCM)
8
Maarek et. al. 2000
Agglomerative Hierarchical
Hirarki
Tidak
9
Rüger & Gauch. 2000
Buckshot
Partisi
Tidak
2. Lian et. al. (2004) melakukan clustering terhadap dokumen XML dengan mengusulkan algoritma S-Grace. Pada algoritma S-Grace, digunakan Teori Graf untuk mengukur jarak antara dokumen dengan sekelompok dokumen. Walaupun masih sangat memakan waktu, algoritma S-Grace efektif untuk meng-cluster dokumen XML. 3. Shyu et. al. (2004) menggunakan pola akses pengguna pada web untuk meng-cluster dokumen. Pola akses diperoleh dari log server yang
47