2.1 Data Mining
Data mining adalah istilah yang digunakan untuk menemukan pengetahuan baru yang tersembunyi di dalam penyimpanan data yang berukuran besar. Data mining merupakan proses semi otomatis yang menggunakan teknik statistik, matematika, kecerdasan buatan, dan machine learning untuk mengekstraksi dan mengidentifikasi informasi yang bermanfaat dan pengetahuan yang terkait dari berbagai basis data
yang besar (Turban et al, 2005).
Istilah data mining atau Knowledge Discovery in Database (KDD) seringdigunakan secara bergantian untuk menjelaskan proses penggalian informasi
tersembunyi dalam suatu basis data yang besar. Sebenarnya kedua istilah tersebut memiliki konsep yang berbeda, tetapi berkaitan satu sama lain. Salah satu tahapan dalam keseluruhan proses KDD juga termasuk data mining (Kusrini, 2009).
2.1.1 Teknik Data Mining
Teknik data mining digunakan untuk memeriksa basis data berukuran besar sebagai cara untuk menemukan pola yang baru dan berguna. Tidak semua pekerjaan pencarian informasi dinyatakan sebagai data mining. Sebagai contoh, pencarian
record individual menggunakan database management system atau pencarian web tertentu melalui query kesemua search engine adalah pekerjaan pencarian informasi yang erat kaitannya dengan information retrieval. Teknik-teknik data mining dapat digunakan untuk meningkatkan kemampuan sistem-sisteminformation retrieval.
Pada teknik data mining dibagi menjadi beberapa kelompok berdasarkan tugas
yang dapat dilakukan, yaitu:
a. Deskripsi
contoh, petugas pengumpul suara mungkin tidak dapat menemukan keterangan atau fakta bahwa siapa yang tidak cukup profesional akan sedikit didukung dalam
pemilihan presiden. Deskripsi dari pola dan kecenderungan sering memberikan kemungkinan penjelasan untuk suatu pola atau kecenderungan.
b. Klasifikasi
Dalam klasifikasi, terdapat target variabel kategori. Sebagai contoh penggolongan pendapatan dapat dipisahkan dalam tiga kategori yaitu pendapatan tinggi, pendapatan sedang, dan pendapatan rendah. Contoh lain menentukan apakah suatu transaksi kartu kredit merupakan transaksi yang curang, memperkirakan apakah suatu pengajuan hipotek oleh nasabah merupakan suatu kredit yang baik atau buruk, mendiagnosa penyakit seorang pasien untuk mendapatkan termasuk kategori penyakit apa.
c. Estimasi
Estimasi hampir sama dengan klasifikasi, kecuali variabel target estimasi lebih ke arah numerik daripada ke arah kategori. Model dibangun menggunakan record
lengkap yang menyediakan nilai dari variabel target sebagai nilai prediksi. Selanjutnya, pada peninjauan berikut estimasi nilai dari variabel target dibuat berdasarkan nilai variabel prediksi. Sebagai contoh, akan dilakukan estimasi tekanan darah sistolik pada pasien rumah sakit berdasarkan umur pasien, jenis kelamin, indeks berat badan, dan level sodium darah. Hubungan antara tekanan darah sistolik dan nilai variabel prediksi dalam proses pembelajaran akan menghasilkan model estimasi. Model estimasi yang dihasilkan dapat digunakan untuk kasus baru lainnya.
d. Prediksi
Prediksi hampir sama dengan klasifikasi dan estimasi, kecuali bahwa dalam prediksi
nilai dari hasil akanada di masa mendatang. Beberapa metode dan teknik yang digunakan (untuk keadaan yang tepat) untuk prediksi.
e. Pengelompokan
target dalam pengklusteran. Pengklusteran tidak mencoba untuk melakukan klasifikasi, mengestimasi, atau memprediksi nilai dari variabel target. Akan tetapi, algoritma pengklusteran mencoba untuk melakukan pembagian terhadap keseluruhan data menjadi kelompok-kelompok yang memiliki kemiripan, yang mana kemiripan record dalam satu kelompok akan bernilai maksimal, sedangkan kemiripan dengan record dalam kelompok lain akan bernilai minimal.
f. Asosiasi
Tugas asosiasi dalam data mining adalah menemukan atribut yang muncul dalam satu waktu. Dalam dunia bisnis lebih umum disebut analisis keranjang belanja. Contohnya meneliti jumlah pelanggan dari perusahaan telekomunikasi seluler yang diharapkan untuk memberikan respons positif terhadap penawaran upgrade layanan yang diberikan. Contoh lain menemukan barang dalam supermarket yang dibeli secara bersamaan dan barang yang tidak pernah dibeli secara bersamaan.
2.1.2 Tahapan Data Mining
Pada data mining proses untuk menggali pengetahuan baru dan berguna dari sekumpulan data yang besar sering juga dikenal sebagai penemuan pengetahuan dari pangkalan data (Knowledge Discovery in Databases) / KDD yaitu tahap-tahap yang dilakukan dalam menggali pengetahuan dari sekumpulan data. Tahap-tahap yang dimaksud digambarkan seperti Gambar 2.1. berikut ini:
1) DataSelection
Pemilihan (seleksi) data dari sekumpulan data operasional perlu dilakukan sebelum
tahap penggalian informasi dalam KDD dimulai. Data hasil seleksi yang akan digunakan untuk proses data mining. Disimpan dalam suatu berkas, terpisah dari basis data operasional.
2) Pre-processing
Sebelum proses data miningdapat dilaksanakan, perlu dilakukan prosescleaningpada data yang menjadi fokus KDD.Pre-Processingdilakukan untuk membuang data yang tidak konsisten dannoise, duplikasi data,memperbaiki kesalahan data dan boleh juga diperkaya dengan data eksternal yang relevan. Prosescleaningmencakup antara lain membuang duplikasi data, memeriksa data yang inkonsisten, dan memperbaiki kesalahan pada data, seperti kesalahan cetak (tipografi). Juga dilakukan proses enrichment, yaitu proses memperkaya data yang sudah ada dengan data atau informasi lain yang relevan dan diperlukan untuk KDD, seperti data atau informasi eksternal.
3) Transformation
Coding adalah proses transformasi pada data yang telah dipilih, sehingga tersebut sesuai untuk proses data mining. Proses coding dalam data KDD merupakan proses kreatif dan sangat tergantung pada jenis atau pola informasi yang akan dicari dalam basis data.
4) Data Mining
Data mining adalah proses mencari pola atau informasi menarik dalam data terpilih dengan menggunakan teknik atau metode tertentu. Teknik, metode atau algoritma
dalam data mining sangat bervariasi. Pemilihan metode atau algoritma yang tepat sangat bergantung pada tujuan dan proses KDD secara keseluruhan.
5) Interpretation/Evaluation
pemeriksaan apakah pola atau informasi yang ditemukan bertentangan dengan fakta atau hipotesis yang ada sebelumnya.
2.2 Algoritma K-Means
Algoritma K-Means merupakan algoritma pengelompokan iteratif yang melakukan partisi set data ke dalam sejumlah Kclusteryang sudah ditetapkan di awal. Algoritma K-Means sederhana untuk diimplementasikan dan dijalanakan, relatif cepat dan mudah beradaptasi. Secara historis, K-Means menjadi salah satu algoritma yang paling penting dalam data mining (Wu dan Kumar, 2008).
Algoritma K-Means tergolong ke dalam metode pengklusteran non-hirarki dengan menentukan terlebih dahulu banyak K (kluster) yang diinginkan (Hartigan, 1975). Nilai K yang digunakan biasanya didasarkan pada informasi yang diketahui sebelumnya tentang berapa banyak sebenarnya kelompok(cluster) yang muncul
dalam data yang akan diclustering. Sejumlah K representatif cluster tersebut disebut juga sebagaicentroidatau pusat cluster.
Pada set data yang di clustering dikelompokkan berdasarkan konsep kedekatan dan kemiripan. Meskipun konsep yang dimaksud untuk data-data yang berkumpul dalam satu cluster adalah data-data yang mirip, tetapi kuantitas yang digunakan untuk mengukurnya adalah ketidakmiripan (dissimilarity) yaitu data-data yang ketidakmiripan (jarak) yang kecil/dekat maka lebih besar kemungkinannya untuk bergabung dalam cluster.
Algoritma K-Means mencapai kondisi konvergen ketika pengalokasian kembali titik data dan juga centroid tidak berubah dengan yang sebelumnya. Proses dari iterasi ke iterasi hingga dicapai kondisi konvergen juga dapat diamati dari nilai fungsi objektif yang didapatkan. Pada kondisi yang semakin konvergen dapat diamati bahwa nilai fungsi objektif akan semakin menurun.
Adapun langkah-langkah pada algoritma K-Means adalah sebagai berikut : 1. Menentukan K dimana K adalah banyak cluster yang ingin dibentuk.
2. Pilih K buah data secara acak dari set data yang ada sebagai pusat cluster awal. 3. Langkah ke 3 ini lakukan :
X , X = (X X ) . (2.1)
Keterangan:
= Jarak terpendek antara dan dimana adalah data dan adalah centroid
= Nilai data ke-j
= Nilai centroid ke-j
= Dimensi data
j = Data ke-j (1,2,3, ,n)
b. Menghitung BCV (Between Cluster Variation)
= ( , ) .. (2.2)
Keterangan :
= Jarak antarcluster
( , ) = Jarak antaraclusterkecluster
c. Menghitung WCV(Within Cluster Variation)
WCV adalah Jumlah kuadrat jarak pusat tiap cluster yang paling minimum.
WCV = a d(x , m ) ... (2.3) Keterangan :
WCV = Jarak antara anggota dalamCluster. k = Jumlah data
i = Jumlahcluster
a = Keanggotaan data ke-k keclusterke-i = Nilai centroid ke-i
x = Data ke-k
d. Menghitung rasio
= (2.4)
Keterangan: r = Rasio
4. Perbaharui pusat-pusat kelompok
= .. .. ... .... (2.5)
Keterangan :
=Centroidke-i
= Jumlah nilaiclusterke-i
= Jumlah data setiapclusterke-i
Jika ada data yang berpindah cluster, maka proses dilanjutkan ke iterasi selanjutnya, jika tidak maka data sudah stabil dan proses dihentikan.
2.3 Algoritma Genetika
Konsep algoritma genetika pertama kali diperkenalkan oleh John Holland dari Universitas Michigan pada tahun 1975. Algoritma genetika yang diperkenalkan Holland tersebut dapat direpresentasikan dengan urutan langkah-langkah prosedural untuk bergerak dari satu populasi (individu-individu) ke populasi lain dengan menggunakan proses seleksi dan proses genetika alamiah yang dikenal sebagai
crossoverdan mutasi. (Negnevitsky, 2005).
Algoritma Genetik khususnya diterapkan sebagai simulasi komputer dimana sebuah populasi representasi abstrak (disebut kromosom) dari solusi-solusi calon (disebut individual) pada sebuah masalah optimasi akan berkembang menjadi solusi-solusi yang lebih baik. Secara tradisional, solusi-solusi-solusi-solusi dilambangkan dalam biner sebagai string '0' dan '1', walaupun dimungkinkan juga penggunaan penyandian (encoding) yang berbeda.
Algoritma Genetika sebagai cabang dari Algoritma Evolusi merupakan metode yang digunakan untuk memecahkan suatu masalah dengan pencarian nilai dalam sebuah masalah optimasi yaitu permasalahan-permasalahan yang bukan linier (Gen & Cheng, 2000).
Algoritma genetika memakai mekanisme seleksi alam dan ilmu genetika sehingga istilah-istilah pada Algoritma Genetika akan sejalan dengan istilah-istilah pada seleksi alam dan ilmu genetika pada umumnya. Sebuah solusi yang dikembangkan
kromosom tersebut disebut sebagai populasi. Sebuah kromosom dibentuk dari komponen-komponen penyusun yang disebut sebagai gen dan nilainya dapat berupa bilangan numerik, biner, simbol ataupun karakter. Hal tersebut dilihat dari permasalahan yang ingin diselesaikan. Kromosom-kromosom tersebut akan berevolusi secara terus menerus yang nantinya akan disebut sebagai generasi. Dalam tiap generasi kromosom tersebut dievaluasi tingkat keberhasilan nilai solusinya terhadap masalah yang ingin diselesaikan menggunakan ukuran yang disebut dengan fitness.
Secara umum tahapan proses dari algoritma genetika diperlihatkan pada Gambar 2.2 berikut ini :
Gambar 2.2 Ilustrasi tahapan proses dari algoritma genetika(Gen & Cheng, 1997)
lebih baik dalam memperkirakan solusi optimum, proses iterasi kemudian berlanjut sesuai dengan jumlah generasi yang ditetapkan.
2.3.1 Struktur Umum Algoritma Genetika
Algoritma genetika memberikan pilihan untuk menentukan nilai parameter dengan menduplikasi cara reproduksi genetika, pembentukan kromosom baru, proses migrasi gen, serta seleksi alami seperti yang terjadi pada organisme mahluk hidup. Secara umum Algoritma Genetika dapat diilustrasikan melalui diagram pada Gambar 2.3 :
Gambar 2.3 Diagram Alir Algoritma Genetika
Pada algoritma genetika terdapat beberapa definisi penting yang harus dipahami sebelumnya, yaitu :
b) Kromosom/Individu : merupakan gabungan dari gen-gen yang membentuk nilai tertentu dan menyatakan solusi yang mungkin dari suatu permasalahan. c) Populasi : merupakan sekumpulan individu yang akan diproses bersama
dalam satu satuan siklus evolusi.
d) Fitnessmenyatakan seberapa baik nilai dari suatu individu yang didapatkan. e) Seleksi merupakan proses untuk mendapatkan calon induk yang baik.
f) Crossovermerupakan proses pertukaran atau kawin silang gen-gen dari dua induk tertentu.
g) Mutasi merupakan proses pergantian salah satu gen yang terpilih dengan nilai tertentu.
h) Generasi merupakan urutan iterasi dimana beberapa kromosom tergabung. i) Offspringmerupakan kromosom baru yang dihasilkan.
Gambar 2.4 Individu dalam Algoritma Genetika Sumber : (Mitchell, 1996)
2.3.2 Teknik Pengkodean
diproses melalui algoritma genetik, maka alternatif solusi tersebut harus dikodekan terlebih dahulu kedalam bentuk kromosom. Masing-masing kromosom berisi
sejumlah gen yang mengodekan informasi yang disimpan didalam individu atau kromosom.Gen dapat direpresentasikan dalam bentuk bit,bilangan real, string, daftar aturan, gabungan dari beberapa kode, elemen permutasi, elemen program atau representasi lainnya yang dapat diimplementasikan untuk operator genetika.
2.3.3 Membangkitkan Populasi Awal dan Kromosom
Membangkitkan populasi awal adalah proses membangkitkan sejumlah individu atau kromosom secara acak atau melalui prosedur tertentu. Ukuran untuk populasi tergantung pada masalah yang akan diselesaikan dan jenis operator genetika yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian dilakukan pembangkitan populasi awal. Apabila ukuran populasi yang dipilih terlalu kecil, maka
tingkat eksplorasi atas ruang pencarian global akan terbatas, walaupun arah menuju konvergensi lebih cepat. Apabila ukuran populasi terlalu besar, maka waktu
akanbanyak terbuang karena berkaitan dengan besarnya jumlah data yang dibutuhkan dan waktu ke arah konvergensi akan lebih lama (Goldberg, 1989).
Teknik dalam pembangkitan populasi awal ini ada beberapa cara, diantaranya adalah sebagai berikut:
1. Random Generator
Teknik random generator adalah teknik yang melibatkan pembangkitkan bilangan random untuk nilai setiap gen sesuai dengan representasi kromosom yang digunakan.
2. Pendekatan Tertentu
Pendekatan tertentu yaitu dengan memasukkan nilai tertentu kedalam gen dari populasi yang dibentuk.
3. Permutasi Gen
2.3.4 EvaluasiFitness
Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran performansinya. Tujuan dari tahap ini yaitu untuk mendapatkan nilai fitness yang akan berguna dalam seleksi kromosom untuk generasi berikutnya.
2.3.5 Operator Genetika
Sama seperti suatu penyelesaian umum lainnya, Algoritma Genetika mempunyai operator-operator yang secara berurutan dipakai untuk menyelesaikan suatu
permasalahan. Operator tersebut dibahas berikut ini :
1) Selection
Selection dilakukan untuk memilih individu dari himpunan populasi dan offspring
yang dipertahankan hidup pada generasi berikutnya. Semakin baik nilai fitness sebuah kromosom maka semakin besar peluangnya untuk terpilih. Hal ini dilakukan agar terbentuk generasi berikutnya yang lebih baik dari generasi sekarang. Metode
selection (seleksi) yang sering digunakan adalah tournament selection, roulette wheel,steady statedanelitism.
a) Tournament Selection
Metode ini menjalankan sebuah persaingan diantara beberapa individu yang dipilih secara acak dari populasi dan memilih pemenangnya untuk disilangkan. Tekanan persaingan dapat dirubah dengan mengubah ukuran persaingan. Jika lebih besar, maka individu yang lebih lemah memiliki kesempatan yang lebih kecil untuk terpilih. Kelebihan metode ini adalah bekekerja pada arsitektur yang berbeda-beda dan mengizinkan tekanan persaingan untuk mudah diubah.
b) Roulette Wheel
Calon induk yang akan dipilih berdasarkan nilai fitness yang dimilikinya, semakin baik individu tersebut yang ditunjukkan dengan semakin besar nilai fitnessnya akan mendapatkan kemungkinan yang lebih besar untuk terpilih sebagai induk. Misalkan
tersebut, maka semakin besar pula tempat yang tersedia. Ilustrasinya dapat digambarkan sebagai berikut :
Gambar 2.5 Ilustrasi Seleksi denganRolette Wheel
c) Steady State
Metode ini tidak banyak digunakan dalam proses seleksi karena dilakukan dengan mempertahankan individu yang terbaik. Pada setiap generasi, akan dipilih beberapa kromosom dengan nilai fitnessnya yang terbaik sebagai induk, sedangkan kromosom-kromosom yang memiliki nilai fitness terburuk akan digantikan dengan offspring yang baru. Sehingga pada generasi selanjutnya akan terdapat beberapa populasi yang bertahan.
d) Elitism
Bila membuat populasi baru dengan persilangan dan mutasi, kita memiliki
kesempatan yang besar untuk kehilangan kromosom yang terbaik. Metode ini menyalin beberapa kromosom terbaik ke populasi baru, sisanya dilakukan dengan cara biasa. The Elitism dapat meningkatkan kinerja AG karena menghindari hilangnya solusi terbaik.
2) Crossover
Salah satu komponen yang paling penting dalam algoritma genetika adalah pindah silang ataucrossover. Sebuah kromosom yang mengarah pada solusi yang baik dapat diperoleh dari proses memindah-silangkan dua buah kromosom. Pindah silang juga dapat berakibat buruk jika ukuran populasinya sangat kecil. Dalam suatu populasi yangsangat kecil, suatu kromosom dengan gen-gen yang mengarah pada solusi
25%
20%
15%
40% Kromosom1
Kromosom2
Kromosom3
terbaik akan sangat cepat menyebar ke kromosom-kromosom lainnya. Untuk mengatasi masalah ini digunakan suatu aturan bahwa pindah silang hanya bisa
dilakukan dengan suatu probabilitas tertentu, artinya pindah silang bisa dilakukan hanya jika suatu bilangan random yang dibangkitkan kurang dari probabilitas yang ditentukan tersebut. Pada umumnya probabilitas tersebut diatur mendekati 1.
3) Mutation
Operator mutation (mutasi) dioperasikan sebagai cara untuk mengembalikan materi genetik yang hilang. Melalui mutasi, individu baru dapat diciptakan dengan melakukan modifikasi terhadap satu atau lebih nilai gen pada individu yang sama. Mutasi mencegah kehilangan total materi genetika setelah reproduksi dan pindah silang. Mutasi ini berperan utuk menggantikan gen yang hilang dari populasi akibat seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi.
2.3.6 Terminasi
Proses optimasi yang dilakukan algoritma genetika akan mengalami terminasi (berhenti) setelah suatu syarat berhenti dipenuhi. Beberapa syarat berhenti yang biasa digunakan adalah batas nilai fungsi fitness, batas nilai fungsi objektif, batas waktu komputasi, banyak generasi dan terjadinya konvergensi (Bandyopadhyay et al., 2001).
Pemilihan syarat terminasi yang paling tepat sangat bergantung pada tingkat kerumitan masalah dan perangkat keras yang digunakan. Untuk sebuah kasus mungkin sekali syarat terminasi yang paling cocok adalah batas nilai fungsi fitness, tetapi belum tentu syarat berhenti bisa diterapkan untuk kasus lainnya. Syarat berhenti yang biasanya dipakai adalah banyak generasi. Namun demikian, tidak menutup kemungkinan untuk dipilih kombinasi beberapa syarat terminasi.
2.3.7 Parameter Algoritma Genetika
Parameter genetika yang sering digunakan meliputi ukuran populasi (N), probabilitas pindah silang (Pc),dan probabilitas mutasi (Pm). Pemilihan ukuran
populasi yang digunakan tergantung pada masalah yang akan diselesaikan. Untuk masalah yang lebih kompleks biasanya diperlukan ukuran populasi yang lebih besar guna mencegah konvergensi prematur (yang menghasilkan optimum lokal).
Pada tiap generasi, sebanyak Pc * N individu dalam populasi mengalami pindah silang. Makin besar nilai Pc yang diberikan maka makin cepat struktur individu baru yang diperkenalkan ke dalam populasi. Jika nilai Pc yang diberikan terlalu besar, individu yang merupakan kandidat solusi terbaik dapat hilang lebih cepat dibanding seleksi untuk peningkatan kerja. Sebaliknya nilai Pc yang rendah dapat mengakibatkan stagnasi karena rendahnya angka eksplorasi.
Probabilitas mutasi adalah probabilitas dimana setiap posisi bit pada tiap string dalam populasi baru mengalami perubahan secara acak setelah proses seleksi. Dalam satu generasi dengan panjang L struktur, kemungkinan terjadi mutasi sebanyak Pm*N*L.
2.4 Teks Mining
Teks mining, yang juga disebut sebagai Text Data Mining (TDM) atau Knowledge Discovery in Text(KDT), secara umum mengacu pada proses ekstraksi informasi dari dokumen-dokumen teks tak terstruktur (unstructured). Teks mining dapat didefinisikan sebagai penemuan informasi baru dan tidak diketahui sebelumnya oleh komputer, dengan secara otomatis mengekstrak informasi dari sumber- sumber teks tak terstruktur yang berbeda. Kunci dari proses ini adalah menggabungkan informasi yang berhasil diekstraksi dari berbagai sumber (Tan,1999).
Tujuan utama teks mining adalah mendukung proses knowledge discovery pada koleksi dokumen yang besar. Pada prinsipnya, teks mining adalah bidang ilmu multidisipliner, melibatkan information retrieval (IR),text analysis, information extraction (IE), clustering, categorization, visualization, database technology,
Teks mining mencoba memecahkan masalah information overload dengan menggunakan teknik-teknik dari bidang ilmu yang terkait. Teks mining dapat
dipandang sebagai suatu perluasan dari data mining atau knowledge-discoveryin database(KDD), yang mencoba untuk menemukan pola-pola menarik dari basis data berskala besar. Namun teks mining memiliki potensi komersil yanglebih tinggi dibandingkan dengan data mining, karena kebanyakan format alami dari penyimpanan informasi adalah berupa teks. Teks mining menggunakan informasi teks tak terstruktur dan mengujinya dalam upaya mengungkap struktur dan arti Yang
tersembunyi dalam teks.
Perbedaan mendasar antara teks mining dan data mining terletak pada sumber data yang digunakan. Pada data mining, pola diekstrak dari basis data yang terstruktur, sedangkan di teks mining, pola diekstrak dari data tekstual (natural language). Secara umum, basis data didesain untuk program dengan tujuan melakukan pemrosesan secara otomatis, sedangkan teks ditulis untuk dibaca langsung oleh manusia. (Hearst, 2003)
2.4.1 Tahapan Teks Mining
Teks mining merupakan suatu proses yang melibatkan beberapa area teknologi. Namun secara umum proses-proses pada teks mining mengadopsi proses data mining. Bahkan beberapa teknik dalam proses teks mining juga menggunakan teknik-teknik data mining. Ada empat tahap proses pokok dalam teks mining, yaitu pemrosesan awal terhadap teks (text preprocessing), transformasi teks (text transformation), pemilihan fitur (feature selection), dan penemuan pola (pattern discovery).
(Even-Zohar, 2002).
1) Text Preprocessing
2) Text Transformation
Transformasi teks atau pembentukan atribut mengacu pada proses untuk
mendapatkan representasi dokumen yang diharapkan. Pendekatan representasi dokumen yang lazim digunakan adalah bag of word dan model ruang vektor (vector space model). Transformasi teks sekaligus juga melakukan pengubahan kata-kata ke bentuk dasarnya dan pengurangan dimensi kata-kata di dalam dokumen. Tindakan ini diwujudkan dengan menerapkan stemming dan menghapusstopwords.
3) Feature Selection
Pemilihan fitur (kata) merupakan tahap lanjut dari pengurangan dimensi pada proses transformasi teks. Walaupun tahap sebelumnya sudah melakukan penghapusan kata-kata yang tidak deskriptif (stopwords), namun tidak semua kata-kata didalam dokumen memiliki arti penting. Oleh karena itu, untuk mengurangi dimensi, pemilihan hanya dilakukan terhadap kata-kata yang relevan yang benar-benar merepresentasikan isi dari suatu dokumen. Ide dasar dari pemilihan fitur adalah menghapus kata-kata yang kemunculannya di suatu dokumen terlalu sedikit atau terlalu banyak. Algoritma yang digunakan pada teks mining, biasanya tidak hanya melakukan perhitungan pada dokumen saja, tetapi juga pada fitur.
Empat macam fitur yang sering digunakan:
a. Character, merupakan komponan individual, bisa huruf, angka, karakter spesial dan spasi, merupakan blok pembangun pada level paling tinggi pembentuk semantik fitur, seperti kata dan concept. Pada umumnya, representasi character-basedini jarang digunakan pada beberapa teknik pemrosesan teks.
b. Words, merupakan gabungan dari beberapa huruf atau gabungan huruf dan angka c. Terms, merupakan single word dan multiwordphrase yang terpilih secara
langsung dari corpus. Representasiterm-baseddari dokumen tersusun dari subset termdalam dokumen.
d. Concept, merupakan fitur yang diciptakan dari sebuah dokumen secara manual,
rule based, atau metodologi lain. (Triawati, 2009).
4) Pattern Discovery
adalah operasi teks mining, dan biasanya menggunakan teknik-teknik data mining. Dalam penemuan pola ini, proses teks mining dikombinasikan dengan proses-proses
data mining. Masukan awal dari proses teks mining adalah suatu data teks dan menghasilkan keluaran berupa pola sebagai hasil interpretasi atau evaluasi. Apabila hasil keluaran dari penemuan pola belum sesuai untuk aplikasi, dilanjutkan evaluasi dengan melakukan iterasi ke satu atau beberapa tahap sebelumnya. Sebaliknya, hasil interpretasi merupakan tahap akhir dari proses teks mining dan akan disajikan ke pengguna dalam bentuk visual (Even-Zohar,2002).
2.4.2 Ekstraksi Dokumen
Teks yang akan dilakukan proses teks mining, pada umumnya memiliki beberapa karakteristik diantaranya adalah memiliki dimensi yang tinggi, terdapat noise pada data, dan terdapat struktur teks yang tidak baik. Cara yang digunakan dalam mempelajari suatu data teks, adalah dengan terlebih dahulu menentukan fitur-fitur yang mewakili setiap kata untuk setiap fitur yang ada pada dokumen. Sebelum menentukan fitur-fitur yang mewakili, diperlukan tahappreprocessingyang dilakukan secara umum dalam teks mining pada dokumen, yaitu casefolding, tokenizing, filtering, stemming, tagging dan analyzing. Gambar 2.6 adalah tahap dari preprocessing: (Triawati, 2009)
Gambar 2.6 Tahap Preprocessing Sumber (Triawati, 2009)
1) Case FoldingdanTokenizing
Case folding adalah mengubah semua huruf dalam dokumen menjadi huruf kecil hanya a sampai huruf z yang diterima. Karakter selain huruf dihilangkan dan
CASE FOLDING
TOKENIZING
dianggap delimiter. Tahap tokenizing/parsing adalah tahap pemotongan string inputberdasarkan tiap kata yang menyusunnya. Gambar 2.7 adalah prosestokenizing: (Triawati, 2009).
Gambar 2.7 Proses Tokenizing Sumber (Triawati, 2009)
2) Filtering
Filtering adalah tahap mengambil kata-kata penting dari hasil token.Bisa menggunakan algoritma stoplist(membuang kata yang kurang penting) atau wordlist
(menyimpan kata penting).Stoplist / stopword adalah kata-kata yang tidak deskriptif yang dapat dibuang dalam pendekatanbag-of-words.
Gambar 2.8 Proses Filtering Sumber (Triawati, 2009)
3) Stemming
representasi yang sama. Tahap ini kebanyakan dipakai untuk teks berbahasa inggris dan lebih sulit diterapkan pada teks berbahasa Indonesia. Hal ini dikarenakan bahasa Indonesia tidak memiliki rumus bentuk baku yang permanen (Triawati, 2009 ).
Stemmingmerupakan suatu proses untuk menemukan kata dasar dari sebuah kata. Dengan menghilangkan semua imbuhan (affixes) baik yang terdiri dari awalan (prefixes), sisipan (infixes), akhiran (suffixes) dan confixes (kombinasi dari awalan dan akhiran) pada kata turunan. Misalnya kata berlari dan dilarikan akan diubah menjadi sebuah kata yang sama yaitu lari .
Metode stemming memerlukan masukan berupa kata yang terdapat dalam suatu dokumen, dengan menghasilkan keluaran berupa kata dasar. Mencari kata dasar (root word) dari suatu kata yang berimbuhan di dalam bahasa Indonesia merupakan pekerjaan yang kompleks. Berbeda dengan bahasa Inggris yang hanya memiliki imbuhan berupa suffixes (akhiran), kata-kata dalam bahasa Indonesia bisa memiliki imbuhan yang terdiri dari prefixes (awalan), suffixes (akhiran), infixes (sisipan) dan
confixes (kombinasi dari awalan, akhiran dan sisipan). Penggunaan imbuhan di dalam bahasa Indonesia bisa memakai lebih dari satu prefiks dan sufiks dalam satu kata. Sebuah kata dengan awalan bisa memiliki arti yang berbeda dari kata dasarnya. hal ini disebut kata turunan. selain itu sebuah awalan juga dapat mengubah huruf awal suatu akar kata yang biasa disebut peluluhan, sehingga dibutuhkan pengkodean
ulang (recode) untuk menemukan kembali akar kata berdasarkan penggunaan awalan.
Gambar 2.9 Proses Stemming
2.5Term Frequency-Inverse Document Frequency (TF-IDF)
TF-IDF (Term Frequency-Inverse Document Frequency) merupakan metode statistic numeric yang mencerminkan seberapa pentingnya sebuah kata dalam sebuah dokumen atau korpus (Rajaraman et al, 2011). Metode TF-IDF banyak digunakan sebagai metode pembanding terhadap metode pembobotan baru. Pada metode ini, perhitungan bobotterm t dalam sebuah dokumen dilakukan dengan mengalikan nilai
Term Frequency yaitu bobot kata pada dokumen berdasarkan kemunculannya dengan
Inverse Document Frequency yaitu pengurangan dominansi kata yang sering muncul di berbagai dokumen.
PadaTerm Frequency(tf), terdapat beberapa jenis formula yang dapat digunakan yaitu (Mandala, 1998) :
1. tf biner (binery tf), hanya memperhatikan apakah suatu kata ada atau tidak dalam dokumen, jika ada diberi nilai satu, jika tidak diberi nilai nol.
2. tf murni (raw tf), nilai tf diberikan berdasarkan jumlah kemunculan suatu kata di dokumen. Contohnya, jika muncul lima kali maka kata tersebut akan bernilai
lima.
3. tf logaritmik, hal ini untuk menghindari dominansi dokumen yang mengandung sedikit kata dalamquery, namun mempunyai frekuensi yang tinggi.
= 1 + ... (2.6)
4. tf normalisasi, menggunakan perbandingan antara frekuensi sebuah kata dengan jumlah keseluruhan kata pada dokumen.
= 0.5 + 0.5 ... (2.7)
Inverse Document Frequency(idf) dihitung dengan menggunakan formula :
= / ... (2.8)
Keterangan :
D adalah jumlah semua dokumen dalam koleksi.
dfjadalah jumlah dokumen yang mengandungtermt
dengan cara mengalikan nilai term frequency (tf) dengan nilai inverse document frequency(idf):
= ... ...
= ( / ) ... (2.9)
Keterangan :
w
ij adalah bobot termtjterhadap dokumenditfij adalah jumlah kemunculan termtjdalam dokumendi
D adalah jumlah semua dokumen yang ada dalam database
dfj adalah jumlah dokumen yang mengandung termtj(minimal ada
satu kata yaitu termtj)
Berdasarkan rumus 2.9, berapapun besarnya nilaitf
ij, apabila D =dfjmaka akan
didapatkan hasil 0 (nol) untuk perhitungan idf. Untuk itu dapat ditambahkan nilai 1 pada sisiidf, sehingga perhitungan bobotnya menjadi sebagai berikut :
= ( ( / )) ... (2.10)
Berikut ini diberikan contoh perhitungan bobot dokumen terhadap query yang diberikan pengguna, dengan menggunakan metode pembobotan TF-IDF (rumus 2.10) di atas :
Pengguna memberikanquery: gold silver truck, sehingga didapatkanquery terms
(Q) :
a. gold b. silver c. truck
Dalam koleksi dokumen terdapat :
dokumen 1 (d1) = Shipment of gold damaged in fire
dokumen 2 (d2) = Delivery of silver arrived in a silver truck dokumen 3 (d3) = Shipment of gold arrived in truck.
Untuk setiap query dan dokumen dalam koleksi, dilakukan pemotongan string
berdasarkan tiap kata yang menyusunnya, menghilangkan tanda baca, angka dan
stopword.
Setelah melalui proses ini, maka kata of, indan a pada ketiga dokumen dihapus lalu di-stemmingsehingga didapatkanterm-term(documents terms) sebagai berikut :
d. ship h. gold
e. damage i. fire f. deliver j. silver g. arrive k. truck
Pada tahap ini tiap dokumen diwujudkan sebagai sebuah vektor dengan elemen sebanyak term query yang terdapat dalam tiap dokumen yang berhasil dikenali dari tahap ekstraksi dokumen sebelumnya. Vektor tersebut beranggotakan bobot dari setiap
term queryyang dihitung berdasarkan metode TF-IDF.
Fungsi metode ini adalah untuk mencari representasi nilai dari tiap dokumen dalam koleksi. Dari sini akan dibentuk suatu vektor antara dokumen dan query yang ditentukan oleh nilai bobot term query dalam dokumen. Semakin besar nilai perhitungan bobot yang diperoleh maka semakin tinggi tingkat similaritas dokumen terhadap query. Contohnya untuk perhitungan bobot (w) term query silver dalam dokumen 2(d2) = Delivery of silver arrived in a silver truck, yaitu: jumlah kemunculantermsilver dalam dokumen 2(d2) adalah sebanyak dua kali (tf = 2), total dokumen yang ada di koleksi sebanyak tiga dokumen (D=3), dari ketiga dokumen dalam koleksi,termsilver muncul pada dokumen 2 (d2), sehingga total dokumen yang mengandungtermsilver adalah satu dokumen (df = 1), sehingga dapat diperoleh nilai
bobottermsilver pada dokumen 2 (d2).
= (log ( / ))
= 2 (log (3/1))
= 2 0,447 = 0,894
Dengan demikian dapat diperoleh nilai bobot (w) untuk setiap term pada query
Tabel 2.1 : Perhitungan Pembobotan TF-IDFTerm Query
Cosine similaritymerupakan metode perhitungan jarak antara vektor d1 dan d2 yang menghasilkan sudut cosine x diantara kedua vektor tersebut. Metode ini digunakan untuk menghitung nilai kedekatan vektor d dengan centroid atau pusat massa pada masing-masing cluster. Persamaan perhitungan cosine similarity adalah sebagai berikut :
, = = ... (2.11)
Persamaan 2.11 nilai AB merupakan dot product yang merupakan nilai untuk mengekspresikan sudut antara dua vektor. Dot product merupakan skalar nilai hasil
dari operasi dua vektor yang memiliki jumlah komponen yang sama. Jika vektor A dan B memiliki komponen sebanyak n, maka dot product dapat dihitung dengan
persamaan sebagai berikut:
= + + ... (2.12)
Persamaan 2.12 dot product dapat dihitung dengan menjumlahkan product dari masing-masing komponen pada kedua vektor tersebut. Sebagai contoh :
Hitungcosine similarityjika diketahui vektor dokumen sebagai berikut :
2.7 Kontribusi Penelitian
Adapun kontribusi penelitian yang dilakukan adalah :
1. Memberikan pengetahuan bahwa algoritma genetika dapat digunakan pada proses penentuan pusat cluster awal untuk pengelompokan dokumen.