Jurusan I l m u K o m p u t e r F M I P A U S U , M e d a n email: [email protected]
Abstrak
Dalam paper ini, penulis mengembangkan suatu formula POSI (Persentage Of Similarity) dengan Algortima Genetika (Genetic Algorithm, GA) untuk menemukan nilai kemiripan dokumen yang diperoleh dari suatu database. Kemiripan ini didasakan pada jumlah keyword (katakunci) yang ditemukan dan berkompetisi menggunakan GA. Sebagai data testing penulis menggunakan database dari koleksi jurnal, paper dan proceeding dari BATAN(Badan Tenaga Atom Nasional) ditambah beberapa tesis (skripsi) mahasiswa sebagai benchmark data-set. Penulis memodifikasi keyword dari koleksi dokumen tersebut menjadi bentuk kromosom dengan maksud untuk mendapatkan nilai kemiripan yang paling optimum untuk diseleksi berdasarkan fitness kromosom. Penulis mengembangkan sebuah prototype mesin pencari dokumen yang disebut sebagai Pendeteksi Kemiripan Dokumen (PKD). PKD ini dapat dimanfaatkan untuk berbagai jenis database sesuai dengan keperluan yang dibutuhkan.
Kata Kunci: database, optimasi, kemiripan, POSI, GA
1. PENDAHULUAN
Sekarang ini, issu media penyimpanan dokumen tidak lagi menjadi masalah karena sudah tersedia banyak media penyimpanan yang sangat besar. Salah satu masalah yang sering terjadi dalam Information Retrieval System (IRS) adalah nilai kemiripan dokumen yang diperoleh dari suatu database tidak sesuai dengan kueri yang diberikan.
Mengatasi masalah ini, para peneliti telah mengimplementasikan beberapa metode seperti model Boolean, model vector space, model probabilistik, fuzzy retrieval, dan beberapa model lainnya yang berbasis teknik kecerdasan buatan (based on artificial intelligence techniques) [1].
Pada paper ini, penulis bermaksud untuk mendeteksi kemiripan dokumen dengan pendekatan teknik kompetisi keyword pada GA. Teknik GA digunakan karena kemampuannya melakukan komputasi berdasarkan kompetisi keyword [2, 3]. Keyword dokumen digunakan sebagai kueri yang dimodifikasi menjadi kromosom. Kromosom dibentuk oleh bit nol (0) dan satu (1). Penelitian difokuskan untuk mendeteksi kemiripan suatu dokumen (paper) yang diinput oleh user dengan koleksi dokumen yang ada dalam bdatabase. Sebagai contoh kita punya dokumen (paper), ingin kita uji kepmiripan isinya dengan dokumen (paper) yang ada pada database, maka system ini akan mampu untuk mendeteksi kemiripan teks dokumen (paper) tersebut.
2. METODOLOGI
Gambar 1 menunjukkan tipikal metodologi dari system yang dibuat menggunakan skema GA. Koleksi dokumen direpresentasikan oleh beberapa keyword yang akan diproses oleh GA melalui kompetisi keyword. User dapat memilih judul dokumen untuk dideteksi kemiripannya dengan dokumen yang ada dalam database. Keyword dokumen tersebut akan diproses dengan teknik GA untuk mengahasilkan keyword solusi. Kemudian kemunculan keyword solusi akan dihitung pada setiap dokumen dalam koleksi dengan menggunakan formulasi POSI. Selanjutnya berdasarkan jumlah kemunculan ini akan dihitung nilai similarity dokumen yang ditemukan dari database dan diurutkan berdasarkan besarnya nilai kemiripan yang diperoleh tersebut.
Pada system ini penulis menerapkan formulasi fitness Jaccard dan formulasi fitness Cosine pada GA. Keyword dokumen di-generate menjadi kromosom dalam GA, kemudian setelah melalui kompetisi berdasarkan faktor Jaccard dan Cosine dihasilkan keyword solusi untuk setiap faktor fitnees.
Dari teorema Luhn, menyatakan bahwa kemunculan term (keyword) dalam suatu dokumen akan menjadi tolok ukur kedekatan term (keyword) pada suatu dokumen. Berdasarkan teorema ini penulis menghitung keyword solusi yang ditemukan pada setiap dokumen dalam data base dengan meng-create suatu formulasi yang disebut dengan POSI (Percentage Of Similarity). POSI atau ditulis dengan Sim (k,d) adalah persentase (similarity keyword dengan dokumen) yakni jumlah keyword solusi yang ditemukan dalam setiap dokumen (= jumlah ki x dj)
dibagi dengan jumlah keseluruhan keyword solusi yang ditemukan dalam koleksi dokumen ( = KStotal),
k= keyword solusi yang ditemukan dalam dokumen, d = dokumen. Hasil akhirnya adalah nilai kemiripan dokumen disusun (diurutkan) berdasarkan besarnya nilai POSI yang dimiliki setiap dokumen yang ter-retrieve dari database.
2.1 Pendekatan Kompetisi Keyword.
Pendekatan kompetisi keyword memenej populasi setiap individu, P (t) = x1,…,xn pada iterasi t. Setiap
individu merepresentasikan problem yang dihadapi dan diimplementasikan sebagai struktur data S. Setiap solusi xi dievaluasi untuk memberikan nilai fitness.
Kemudian populasi baru pada iterasi t+1 dibentuk berdasarkan seleksi nilai fitness yang lebih besar. Crossover dan mutasi adalah bagian yang penting pada proses GA ini. Performansi GA sangat dipengaruhi oleh kedua operator ini.
Pendekatan ini secara umum adalah sebagai berikut: Diberikan banyak keyword sebagai kueri, kemudian dilakukan kompetisi keyword untuk memperoleh keyword solusi sebagai keyword yang paling berpotensi (yang paling penting). Keyword solusi ini digunakan untuk mendapatkan dokumen yang relevan dari database. Penulis menggunakan pemrosesan GA untuk mengoptimasi melalui seleksi keseluruhan keyword sebagai kueri untuk mendapatkan keyword solusi. Jika keyword solusi sudah diperoleh maka proses GA berhenti. Proses selanjutnya adalah mengitung kemunculan keyword solusi ini dengan POSI pada setiap dokumen dalam database. Kompetisi keyword pada proses GA ditunjukkan pada gambar 2.
2.2 Pengkodean kromosom
Diberikan sejumlah n kueri (n adalah integer) dimana setiap kueri Qi (i = 0, 1, ...,n) terdiri dari j keyword (j
adalah integer), direpresentasikan oleh qij yang
artinya keyword ke j dari dokumen ke i
Penulis mendefenisikan bahwa kromosom direpresentasikan oleh keyword sebagai: Q0, Q1, Q2,
...,Qn, dan beberapa kueri adalah sebagai berikut:
Q0 = ( q01, q02 , q03 , ...q0j )
Q1 = ( q11, q12 , q13 , ...q1j )
Q2 = (q21, q22 , q23 , ...q2j )
Qn = ( qi1, qi2 , qi3 , .... qij )
(i &j adalah integer 1,2,3…n)
Kemudian panjang kromosom adalah Qtotal = {Q0 U
Q1 U Q2 U.... Qn }. Sebagai contoh: andaikan kita
mempunya lima (5) paper disebut sebagai paper-0, paper-1, paper-2, paper-3, paper-4, yang direpresenatsikan oleh DOC-0, DOC-1, DOC-2, DOC-3, dan DOC-4. Misalkan kueri dari user adalah: Q: Information, Retrieval, Indexing (tiga keyword). Lalu dokumen berikut direpresentasikan oleh keyword:
DOC-1: Data, Retrieval, Database, Computer, Networks, Improvements, Information, Method, Multiple, Query, Relation (11 keyword).
DOC-2: Information, Retrieval, Storage, Indexing, Keyword (5keyword).
DOC-3: Artificial, Intelligence, Information, Retrieval, Systems, Indexing, Natural, Language, Processing (9 keyword).
DOC-4: Fuzzy, Set, Theory, Information, Retrieval, Systems, Indexing, Performance, Query (9 keyword).
DOC-5: Information, Retrieval, System, Indexing, Stairs (5 keyword).
Maka himpunan jumlah keyword sebagai yang mewakili keseluruhan dokumen adalah sebagai berikut:
{Information, Retrieval, Indexing, Data, Database, Computer, Networks, Improvements, Method, Multiple, Query, Relation, Storage, Keyword, Artificial, Intelligence, Systems, Natural, Language, Processing, Fuzzy, Set, Theory, Performance, Stairs}
Kemudian kromosom GA akan memiliki panjang 25 kromosom (25 bit), dimana kromosom tersebut diwakili oleh bit 0 (nol) dan satu (1).
Kromosom yang merepresentasikan setiap dokumen dan kueri akan dibentuk berdasarkan kemunculan keyword dalam dokumen tersebut (1 berarti keyword
Koleksi Dokumen Pada Database Kueri Gambar 1: Metodologi POSI Cosine POSI Jaccard Jaccard Cosine GA Fitnes Cosine e Fitnes Jaccard
ada dalam dokumen dan 0 berarti keyword tidak muncul dalam dokumen). Berdasarkan keyword yang dimiliki dokumen di atas maka dapat ditentukan kromosomnya sebagai berikut:
C1 = ( 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) C2 = ( 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 ) C3 = ( 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0 ) C4 = ( 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0 ) C5 = ( 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 ) Q = (1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ) Pendekatan kompetisi keyword pada GA ditunjukkan pada gambar 2.
Gambar 2. Pendekatan Kompetisi Keyword 2.2. Parameters of GA
Ada dua parameter dasar pada GA yakni crossover probability(pc) dan mutation probability (pm). Kedua
parameter ini yang menentukan hasil dalam pemrosesan GA. Nilai yang biasa digunakan yakni (pc = 0.7 dan pm = 0.01), dengan alasan bahwa nilai
ini membantu untuk memenej kelangsungan popolasi dan menghindari konvergensi yang premature dari algoritma [4].
2.2.1 Crossover
Crossover probability: Adalah peluang untuk melakukan pertukaran gen-gen diantara kromosom. Pada biologi, crossover crossover adalah hibridasi antara jenis yang berbeda. Untuk melakukan
crossover, perlu ditentukan konstanta pc, yaitu konstanta yang menyatakan besarnya peluang untuk melakukan crossover. Nilai pc tersebut biasanya adalah sebesar 0.7. Iterasi dilakukan pada tiap kromosom dan dilakukan pengambilan nilai acak diantara 0 s/d 1 pada tiap kromosom. Jika nilai acak yang dihasilkan adalah <= pc, maka kromosom tersebut terpilih untuk dilakukan crossover, sedangkan jika > pc, maka tidak dilakukan crossover pada kromosom tersebut.
Pada saat dilakukan crossover, dilakukan pengambilan nilai acak posisi gen pada kromosom untuk menentukan gen-gen mana saja yang ditukar. Dalam hal ini, terdapat dua teknik, yaitu 1-point crossover
dan 2-point crossover.
Pada 1-point crossover, nilai acak posisi gen yang diambil (misalkan n) hanya satu saja. Kemudian dilakukan pertukaran gen dari kromosom pertama dengan kromosom kedua, yaitu dari gen ke-1 hingga gen ke-n. Sebagai contoh, jika terdapat dua kromosom :
01101101010110101101 11011011010100100101
Dan nilai acak (n) yang dihasilkan adalah 7 misalnya, maka kromsom-kromosom hasil crossover adalah sebagai
berikut :
11011011010110101101 01101101010100100101
Pada 2-point crossover, nilai acak posisi gen yang diambil diambil adalah dua buah (m dan n). Pertukaran gen dari kedua buah kromosom adalah dengan menukarkan gen ke-m hingga gen ke-n pada kedua buah kromosom tersebut. Sebagai contoh, jika terdapat dua kromosom :
A: 01101101010110101101 B : 11011011010100100101
Dan nilai acak yang dihasilkan adalah 6 dan 15, maka kromosom-kromosom hasil crossover adalah sebagai berikut :
A : 01101011010100101101 B: 11011101010110100101 2.2.2 Mutation
Mutation probability: adalah peluang perubahan gen-gen pada kromosom. Pada mutasi, dilakukan inversi nilai bit, yaitu bit 0 ke bit 1 ataupun bit 1 ke bit 0. Untuk melakukan mutasi, perlu ditentukan konstanta pm, yaitu konstanta yang menyatakan peluang terjadinya mutasi. Nilai pm biasanya diset pada nilai sangat rendah, misalnya 0.01, sesuai pada kehidupan biologis nyata dimana sangat kecil kemungkinan terjadinya mutasi pada keadaan standar.
Iterasi dilakukan pada setiap gen pada setiap kromosom dan mengambil nilai acak 0 s/d 1. Jika nilai acak yang dihasilkan adalah <= pm, maka pada gen/bit tersebut dilakukan inversi, dan sebaliknya jika > pm, tidak dilakukan apa-apa. Misalkan terdapat suatu kromosom :
A: 01101101010110101101
Dilakukan iterasi pada tiap bit dan dilakukan pengambilan nilai acak 0 s/d 1, misalkan nilai setiap bit adalah : Bit ke-1 : 0.180979788303375 Bit ke-2 : 0.64313793182373 Bit ke-3 : 0.517344653606415 Bit ke-4 : 0.0501810312271118 Bit ke-5 : 0.172802269458771 Bit ke-6 : 0.0090474414825439 Bit ke-7 : 0.225485235254974 Bit ke-8 : 0.128151774406433 Bit ke-9 : 0.581712305545807 Bit ke-10 : 0.173850536346436 Bit ke-11 : 0.2264763712883 Bit ke-12 : 0.518977284431458 Bit ke-13 : 0.477839291095734 Bit ke-14 : 0.529659032821655 Bit ke-15 : 0.27648252248764 Bit ke-16 : 0.266663908958435 Bit ke-17 : 0.791664183139801 Bit ke-18 : 0.167530059814453 Bit ke-19 : 0.874832332134247 Bit ke-20 : 0.0878018701157
Maka kromosom hasil mutasi adalah sebagai berikut : A: 0110111101011010110
2.3 Fitness
Evaluation 2.3.1 Jaccard FormulationFitnes adalah nilai yang dapat digunakan menyeleksi kromosom untuk generasi berikutnya. Pada penelitian ini formulasi Jaccard dan Cosine digunakan pada proses GA sebagai berikut [5]:
=
)
(
#
)
(
#
Y
X
Y
X
(1)Dimana #(X) adalah jumlah anggota (term) yang ditemukan pada dokumen X, #(Y) adalah jumlah anggota (term) yang ditemukan pada dokumen Y dan #(S) menunjukkan jumlah elemen (term) dalam S. sebagai contoh:
S = {a, b, c, d, e, f, g, h, i, j}
Jika X = {a, b, e, g, h, i, j} dan Y = {b, c, d, f, g, j}
3
.
0
10
3
)
(
#
)
(
#
}
,
,
{
}
,
,
,
,
,
,
,
,
,
{
Y
X
Y
X
maka
j
g
b
Y
X
j
i
h
g
f
e
d
c
b
a
Y
X
kemudian
2.3.2 Cosine FormulationFormulasi Cosine untuk fitness dapat dilihat sebagai berikut:
(2)
Dimana X adalah himpunan anggota (term) yang ditemukan pada dokumen X dan Y adalah himpunan anggota (term) yang ditemukan pada dokumen Y. 2.3.3 POSI Formulation (Percentage Of Similarity) Setelah keyword solusi ditemukan oleh GA, lalu kemunculannya dalam setiap dokumen koleksi dihitung dengan formulasi “POSI”. Perhitungan dengan POSI ini dapat dilihat pada persamaan 3 sebagai berikut [6]:
3. PROTOTIPE DARI PKD
Penulis telah mengembangkan sebuah prototype dari PKD (Pendeteksi Kemiripan Dokumen) yang ditunjukkan pada gambar 3.
n
∑ ki dj 1
Sim (k,d)= --- (3) KS total
Dimana Sim (k,d) = Nilai Persentasi kemiripan kidj = keyword ke i yang ditemukan pada
dokumen ke j, (i dan j = 0, 1,2,3,,,n, n adalah integer).
KS = Keyword Solusi yang ditemukan dalam koleksi dokumen
X ∩ Y
│X│^0.5 + │Y│^0.5
Gambar 3. Prototipe PKD (Pendeteksi Kemiripan Dokumen)
Dari hasil pendeteksian pada gambar 3, nilai POSI sudah dapat terlihat setelah melalui proses GA. Berdasarkan nilai POSI ini user sudah dapat memilih suatu dokuemn untuk dilihat lebih detail isi dokumen tersebut, dengan melihat abstrak dan isi keseluruhan. 4. HASIL DAN PEMBAHASAN
4.1.Hasil deteksi POSI dengan Fitness Jaccard Sebagai contoh, judul dokumen (paper) yang akan dideteksi kemiripannya terhadap dokumen dalam database adalah seperti dibawah ini.
1. Penentuan Unsur Kelumit dalam Tanah di Daerah endemik Gondok . Keywords:
senyawa, pirofosfat, sel, merah,
teknesium, jantung, hati
2. Studi Perbandingan Kandungan Unsur-unsur Kelumit di Daerah Penderita Gondok Endemik. Keywords : Asam Oksalat, Fosfat, sulfat, feri nitrat, Koefisien, SO4, Fe2O3, torium, HNO3
Sebagai hasil proses dari kompetisi keyword pada GA setelah melalui beberapa kali iterasi, maka diperoleh keyword solusi seperti berikut ini:
LAST GENERATION:
Chromosome of Keyword Solution:
11011111000000001
Keywords Solution: senyawa, pirofosfat, merah, teknesium, jantung, hati, HNO3
Method : Jaccard
Process Time : 1 second
Hasil PKD formulasi POSI dengan fitness Jaccard pada dokumen yang terretrieve diperoleh seperti pada table 1.
Table 1: Hasil PKD POSI dengan fitness Jaccard No.urut Dok POSI (%) Id - doc
Judul dokumen yang ditemukan
1 43.57 531 Metode Analisis Uranium dalam Urin
2 40.00 579 Penentuan U(VI) dengan
Adanya Ce(IV) dan Ferro
Sulfanat Secara Polarografi
3 30.79 001 Pengaruh Pemupukan P Dan
Pengapuran Pada Tumpangsari
Jagung Kedelai Terhadap
Hasil dan Fiksasi N
Simbiotik
4 28.46 002 Sistem Deteksi Spektroskopi
Korelasi Foton I. Penguat
Dan Diskriminator Tabung
Foto Pengganda Pencacah
Foton
5 27.35 003 Eliminasi Asap Coklat dalam
Pelarutan UO2 Pelet Hasil PPTN
6 4.34 160 Radiation
Graft-Copolymerization Of Styrene On Natural Rubber Latex
7 2.50 168 Trial Intercountry Shipment
Of Irradiated Spices
8 1.33 228 Perancangan Evaporator untuk Pengolahan Limbah Radioaktif Cair di Pusat Penelitian Teknik Nuklir
9 0.23 266 Modifikasi Reaktor Pengendap
Uranium untuk Pengendap
Thorium
10 0.19 278 Penyelidikan
Geofisika di
Sektor Darat
Kalimantan
4.2 Hasil deteksi POSI dengan Fitness Cosine Dengan judul dokumen (paper) yang sama seperti pada fitness Jaccard, diuji cobakan dengan fitness Cosine, maka hasil proses kompetisi keyword pada GA diperoleh keyword solusi seperti berikut ini: LAST GENERATION:
Chromosome of Keywords Solution:
10111111000000000
Keywords Solution: senyawa, sel, merah, teknesium, jantung, hati
Method : COSINE
Process Time : 1 second
Hasil PKD formulasi POSI dengan fitness Cosine pada dokumen yang terretrieve diperoleh seperti pada table 2.
No.urut doc POSI (%) Id-Doc
Judul dokumen yang
ditemukan
1 44.55 531 Metode Analisis
Uranium dalam Urin
2 40.41 579 Penentuan U(VI)
dengan Adanya Ce(IV)
dan Ferro Sulfanat
Secara Polarografi
3 31.67 001 Pengaruh Pemupukan P
Dan Pengapuran Pada
Tumpangsari Jagung
Kedelai Terhadap
Hasil dan Fiksasi N Simbiotik
4 31.67 002 Sistem Deteksi
Spektroskopi Korelasi Foton I. Penguat Dan
Diskriminator Tabung
Foto Pengganda
Pencacah Foton
5 31.67 003 Eliminasi Asap Coklat
dalam Pelarutan UO2 Pelet Hasil PPTN 6 21.67 160 Radiation Graft-Copolymerization Of Styrene On Natural Rubber Latex 7 21.67 168 Trial Intercountry Shipment Of Irradiated Spices 8 21.67 228 Perancangan Evaporator untuk Pengolahan Limbah Radioaktif Cair di Pusat Penelitian Teknik Nuklir 9 11.67 266 Modifikasi Reaktor Pengendap Uranium untuk Pengendap Thorium 10 11.67 278 Penyelidikan Geofisika di Sektor Darat Kalimantan 4.3 Evaluasi
Secara umum nilai PKD POSI dengan fitness Jaccard dan Cosine dapat dilihat pada gambar 5.
Com paris on of Docum e nt Sim ilarity
0 5 10 15 20 25 30 (%) (%) Jaccard Cosine Form ulation P er ce n ta g e Doc. 1 Doc. 2 Doc. 3 Doc. 4 Doc. 5
Gambar 4. Perbandingan hasil PKD POSI dengan Fitnes Jaccard dan Cosine
Beberapa paper sebagai kueri telah diujicobakan pada suatu database, hasil menunjukkan bahwa peringkat kemiripan yang diperoleh untuk kueri yang sama adalah konsisten walaupun nilai POSI bias berubah.
5. KESIMPULAN
Penulis telah menggambarkan PKD (Pendeteksi Kemiripan dokumen) yang akan mendeteksi dokumen (paper) dengan koleksi dokumen yang ada pada database dan nilai POSI akan ditampilkan pada user secara terurut. Melalui POSI pada PKD ini dapat memfasilitasi user untuk mendeteksi dokumen mana yang mirip dengan dengan dokumen yang dideteksi. Dari hasil proses GA, penulis menyimpulkan bahwa jika jumlah generasi pada GA meningkat, maka jumlah kejadian crossover dan mutasi juga meningkat, tapi hal ini tidak menjamin bahwa nilai POSI akan semakin besar. Penulis juga mendapatkan bahwa jika jumlah generasi pada GA makin meningkat, maka waktu iterasi juga akan meningkat.
Penulis telah mengembangkan sebuah retrieval pada prototype PKD dengan fitness Jaccard dan Cosine pada GA dengan formulasi POSI untuk mengurutkan kemiripan dokumen yang terretriev tersebut. Hasil retrieval POSI secara umum adalah konsisten, artinya dokumen-dokumen retrieval urutan teratas yang diperoleh dengan fitness Jaccard juga diperoleh dengan fitness Cosine.
DAFTAR REFERENSI
[1]. Salton and Christopher Buckley. Term weighting approaches in automatic text retrieval.
Information Processing and Management. 24 (5):513-523. 2000
[2]. Goldberg, David E. Genetic algorithms in Search, Optimization and Machine Learning. Massachusettts: Addison-Wesley, 1989.
[3]. Poltak Sihombing, A.Embong, Putra Sumari. A Technique of Probability in Document Similarity Comparison in IRS. In Proceedings of the IMT-GT (Indonesia Malaysia Thailand) Conference. Parapat, Indonesia.June 13-14, 2005 [4]. Poltak Sihombing, Putra Sumari, A.Embong. A Comparison of Document Similarity in Information Retrieval System by different formulation. In Proceedings of the IMT-GT (Indonesia Malaysia Thailand) Conference.
Penang, Malaysia. .June, 2006
[5]. Poltak Sihombing, M. Zarlis. Using Genetic Algorithm in Document Similarity Access. Seminar Nasional Riset Teknologi Informasi. SRITI 2006. Yogjakarta, July 2006.
[6] Poltak Sihombing, Keyword Competition Approach in Ranked Document Retrieval. Thesis Ph.D. Universiti Sains Malaysia (USM). Penang2009.