Implementasi Hypergraph Partitioning untuk Ekstraksi Topik Gestyana Ari Restanti1, Diana Purwitasari2 Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember 1
[email protected] 2
[email protected]
kata. Untuk mengekstrak topik sama halnya dengan mempartisi hyper(graph) kedalam sub-sub graph. Dimana sub-graph tersebut berisi daftar kata yang diharapkan merupakan penggambaran dari suatu topik. Hypergraph adalah suatu bentuk graph dimana edgenya dapat menghubungkan lebih dari dua verteks, yang disebut juga hyperedge. Sedangkan hypergraph partitioning adalah suatu proses untuk membagi - bagi hypergraph ke dalam sub – sub hypergraph atau graph. Permasalahan yang timbul adalah bagaimana membagi hypergraph sedemikian hingga sehingga jumlah hyperedge yang dihilangkan tetap minimal dan sesuai dengan batasan yang diberikan. Aplikasi hMetis (Karypis & Kumar, Universitas Minnesota), MLPart (Caldwell, Kahng, & Markov, UCLA), Mondriaan (Bisseling & Meesen, Ultrecth University), Parkway, PaToH, serta Zoltan-PHG merupakan beberapa aplikasi untuk hypergraph partitioning. Namun, aplikasi – aplikasi tersebut hanya didapat dalam bentuk binary (.exe), sehingga tidak diketahui secara jelas prosesnya. Dan dalam penggunaannya memiliki beberapa batasan yang harus dipenuhi, seperti format masukan. Dalam hMetis format masukan berupa file text, sedangkan MLPart menggunakan Bookshelf Benchmark (format yang digunakan dalam VLSI). Untuk lebih memahami cara kerja hypergraph partitioning yang ada serta mengimplementasikannya dalam ekstraksi topik, dalam paper ini digunakan algoritma Fiduccia-Mattheyses (FM) serta k-way Spectral Clustering dalam implementasi hypergraph partitioning. Dalam implementasi ini, artikel – artikel dalam koleksi dokumen akan melalui prapemrosesan (preprocessing) untuk menemukan frequent itemsets kemudian dicari 2-frequent itemsets yang akan digunakan untuk membangitkan graph sebagai bentuk masukan dalam proses partitioning. Dan akhirnya akan dihasilkan beberapa kelompok kata yang merupakan hasil proses partitioning.
Abstract— Pengelompokkan dan pengklasifikasian dokumen merupakan metode yang digunakan pengguna untuk mengorganisir koleksi dokumen yang dimiliki. Salah satu metode pengelompokan atau klasifikasi yang digunakan adalah berdasarkan topik yang dibicarakan. Ada kalanya dalam suatu koleksi dokumen tidak diketahui topik yang sedang dibicarakan atau pengguna ingin mengelompokkan dokumen dengan kelompok ketegori topik yang baru. Untuk itu diperlukan identifikasi topik dengan menggunakan kata kunci (keyword). Ekstraksi topik bertujuan untuk mengumpulkan kata – kata kunci yang ada pada suatu koleksi dokumen sehingga dapat digunakan untuk mengenali topik. Hubungan antar kata dalam koleksi dokumen dimodelkan menjadi suatu hyper(graph) dengan kata – kata sebagai vertex dan kekuatan hubungan antar kata sebagai edge yang memiliki bobot (weighted edge). Partisi dilakukan menggunakan metode hypergraph partitioning dengan memotong graph yang ada menjadi sub-sub graph yang berisi kata – kata kunci (keyword) untuk mengenali topik. Metode hypergraph partitioning yang digunakan adalah Fiduccia-Mattheyesse dan k-way Spectral Clustering. Algoritma Fiduccia-Mattheyesse menggunkan pertukaran node antar partisi secara berulang untuk menghasilkan partisi yang diinginkan. Sedangkan k-way spectral clustering menggunakan konsep pengelompokkan menggunakan matriks eigenvector yang dihasilkan oleh graph. Pada uji coba yang dilakukan, kedua algoritma telah berhasil menghasilkan partisi kata – kata kunci. Dan pada tiap partisi dapat dikenali topik apa yang sedang dibicarakan. Namun, algoritma k-way spectral clustering menunjukkan performa yang lebih baik dari pada Fiduccia-Mattheyses dengan nilai presisi mencapai 72,99% dan recall 43,90%. Keywords— ekstraksi topik, hypergraph partitioning, FiducciaMattheyesse, spectral clustering
I. PENDAHULUAN Dasar dari proses pengenalan topik adalah adanya kelompok kata-kata yang umum digunakan (frequent itemsets) untuk setiap topik. Untuk mendapatkan kelompok kata – kata tersebut digunakanlah metode ekstraksi topik. Permasalahan yang timbul adalah bagaimana dari kata – kata yang terdapat dalam dokumen dapat dikelompokan sehingga dari setiap kelompok kata diharapkan mewakili topik yang dibicarakan. Dalam tugas akhir ini digunakan metode berbasis graph untuk menyelesaikan permasalahan pengelompokan kata. Frequent itemsets dalam koleksi dokumen akan dipetakan kedalam hyper(graph) dimana verteks – verteksnya mewakili kata dan edge mewakili kekuatan hubungan antar
II. HYPERGRAPH PARTITIONING Hypergraph adalah suatu bentuk graph yang dimana edge-nya dapat menghubungkan dua atau lebih verteks yang disebut juga hyperedges. Pada suatu hypergraph H, ketika dilakukan partisi sebanyak k partitioning, yang dimaksud adalah membagi verteks - verteks dari H ke k bagian yang terpisah [1]. Permasalahan k-way partitioning adalah bagaimana meminimalisir jumlah hyperedges yang terpotong atau pada hyperedge yang berbobot adalah jumlah bobot dari edge-edge yang terpotong.
1
Solusi terbaik adalah partisi yang memiliki cost yang paling rendah.
A. Algoritma Fiduccia-Mattheyeses Algoritma Fiduccia-Mattheyeses [2] (selanjutnya disebut algoritma FM) adalah algoritma bisection partitioning yang bersifat heuristic. Dikembangkan oleh C.M.Fiduccia & R.M. Mattheyses pada tahun 1982. Algoritma ini menerapkan konsep menukar per-satu node pada setiap iterasinya. Hal ini berbeda dengan algoritma Kernighan-Lin [3] yang menukar sepasang nodes pada setiap iterasinya. FM dimulai dengan random solusi yang memungkinkan (initial partitioning, verteks – verteks secara random dibagi menjadi dua partisi) dan merubah solusi tersebut dengan pergerakan terus-menerus yang disebut sebagai passes. Pada awal pass, semua verteks bebas untuk bergerak (unlocked), dan setiap kemungkinan pergerakan ditandai dengan gain (gain yang bertanda positif akan mengurangi cost sedangkan bertanda negative akan meningkatkan cost). Secara berulang, pergerakan yangg memiliki gain terbesar akan dipilih dan dieksekusi (dengan kata lain, verteks yang memiliki gain terbesar akan dipindah posisi partisinya) kemudian verteks yang bergerak akan dikunci (tidak diperbolehkan untuk berpindah lagi). Karena pergerakan tersebut menimbukan perubahan gain pada verteks - verteks yang lainnya, maka gain akan kembali dihitung. Pemilihan dan pengeksekusian pergerakan gain yang terbaik dilanjutkan dengan update gain dilakukan secara berulang sampai semua vertex terkunci.
B. K-way spectral Clustering Bila terdapat satu set data points x1,... xn dan nilai kesamaan sij >= 0 diantara semua data points xi dan xj, tujuan dari clustering adalah membagi datapoints tersebut kedalam beberapa kelompok sehingga data - data yang terdapat dalam satu kelompok adalah mirip dan data - data yang berada di kelompok - kelompok yang berbeda, tidak memiliki kemiripan satu sama lain. Data points dan nilai kemiripannya dapat digambarkan dengan similarity graph G = (V,E). Verteks vi pada graph mewakili data points xi. Dua verteks berhubungan bila nilai kemiripan sij antara data points yang berhubungan xi dan xj > 0. Nilai kemiripan tersebut merupakan perwakilan dari bobot edge. Dari penjelasan tersebut permasalahan dari pengelompokan (clustering) sekarang dapat diformulasikan dengan menggunakan similarity graph: yang diinginkan adalah menemukan partisi dari graph dimana edge diantara kelompok yang berbeda memiliki bobot yang rendah (mengindikasikan ketidakmiripan antar kelompok) dan edgeedge dalam satu kelompok memiliki bobot yang tinggi. Pada Gambar 1 adalah algoritma k-way spectral clustering [4].
Algoritma K-way Spectral Clustering Input : Similarity Graph, Jumlah cluster yang ingin dibentuk (k). Buat adjacency matrix (A) berdasarkan similarity graph. Hitung Matrix Degree (D) Hitung Matrix Laplacian (L = D - A) Hitung k-pertama dari eigenvector. (Eigenvalues akan selalu diurutkan dari terkecil sampai terbesar. “k-pertama eigenvector” diartikan sebagai eigenvector yang berhubungan dengan kterkecil eigenvalue). · menjadi matrix yang berisi vektor v1,....vk sebagai kolom. · Untuk i = 1,.....,n menjadi vektor yang berhubungan dengan baris ke i pada . dalam dengan algoritma k-means kedalam cluster C1,.., · Cluster points pada Ck. Output : Ci, ..., Ck · · · ·
Gambar 1 Algoritma K-way Spectral Clustering digunakan sebagai nilai bobot minimal sebuah kata dianggap sebagai kata penting. Dan berikut pada Gambar 2 akan digambarkan alurnya..
III. PEMBENTUKAN HYPERGRAPH A. Proses Identifikasi Node dari Koleksi Dokumen
B. Penentuan Frequent 2-itemsets
Metode pembobotan tf-idf dilakukan untuk mengidentifikasi node darei koleksi dokumen. Yang dengan kata lain; menentukan kata apa saja yang dianggap penting dalam artikel dari daftar kata yang diperoleh dari pendataan kata. Kata-kata penting ini yang nantinya digunakan dalam untuk mencari frequent 2-itemsets. Bobot nilai tf.idf untuk semua daftar kata kemudian diurutkan dari yang paling tinggi hingga yang paling rendah.
Proses identifikasi relasi antar node [5] dimulai dengan mendata kemungkinan seluruh pasangan kata. Kemudian dicari nilai kemungkinan berapa banyak dokumen munculnya pasangan kata tersebut diseluruh koleksi dokumen. Dari nilai probabilitas tersebut diurutkan dan 30% nilai probabilitas teratas. Dan nilai terendah dari 30% bobot teratas merupakan nilai batas untuk filter support. Pasangan kata yang lolos merupakan pasangan dengan relasi terkuat.
Dari bobot tf.idf yang telah urut, diambil 30 % bobot teratas. Bobot terendah dalam 30% teratas tersebut yang
2
Setelah itu dilakukan pencarian nilai kemungkinan terdapat berapa banyak dokumen munculnya suatu term. Kemudian dilakukan penghitungan dengan rumus :
Setelah mendapatkan nilai confidence 30% dari nilai tertinggi kemudian diurutkan dan nilai terendah dari 30% teratas tersebut merupakan batas minimum. Hasilnya dikenali dengan nama frequent 2-itemsets yang merupakan dasar pembentukan hyper(graph). Dengan pasangan kata – kata sebagai verteks. Dan nilai relasi antar kata sebagai bobot edge. Alur prose digambarkan pada Gambar 3.
Gambar 2 Identifikasi Node dari Koleksi Dokumen
Gambar 3 Identifikasi Relasi antar Node metode kedua adalah k-ay Spectral Clustering. Untuk alur proses akan dijelaskan lebih lanjut pada sub-bab berikutnya. Dan berikut ini pada Gambar 4 adalah alur secara umum proses dalam implementasi hypergraph partitioning untuk ekstraksi topik.
IV. DESAIN DAN IMPLEMENTASI A. Desain Sistem Masukan awal sistem berupa artikel dokumen yang tersimpan dalam database sistem. Selanjutnya isi dari artikel ini akan Masukan awal berupa artikel dokumen yang tersimpan dalam database sistem. Selanjutnya isi dari artikel ini akan melalui proses preprocessing (pengidexan, penhapusan stopword, stemming) kemudian dicari kata-kata pentingnya dengan metode pembobotan tf-idf (Identifikasi kandiat node). Setelah itu didaftar pasangan kata yang memungkinkan. Dilakukan proses filter yang memenuhi kriteria support dan confidence untuk menentukan pasangan kata dengan relasi terkuat (identifikasi relasi antar node). Dari proses tersebut didapat frequent 2-itemsets sebagai dasar pembangkitan hyper(graph). Frequent 2-itemsets merupkan data masukan untuk proses partitioning. Untuk metode pertama adalah menggunakan algoritma fiduccia mattheyes (FM). Dan
B. Implementasi dengan FM Frequent 2-itemsets yang dihasilkan pada proses sebelumnya merupakan hyper(graph) yang akan dipartisi. Langkah pertama adalah membagi verteks – verteks tersebut menjadi dua partisi secara random. Langkah selanjutnya adalah mencari nilai gain dan menentukan nilai gain terbesar. Verteks yang mempunyai nilai gain terbesar akan dipindahkan dari lokasi partisi yang ada saat ini dan statusnya menjadi terkunci, dengan kata lain tidak dapat lagi berpindah. Setelah itu menghitung minimal cost. Ulangi lagi mulai dari langkah kedua sampai semua verteks statusnya menjadi locked. Diagram Alir dapat dilihat pada Gambar 5.
3
clustering dengan algoritma k-means dengan cluster sebanyak k cluster. Pada tahapan clustering dengan k-means hal yang pertama dilakukan adalah mengubah matrix nxk yang didapat dari eigenvector menjadi matrix nx2 termVector. Proses mengubahnya menggunakanmetide SVD dengan library lingpipe,jar. Setelah mendapatkan termVector lakukan proses k Clustering dengan k-MeansDiagram Alir dapat dilihat pada Gambar 6.
C. Implementasi dengan k-way spectral clustering Untuk metode partitioning k-way spectral clustering, hal yang pertama dilakukan adalah mengubah data menjadi bentuk matrix Adjacency. Kemudian dicari matriks Degree dan hitung Matrix Laplacian. Setelah menemukan Matrix Laplacian hitung nilai eigenvalue. Ambil k pertama nilai eigenvalue dan ketahui eigenvector yang berkorespondensi dengannya. Setelah didapat nxk eigenvector, lakukan
Gambar 4 Proses Implementasi Hypergraph Partitioning untuk Ekstraksi Topik
Gambar 6 Proses K-way Spectral Clustering
Gambar 5 Proses Fiduccia-Mattheyses
4
V. UJI COBA SISTEM Uji coba dilakukan dengan mengukur tingkat presisi dan recall masing – masing algoritma. Masing – masing algoritma di uji coba menggunakan dataset berasal dari 20news group yang memiliki 4 topik uatama yaitu (A) computer, (B) sport, (C) science, dan (D) politics. Masing – masing topik utama tersebut memiliki dua subtopik yaitu; (A1) computer.operating system, (A2) computer.graphics, (B1) sport.baseball, (B2) sport.hockey (C1) science.electronics, (C2) science.medicine, (D1) politics.gun, dan (D2) politics.mideast. Uji coba untuk masing – masing algoritma dilakukan dengan 4 dan 8 partisi. Dengan tujuan, pada 4 partisi penentuan kerelevanan partisi dapat dilihat dari kecenderungan partisi tersebut mengarah pada 4 topik utama. Demikian juga pada 8 partisi, penentuan relevansi dapat dilihat dari kecenderungan partisi terhadap 8 sub topik. Pada uji coba partitioning dengan algoritma Fiduccia-Mattheyses dengan empat (4) partisi didapat 4 partisi dengan kecenderungan pada partisi (1) topik computers dengan presisi 41,43% (2) topik politics dengan presisi 45% (3) topik science dengan presisi 60,98% dan (4) topik sport dengan presisi 14,29%. Rata – rata tingkat presisi pada uji coba partitioning dengan Fiduccia-Mattheyses adalah 40,42% dan rata – rata recall = 23,48%. Sedangkan dengan delapan (8) partisi didapat 8 partisi dengan kecenderungan pada partisi ; (1) topik politics.mideast dengan presisi 53,85% (2) topik computer.graphics dengan presisi 25% (3) topik sport.hockey dengan presisi 12,50% (4) topik sport.baseball dengan presisi 10,71%. (5) topik computer.operating system dengan presisi 42,42% (6) topik science.electronics dengan presisi 48% (7) topik politics.guns dengan presisi 45,83% (8) topik science.medis dengan presisi 54,55%. Rata - rata tingkat presisi pada uji coba partitioning dengan Fiduccia-Mattheyses adalah 36,61% dengan recall 20,30%. Pada uji coba partitioning dengan algoritma k-way spectral clustering dengan empat (4) partisi didapat 4 partisi dengan kecenderungan pada partisi (1) topik computers dengan presisi 61,36% (2) topik science dengan presisi 75% (3) topik politics dengan presisi 80,60% dan (4) topik sport dengan presisi 75%. Rata – rata tingkat presisi pada uji coba partitioning dengan k-way spectral clustering adalah 72,99%. Untuk uji recall didapat nilai 43,90%. Pada uji coba dengan delapan (8) partisi didapat 8 partisi dengan kecenderungan pada partisi ;
(1) topik science.electronics dengan presisi 20% (2) topik science.medicine dengan presisi 100% (3) topik computer.operating system dengan presisi 25% (4) topik sport.hockey dengan presisi 71%. (5) topik politics.guns dengan presisi 50% (6) topik politics.mideast dengan presisi 54% (7) topik sports.baseball dengan presisi 85% (8) topik computer.graphics dengan presisi 53%. Rata - rata tingkat presisi pada uji coba partitioning dengan kway spectral clustering adalah 57,28% dengan nilai recall = 36,61%. VI. SIMPULAN Dari hasil uji coba yang telah dilakukan dapat dilihat bahwa ekstraksi topik dengan menggunakan hypergraph partitioning metode k-way spectral clustering menghasilkan nilai presisi (72,99% dan 57,28%) yang lebih tinggi daripada partitioning dengan metode fiduccia-mattheyses (40,42% dan 36,61%). Pada uji recall metode k-way spectral clustering juga mendapatkan hasil yang lebih baik (43,90% dan 31,11%). Dari pada metode FM yang memiliki nilai recall rata – rata 23,48% dan 20,30%. Terdapat beberapa alasan yang memungkinkan terjadinya partitioning yang tidak sempurna, antara lain adalah terlalu tingginya kriteria support dan confidence. Sehingga terdapat beberapa dokumen yang tidak terwakili. Namun, bila nilai kriteria support dan confidence terlalu rendah, dikhawatirkan kata – kata yang ada bukanlah kata yang mewakili koleksi dokumen. Pada metode fiduccia-mattheyses kemungkinan penyebab tingkat presisi rendah terjadi karena, pada metode ini batasan partisi selain dari minimal cut edge juga dari keseimbangan jumlah partisi. Dengan kata lain metode FM ini “memaksakan” agar pada tiap partisi anggotanya berjumlah hampir sama (seimbang). Hal ini menjadi permasalahan karena ada kalanya terjadi kata yang seharusnya berada di partisi “A” terpaksa berada di partisi “B” untuk memenuhi batasan keseimbangan. Namun, metode k-way spectral clustering juga bukanlah metode yang sempurna. Bila melihat analisa A5 pada halaman lampiran, masih terdapat partisi yang hanya memiliki 2 anggota, yang tentunya sulit untuk diketahui topik apa yang dibicarakan pada partisi tersebut. Walaupun sudah terlihat perbedaan topik antar tiap partisi. Hal ini terjadi karena beberapa alasan salah satu kemungkinanya adalah; iterasi yang digunakan dalam clustering k-means belum mencapai tingkat konvergen (pada uji coba digunakan iterasi = 100).
References [1] [2] [3]
Papa, David A. & Markov, Igor L. 2005. Hypergraph [4] Partitioning and Clustering. University of Michigan. Fiduccia, C.M. & Mattheyses, R. M. A Linear-Time Heuristic for Improving Network Partitions. [5] B. W. Kernighan and S. Lin. 1970. An Efficient Heuristic Procedure for Partitioning Graphs. Bell System Tech. Journal, pp. 291-307.
5
Luxburg, Ulrike von. Technical Report No. TR-149 : A Tutorial on Spectral Clustering. Max Planck Institute for Biological Cybernetics. Purwitasari, D., & Okazaki, Y., & Watanabe, K. Content-based Navigation in Webbased Learning Application. In ICCE '08: Proc. of the 16th International Conference on Computer Education, pp. 557-564.