01 indo clust knsi 2007

  • 198 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
198
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Konferensi Nasional Sistem Informasi (KNSI) 2007 STT TelkomIndoClust: Clustering Engine Berita Berbahasa IndonesiaDidik Dwi Prasetya, Dwi Hendratmo WidiantoroKK Informatika Sekolah Teknik Elektro dan Informatika ITBJln. Ganesha 10 Bandungdidikdwi@gmail.com, dwi@informatika.orgAbstrakDampak yang sangat terasa seiring dengan semakin meningkatnya volume berita elektronik berbahasa Indonesiaadalah sulitnya menemukan berita-berita yang relevan. Untuk mengatasi permasalahan ini, clustering merupakansalah satu pemecahan yang bisa diimplementasikan. Makalah ini menguraikan rancang-bangun perangkat lunakuntuk clustering dokumen-dokumen berita berbahasa Indonesia yang diberi nama IndoClust. ImplementasiIndoClust dilakukan menggunakan metode frequent itemset dengan algoritma Frequent Itemset-basedHierarchical Clustering (FIHC). Hasil implementasi memperlihatkan bahwa IndoClust mampumengelompokkan secara otomatis berita yang memiliki kesamaan ke dalam grup-grup dan menemukanketerkaitan antar-berita. Dengan demikian, pengguna bisa lebih mudah melakukan navigasi, dan aktivitaspencarian berita menjadi lebih efektif serta efisien.Kata kunci : clustering, frequent itemset-based, berita berbahasa Indonesia1. PendahuluanDewasa ini, orang dengan mudah bisamendapatkan informasi berita berbahasa Indonesiamelalui komputer atau peralatan bergerak yangterhubung ke jaringan Internet. Seiringbertambahnya situs penyedia berita, menjadikanvolume berita dari waktu ke waktu semakinmeningkat. Walaupun kondisi ini dapat teratasidengan memanfaatkan layanan mesin pencari,namun masih jarang ditemui mesin pencari yangmemiliki kemampuan untuk menganalisis sertamengelompokkan secara otomatis dokumen-dokumen berita yang memiliki kemiripan,khususnya untuk berita berbahasa Indonesia.Pada kenyataannya, dalam kasus mesinpencari, seringkali hanya hasil-hasil awal saja yangdianggap menarik oleh pengguna. Hal ini tentusangat wajar, karena mesin pencari umumnyaberusaha menampilkan hasil pencarian denganurutan yang paling mirip terhadap query.Bagaimanapun juga, cara ini tidak begitu efisienuntuk mendapatkan berita yang relevan, karenaketerkaitan antar berita tidak terungkap secara jelas.Sebagai ilustrasi, pencarian berita dengan query“bunga” dapat menghasilkan beragam informasispesifik, misalnya bunga yang berhubungan dengantanaman atau bunga perbankan. Dari sini terlihatbahwa penemuan berita yang relevan sangatkompleks, dan memerlukan kecerdasan sistem.Kata kunci dari permasalahan di atas adalahefektivitas dan efisiensi penemuan berita yangrelevan. Adapun untuk mengatasinya, dipandangperlu sekali adanya suatu perangkat lunak bantuyang mampu “menghadirkan” berita dari berbagaisumber serta mengorganisasikan dokumen-dokumenberita sedemikian rupa ke dalam grup-grup,sehingga dapat memudahkan navigasi. Clustering,atau biasa disebut unsupervised learning, merupakansalah satu pemecahan yang menarik untukdiimplementasikan. Clustering dapat digunakanuntuk membantu menganalisis berita dari satu ataubeberapa sumber, dengan mengelompokkan secaraotomatis berita-berita yang memiliki kesamaan [8].Pada makalah ini, metode clustering yangdigunakan adalah frequent itemset-based, denganalgoritma Frequent Itemset-based HierarchicalClustering (FIHC). Intuisi dari metode frequentitemset-based adalah mengidentifikasikan tiap-tiapcluster dengan beberapa kata umum, yang disebutfrequent itemset. Oleh karena hanya menggunakanglobal frequent item, maka secara drastis FIHCmampu mengurangi dimensionalitas himpunandokumen, sehingga lebih efisien dan scalable.2. Penelitian TerkaitMetode clustering banyak diterapkan diberbagai disiplin ilmu, diantaranya adalah bidangbisnis, biologi, kesehatan, dan komputer. Di bidang
  • 2. Konferensi Nasional Sistem Informasi (KNSI) 2007 STT Telkomkomputer, clustering dilakukan pada subbidangpengolahan citra dan pengolahan dokumen,khususnya text mining dan information retrieval.Meskipun clustering dokumen bukan merupakan halbaru, namun saat ini masih jarang penelitianmengenai clustering terhadap corpus beritaberbahasa Indonesia.Salah satu penelitian yang terkait dengan topikmakalah ini adalah penelitian Wibisono dan Khodra[8]. Di dalam penelitiannya, Wibisono menguraikaneksperimen clustering berita berbahasa Indonesiadengan menggunakan algoritma K-Means. Salahsatu keunggulan utama algoritma K-Means adalahkompleksitas waktu perhitungannya linear O(n). Disisi lain, algoritma ini memerlukan intervensipengguna untuk menetapkan parameter masukan,sensitif terhadap inisialisasi cluster centroid, danmenghasilkan cluster datar.Secara khusus, makalah ini mencoba mengkajilebih lanjut clustering dokumen-dokumen beritaberbahasa Indonesia dari penelitian sebelumnyadengan metode yang berbeda. Ada perbedaanmendasar yang perlu digarisbawahi pada makalahini, yaitu mengimplementasikan metode clusteringyang lebih efektif dan efisien.3. Analisis Sistem IndoClustPerangkat lunak IndoClust adalah sebuahperangkat lunak aplikasi yang berorientasi objek dandikembangkan dengan menggunakan bahasapemrograman berorientasi objek. Pemodelanperangkat lunak IndoClust dilakukan denganmenggunakan kakas UML (Unified ModellingLanguage) yang mengakomodasi metodologipengembangan perangkat lunak berorientasi objek.Bagian ini menguraikan analisis prosesalgoritma clustering dan analisis kebutuhan sistemyang akan dibangun. Analisis proses algoritmaclustering menguraikan algoritma FIHC untukclustering dokumen yang berupa berita-beritaberbahasa Indonesia. Untuk analisis kebutuhansistem, didasarkan pada tahap analisis darimetodologi yang digunakan dalam membangunperangkat lunak, yaitu metodologi Object-OrientedSoftware Engineering (OOSE).3.1 Algoritma FIHCAlgoritma ini diilhami oleh Fung [7]berdasarkan ide frequent itemset yang dikemukakanoleh Agrawal [1]. Ide dasarnya, frequent itemsetmerepresentasikan sesuatu yang umum padadokumen-dokumen di dalam cluster.FIHC menugaskan (assigning) dokumen-dokumen ke cluster terbaik dari semua cluster yangtersedia. FIHC menggunakan pendekatan “cluster-centered”, dimana kohesi cluster diukur secaralangsung dengan menggunakan frequent itemset.FIHC juga menggunakan frequent itemset untukmembangun dan mengorganisir cluster ke dalamhirarki topik.Ilustrasi mengenai tahap-tahap clusteringdokumen dengan algoritma FIHC dapatdiperlihatkan seperti diagram alir pada Gambar 1.Gambar 1. Diagram alir algoritma FIHCAda tiga tahap utama untukmengimplementasikan algoritma FIHC dalamclustering dokumen dan menghasilkan hirarkipohon, yaitu pemilihan frequent itemset,pembentukan cluster, dan pembentukan pohoncluster [4].1. Pemilihan frequent itemsetTujuan dari pemilihan frequent itemset adalahuntuk mendapatkan kandidat cluster. Masukandari tahap ini adalah vektor dokumen high-dimensional yang diperoleh dari modelrepresentasi dokumen. Pemilihan frequentitemset dilakukan melalui tahap ekstraksifrequent itemset. Ekstraksi frequent itemsetadalah langkah persiapan yang lazim dilakukandalam algoritma clustering, termasuk padaalgoritma FIHC.2. Pembentukan clusterTahap ini meliputi pembuatan initial clusterdan melakukan pemisahan cluster (disjointingcluster). Pembuatan initial cluster dilakukanpada tiap-tiap global frequent itemset yangtelah diperoleh. Pada tahap ini initial clusterbisa overlap, karena suatu dokumen biasanyaberisi lebih dari satu global frequent itemset,sehingga dokumen yang sama mungkin terlihatdi beberapa initial cluster. Adapun tahappemisahan cluster bertujuan untuk menghapusinitial cluster yang masih overlap.3. Pembentukan pohon clusterTahap ini melakukan pembentukan hirarkipohon cluster dan pemangkasan pohon (treepruning). Pada tahap ini, cluster yang telahdiperoleh digunakan untuk membangun pohoncluster (topik), dan hubungan antara induk(parent) dan anak (children) diciptakanberdasarkan kemiripannya.
  • 3. Konferensi Nasional Sistem Informasi (KNSI) 2007 STT Telkom3.2 Arsitektur SistemIde dasar dari clustering engine adalahmengelompokkan dokumen-dokumen hasilpencarian ke dalam sejumlah cluster dan kemudianmengorganisasikan dokumen-dokumen sedemikianrupa sehingga dapat memudahkan pengguna ketikamelakukan navigasi. Bergantung pada pendekatanalgoritma yang digunakan, proses clustering bisasangat berlainan. Namun secara garis besar,clustering engine melakukan dua proses utama, yaitupreprocessing dan processing.Sebagaimana lazimnya clustering engine,sistem IndoClust juga terdiri dari dua komponenutama, yaitu preprocessing dan processing.IndoClust berperan sebagai perangkat lunakkomplemen dalam information retrieval. Perangkatlunak ini diintegrasikan ke mesin pencari yang sudahdisesuaikan fungsionalitasnya untuk menemukandokumen-dokumen berita berbahasa Indonesia.Gambaran umum mengenai arsitektur sistemIndoClust diperlihatkan pada Gambar 2.Gambar 2. Arsitektur IndoClustTahap preprocessing melakukan pemrosesanawal terhadap himpunan dokumen berita relevanyang didapatkan dari mesin pencari. Pemrosesanawal meliputi pembacaan dan penguraian (parsing)dokumen, penghapusan stopwords, tokenization,pembobotan term (term weighting), danmenciptakan representasi dokumen.Tahap pemrosesan (processing) adalahmengimplementasikan algoritma clustering yangdigunakan untuk pengelompokan dokumen-dokumen berita berbahasa Indonesia. Tahap inimerupakan tahap inti dalam pembangunan perangkatlunak IndoClust.Proses pengelompokan berita pada IndoClustdilakukan secara on-the-fly (saat runtime). Masukanyang diterima oleh IndoClust adalah himpunanberita hasil pencarian pada mesin pencari yangrelevan terhadap kata kunci pencarian. Adapunkeluaran yang dihasilkan adalah satu atau beberapacluster yang masing-masing terhubung ke dokumen-dokumen berita masukan sesuai dengankemiripannya. Hasil keluaran ini akan disajikansebagai respon terhadap permintaan (request)pengguna.3.3 Fitur SistemPerangkat lunak IndoClust memiliki beberapafungsi utama, antara lain:1. Menerima masukan kata pencarian daripengguna dan mengirimkan ke mesin pencari.2. Memiliki kemampuan untuk menerimamasukan parameter pengaturan kesukaan daripengguna dan menerapkannya selama sesipengguna tersebut aktif.3. Mampu menerima masukan parameterpengaturan lanjut guna menghasilkan clusteryang lebih spesifik atau lebih umum.4. Melakukan pemrosesan awal (preprocessing)terhadap himpunan dokumen berita hasilpencarian yang dikembalikan oleh mesinpencari.5. Melakukan pengelompokan (clustering)terhadap dokumen-dokumen berita hasilpencarian berdasarkan kemiripannya.6. Membangun struktur pohon cluster yangmasing-masing berisi satu atau beberapadokumen relevan.7. Menyajikan dokumen-dokumen berita kepengguna dalam bentuk cluster bersarang.Sumber-sumber berita yang ditanganiIndoClust sudah didefinisikan, sehingga ruanglingkup pencarian dan pengelompokan terbatas padasumber-sumber tersebut. Adapun dokumen yangditangani adalah berita-berita berbahasa Indonesiadalam format file umum, yaitu Hypertext MarkupLanguage (HTML).3.4 Pemodelan Use CaseAktor-aktor yang terlibat pada sistem dapatdidefinisikan dengan mengidentifikasi sesuatu yangberkomunikasi dengan sistem dan merupakan bagianeksternal. Deskripsi mengenai masing-masing aktordiperlihatkan pada Tabel 1.Tabel 1. Definisi aktorNo Aktor DeskripsiA1 Pengguna Pengguna perangkat lunakyang akan berhubunganlangsung dengan sistem.A2 Mesin Pencari Perangkat lunak untukmencari dokumen beritadan mengembalikan hasilberupa himpunan dokumensebagai masukan sistem.A3 Administrator Administrator sistem yangmelakukan pemantauanterhadap kerja sistemterkait dengan aktivitaspengguna.Pembuatan model use case bertujuan untukmengidentifikasi fungsionalitas perangkat lunaksecara arsitektural. Berdasarkan fungsi-fungsi utama
  • 4. Konferensi Nasional Sistem Informasi (KNSI) 2007 STT Telkomyang telah dideskripsikan, dapat didefinisikan usecase yang terlibat. Definisi dan deskripsi masing-masing use case diperlihatkan pada Tabel 2.Tabel 1. Definisi use caseNo Use Case DeskripsiU1 Search News Untuk menerimamasukan query daripengguna danmelakukan pencarianberita berdasarkan query.U2 Preprocessing Sistem melakukanpemrosesan awal.U3 RelevantDocumentMesin pencarimengembalikan hasilpencarian berupadokumen-dokumen yangrelevan.U4 Set Parameter Pengguna menetapkanparameter untukclustering berita danpengaturan kesukaan.U5 Clustering Sistem menerima datamasukan danmenerapkan algoritmaclustering dokumen.U6 View Cluster Sistem menampilkanhasil clustering berikutdokumen-dokumenrelevan yang telahdikelompokkan.U7 Login Admin Sistem melakukanverifikasi identitasadministrator.U8 View Log Administrator memantaukerja sistem.Representasi diagram use case memperlihatkaninteraksi antara aktor dan use case. Dari perspektifpengguna, diagram use case memberikan gambaranmengenai perangkat lunak yang akan dibangun.Bentuk diagram use case dari perangkat lunakIndoClust diperlihatkan pada Gambar 3.ClusteringLogin AdminPreprocessingSet ParameterView ClusterPenggunaSearch News<<include>>Relevant DocumentMesin PencariView LogAdministrator<<include>><<include>>Gambar 3. Diagram use case4. Perancangan Sistem4.1 Perancangan ArsitekturPerancangan arsitektur mendefinisikanketerkaitan antar-komponen utama yang akanmembentuk aplikasi program. Berdasarkan analisisproses clustering dokumen yang diuraikan padatahap analisis, komponen penyusun sistem IndoClustberhubungan dengan komponen luar, yaitu mesinpencari. Ilustrasi mengenai komponen penyusunsistem IndoClust dan keterhubungannya dengankomponen luar diperlihatkan pada Gambar 4.Gambar 4. Komponen penyusun IndoClustKomponen yang akan dirancang-bangundiperlihatkan sebagai bidang terarsir, sedangkanbidang tak terarsir merepresentasikan komponenyang sudah ada.Berdasarkan hasil analisis dan deskripsiarsitektur, secara fungsionalitas, IndoClust hanyabertugas mengelompokkan dokumen hasilpencarian. Namun secara arsitektur, sistemIndoClust terdiri dari tiga modul utama, yaitu userinterface, preprocessing, dan processing/clustering.1. Modul user interfaceModul user interface berperan sebagai front-end sistem, yang berhubungan langsungdengan pengguna. Walaupun mesin pencarisudah menyediakan antarmuka pengguna,namun model antarmukanya berbeda denganclustering engine, sehingga perlu dilakukanperancangan khusus.2. Modul preprocessingModul ini menyediakan fungsionalitaspemrosesan awal (preprocessing) terhadaphimpunan dokumen. Pemrosesan-pemrosesanyang dilakukan meliputi stopwords,tokenization, dan pengambilan dokumen hasilpencarian.3. Modul processing/clusteringModul processing/clustering menyediakanfungsi utama yang mencerminkanfungsionalitas dari sistem IndoClust. Sesuaidengan hasil tahap analisis, modul ini bertujuanmelakukan proses clustering dokumen-dokumen berita berbahasa Indonesia denganmengimplementasikan algoritma FIHC.Fungsionalitas modul processing/clusteringIndoClust
  • 5. Konferensi Nasional Sistem Informasi (KNSI) 2007 STT Telkomdapat diuraikan berdasarkan use case utamayang telah diidentifikasi.4.2 Realisasi Use CaseRealisasi use case dilakukan denganmengidentifikasi diagram kelas (class diagram) dansequence diagram. Untuk setiap fungsionalitasutama dari sistem, yang direpresentasikan oleh usecase utama, dapat dibuat diagram kelasnya. Gambar5 memperlihatkan diagram kelas untuk use caseView Cluster.Gambar 5. Diagram kelas use case View ClusterUntuk setiap use case utama, diidentifikasikansequence diagram yang menggambarkan interaksisetiap objek dari kelas perancangan yang terlibat didalam use case tersebut. Gambar 6 memperlihatkansequence diagram untuk use case View Cluster.: Pengguna : ViewClusterForm : ResultGeneration: ClusterGeneration : Parameters: Clustering : Documents: PrepareCluster : LogData1: <<start>>2: init()3: init()4: getDocument( )5: createMatrix()6: prepareData( )7: init( )8: getParameter( )9: returnParameter10: buildCluster( )11: generateData( )12: init( )13: getData( )14: saveLogData( )15: getCluster( )16: displayCluster( )Gambar 6. Sequence diagram use case View Cluster5. Implementasi dan Pengujian5.1 Implementasi Kelas dan PaketImplementasi kelas dan paket mengacu padadeskripsi arsitektural dan kelas-kelas yang telahdiidentifikasi. Implementasi paket akanmenghasilkan sejumlah direktori sesuai dengannama-nama paket yang telah didefinisikan. Tiap-tiapdirektori berisi file-file yang merupakan representasifisik dari kelas-kelas di dalam paket terkait.Penggunaan paket-paket ini bertujuan untukmengorganisir komponen-komponen perangkatlunak IndoClust ke dalam grup-grup.5.2 Implementasi AntarmukaImplementasi antarmuka memiliki kaitan eratdengan diagram use case. Acuan dasar yangdigunakan dalam tahap ini adalah menghasilkanantarmuka pengguna untuk setiap use case yangberhubungan langsung dengan aktor. Hasilimplementasi antarmuka utama IndoClustdiperlihatkan pada Gambar 7.Gambar 7. Hasil implementasi IndoClust5.3 PengujianPengujian dilakukan sebagai verifikasi bahwaperangkat lunak dapat memenuhi spesifikasikebutuhan dan berjalan sesuai dengan skenario yangtelah dideskripsikan. Tujuan utama dari tahappengujian adalah untuk menemukan kesalahan yangbelum teridentifikasi. Ada dua jenis metodepengujian yang lazim digunakan untuk mengujisuatu perangkat lunak, yaitu white-box dan black-box. Pengujian white-box menekankan pada prosesinternal, sedangkan pengujian black-box lebihmenekankan pada fungsionalitas sistem.Pada makalah ini, pengujian dilakukanmenggunakan metode black-box, yaitu denganmemperhatikan hasil keluaran dari perangkat lunakIndoClust berdasarkan masukan yang diberikan.Prosedur pengujian adalah dengan menguji fungsi-fungsi utama yang terdapat pada perangkat lunakIndoClust. Fungsi-fungsi utama yang dimaksud di
  • 6. Konferensi Nasional Sistem Informasi (KNSI) 2007 STT Telkomsini direpresentasikan oleh use case yang telahdidefinisikan pada tahap analisis. Pada pengujiankeseluruhan use case, belum ditemukan adanyakesalahan hasil keluaran atau tampilan yang tidaksesuai dengan skenario.Untuk pengujian kualitas clustering, dilakukanberdasarkan hasil pengamatan secara manual. Dalambeberapa kasus uji (dengan query berbeda),himpunan cluster yang dihasilkan mampumenemukan keterkaitan antar-berita, danmenghasilkan topik-topik baru yang merupakanspesialisasi dari query.6. Kesimpulan dan Saran6.1 KesimpulanPerangkat lunak document clustering enginedapat dibangun dengan mengimplementasikanmetode frequent itemset dengan pendekatanalgoritma Frequent Itemset-based HierarchicalClustering (FIHC).Hasil implementasi dan pengujianmemperlihatkan bahwa IndoClust secara otomatisdapat melakukan pengelompokan berita berdasarkankemiripannya. Secara intuitif, IndoClust jugamampu mengungkap keterkaitan antar-berita,sehingga dapat membantu pengguna ketikamelakukan navigasi.6.2 SaranUntuk mendapatkan cluster yang lebihdeskriptif, sebaiknya dilakukan pemrosesan awal(preprocessing) yang lebih baik, misalnyamenambahkan proses stemming bahasa. Dengandemikian, itemset yang merupakan noise bisadicegah untuk menjadi kandidat cluster. Selain itu,langkah ini juga dapat meningkatkan efisiensialgoritma clustering.Secara umum, cluster yang dihasilkan olehalgoritma FIHC sudah cukup baik. Namun untukmengetahui kualitas yang lebih tepat, diperlukanadanya metode pengukuran kualitas. Selain itu,sebaiknya dilakukan pembandingan denganalgoritma lain, sehingga hasilnya lebih optimal.Daftar Pustaka:[1] Agrawal, R., Srikant, R., Fast Algorithm forMining Association Rules, Proc. 20th Int.Conf. Very Large Data Bases, VLDB, 487-499, Morgan Kaufmann, 1994.[2] Agrawal, R., Imielinski, T., Swami, A., Miningassociation rules between sets of items in largedatabase. In Proceeding of ACM SIGMODInternational Conference on Management ofData, 207-216, 1993.[3] Fung, B. C. M., Wang, K., Ester, M.,Hierarchical Document Clustering,Encyclopedia of Data Warehousing andMining Volume 1, Idea Group Reference,USA, 2005.[4] Fung, B. C. M., Wang, K., Ester, M.,Hierarchical Document Clustering UsingFrequent Itemsets, SIAM InternationalConference on Data Mining, SDM’03, SanFransisco, CA, United States, 59-70.[5] Jain, A. K., Murty, M. N., Flynn, P.J., DataClustering: A Review, in ACM ComputingSurveys, Vol 32, No. 3 September 1999.[6] Pressman, R., Software Engineering APractitioner’s Approach Fifth Edition, The McGraw Hill Compannies, Inc, 2001.[7] Wang, K., Xu, C., Liu, B., Clusteringtransactions using large items, InternationalConference on Information and KnowledgeManagement, CIKM’99, United States, 483-490, 1999.[8] Wibisono, Y., Khodra, M. L., ClusteringBerita Berbahasa Indonesia, KonferensiNasional Sistem Informasi, UNPAS, 2006.