4. Koleksi dokumen yang digunakan adalah dokumen-dokumen yang berhubungan dengan bidang pertanian.
TINJAUAN PUSTAKA
Information Retrieval (Temu-Kembali Informasi)
Temu-kembali informasi erat dengan representasi, penyimpanan, pengorganisasian, dan akses ke informas i. Representasi dan pengorganisasian informasi seharusnya menyediakan fasilitas kemudahan akses terhadap informasi (Baeza-Yates & Riberio-Neto 1999).
Sebuah sistem temu-kembali informasi tidak menginformasikan subjek dari pencariannya, melainkan yang berhubungan dengan subjek pencariannya. Tingkat keterhubungan (recall) ditentukan oleh pengguna sendiri. Berbeda dengan data retrieval (temu-kembali data), pengguna mendapatkan hasil pencarian sesuai dengan subjek pencariannya (exact match). Perbedaan antara kembali informasi dengan temu-kembali data dapat dilihat pada Tabel 1 (Rijsbergen 1979).
Pada sistem temu-kembali data, ukuran kesamaannya tepat sesuai dengan yang diinginkan, sedangkan temu-kembali informasi, ukuran kesamaannya mendekati tepat. Hal ini dikarenakan apa yang menurut
sistem tepat belum tentu sama dengan anggapan pengguna.
Kesimpulan dari hasil sistem temu-kembali data menggunakan pendekatan deduktif yang sederhana (Rijsbergen 1979). Misal, aRb dan bRc maka aRc. Maksudnya, kesimpulan dari temu-kembali data dapat diramalkan. Temu-kembali informasi menggunakan pendekatan induktif, ketereratan hanya dispesifikasikan dengan derajat pasti atau ketidakpastian. Peubah (variable) merupakan hal yang paling dipercaya untuk menarik kesimpulan.
Tabel 1 Perbedaan data retrieval dengan
information retrieval
Data retrieval Information retrieval
Ketepatan Exact match Partial (best) match
Kesimpulan Deduction Induction
Model Deterministic Probabilistic
Klasifikasi Monothetic Polythetic
Bahasa query Artificial Natural Spesifikasi bahasa Lengkap Tidak lengkap Hasil Matching Relevant Error
response
Sensitif Tidak sensitif
Informasi relevan yang ditemu-kembalikan oleh sistem temu-kembali informasi belum tentu menemu-kembalikan semua informasi yang relevan dalam koleksi (probabilistic). Makna query dari temu-kembali informasi yang bersifat ambigu (polythetic) menyebabkan informasi yang relevan tidak semuanya ditemu-kembalikan. Query pada temu-kembali data hanya mempunyai satu makna (monothetic), sehingga dapat dipastikan semua informasi yang dibutuhkan ditemu-kembalikan.
Spesifikasi query yang tidak lengkap karena bahasa yang natural, menyebabkan hasil yang diinginkan berbeda-beda dari setiap pengguna, sehingga respon terhadap kesalahan sangat kecil. Hal ini karena tingkat keterhubungan antara pengguna satu dengan yang lainnya tidak sama.
Recall and Precision
Temu-kembali informasi mempunyai dua peubah untuk mengukur tingkat relevansi dari hasil yang ditemu-kembalikan. Recall
merupakan peubah yang digunaka n sistem temu-kembali informasi untuk membandingkan dokumen relevan yang ditemu-kembalikan dengan seluruh dokumen relevan dalam koleksi, sedangkan precision merupakan peubah untuk membandingkan dokumen relevan yang ditemu-kembalikan dengan seluruh dokumen yang telah ditemu-kembalikan (Baeza-Yates & Riberio-Neto 1999).
Untuk koleksi dokumen yang besar dan tidak terurut dengan baik, kedua peubah tersebut sulit digunakan. Nilai precision sangat tergantung pada keterurutan dokumen yang ditemu-kembalikan. Semakin terurut dokumen tersebut, semakin tinggi nilai
precision (sama dengan satu).
Tokenizer
Tokenizer merupakan suatu algoritma
untuk mendapatkan token dari suatu berkas teks (Ridha 2002). Tokenizer melakukan pemisahan terhadap isi dokumen menjadi unit yang paling kecil atau biasa disebut juga kata. Unit terkecil tersebut disebut juga sebagai
token.
Proses tokenizer juga melakukan pembersihan terhadap kata buang (stoplist) karena kata buang tersebut merupakan kata yang paling sering muncul dalam suatu dokumen. Sementara kata tersebut tidak berhubungan (relevant) dengan dokumen. Algoritma Soundex
Soundex merupakan suatu algoritma
fonetik yang digunakan untuk mengurangi kesalahan pengetikan query akibat kesalahan pengucapan. Algoritma Soundex yang asli telah dipatenkan oleh Margaret O'Dell dan Robert C. Russell pada tahun 1918. Metode yang digunakan adalah melakukan pengelompokan terhadap enam klasifikasi fonetik dari suara manusia (bilabial, labiodental, dental, alveolar, velar, dan glottal), dimana klasifikasi tersebut berdasarkan posisi bibir dan lidah untuk membuat suara (Repici 2006).
Algoritma Soundex adalah sebagai berikut:
- Pengubahan bentuk kata menjadi kapital (Upper Case), dan semua jenis tanda baca dibuang.
- Huruf pertama tidak diikutkan dalam konversi kode.
- Konversi kata ke dalam kode disesuaikan dengan Tabel 2 .
Tabel 2 Tabel pengelompokan konsonan algoritma Soundex (Repici 2006) Kelompok Alfabet <dihilangkan> A, I, U, E, O, H, W, Y 1 B, F, P, V 2 C, G, J, K, Q, S, X, Z 3 D, T 4 L 5 M, N 6 R
- Jika terdapat kode yang sama dengan kode sebelumnya, maka kode tersebut dibuang.
- Buang semua kode ‘0’.
- Panjang kode Soundex harus empat karakter, jika kurang dari empat karakter, maka tambahkan dengan ‘0’ di belakang kode terakhir, jika lebih dari empat karakter, maka kode yang diambil hanya empat karakter terdepan.
Pada tahun 1997, algoritma Soundex dikembangkan ke dalam bahasa Indonesia dengan mengganti pengelompokan konsonannya ke dalam faktor penyusun konsonan bahasa Indonesia. Faktor-faktor pembentuk konsonan tersebut adalah sebagai berikut (Primasari 1997):
1. Faktor artikulator dan titik artikulasi. 2. Faktor jalan yang dilalui oleh udara. 3. Faktor jenis halangan yang dijumpai
tatkala udara keluar.
Pengelompokan konsonan pada Tabel 3 dilakukan dengan memperhatikan faktor kedua dan ketiga.
Algoritma Fuzzy Soundex
Fuzzy Soundex melakukan pengaburan
(fuzzy) terhadap query. Maksudnya, satu query bisa menghasilkan lebih dari satu macam kode yang berbeda. Sistem temu-kembali fonetik
mampu meningkatkan nilai kesamaan (sim ilarity measure) antara dua nama jika kode yang dikaburkan semakin banyak. Jika tiap nama hanya memiliki sebuah kode
Soundex, kesamaannya adalah biner, sehingga
nilai kesamaannya kurang baik (Holmes Dave 9 Maret 2006, komunikasi pribadi).
Tabel 3 Tabel pengelompokan konsonan algoritma Soundex (Primasari 1997) Kelompok Alfabet <dihilangkan> A, I, U, E, O, H, W, Y 1 F, V 2 S, X, Z 3 L 4 R 5 M, N 6 B, C, D, P, K, T, G, J, Q
Panjang kode dan pengelompokan konsonan pada algoritma Fuzzy Soundex berbeda dengan algoritma Soundex. Panjang kode untuk algoritma Fuzzy Soundex adalah lima karakter, karena dengan menambah panjang kode sebanyak satu karakter, kesalahan yang terdapat pada akhir nama dapat diidentifikasi. Pengelompokan terhadap 18 konsonan dapat dilihat pada Tabel 4.
Tabel 4 Tabel pengelompokan konsonan algoritma Fuzzy Soundex
(Holmes & McCabe 2002) Kelompok Alfabet <dihilangkan> A, I, U, E, O, H, W, Y 1 B, P, F, V 2 C, S, Z 3 D, T 4 L 5 M, N 6 R 7 G ,J ,K, Q, X
Algoritma Fuzzy Soundex menggunakan substitusi n-grams dan code shift dalam upaya meningkatkan nilai recall dan precision hasil temu-kembali (Holmes & McCabe 2002).
N -grams
N-grams merupakan suatu metode yang menghitung nilai kesamaan antara n kata. Beberapa pen elitian mengenai algoritma fonetik menemukan kesalahan umum yang sama seperti pada Tabel 5 (Holmes & McCabe 2002). N-grams melakukan pemisahan per n huruf dari suatu kata. Misal untuk kata ’Cook’ dengan kata ’Cooke’ menggunakan digram seperti di baw ah ini: ’Cook’ à ’_C’ , ’Co’ , ’ oo’ , ’ok’, ’k_’ ’Cooke’ à ’_C’ , ’Co’ , ’ oo’ , ’ok’, ’ke’ , ’e_’ Dari digram di atas dapat diidentifikasi bahwa kata ‘cooke’ identik dengan ‘cook’ karena memiliki empat dari enam digram yang sama, sehingga kata ‘cooke’ diidentifikasi sebagai ‘cook’.
Tabel 5 Klasifikasi kesalahan menurut Damerau
Jenis kesalahan Nama Asli Kesalahan
Insertion Averrhoa Averrkhoa
Omission Retrofractum Retrofactum
Substitution Canna Kanna
Transposition Phyllanthus Pyhllanthus
N -grams Substitution
Damerau mendefinisikan kesalahan pengucapan ke dalam empat kategori seperti pada Tabel 5. N-grams substitution mampu mengurangi kesalahan pengucapan seperti yang dideskripsikan oleh Damerau. Tabel 6 menggambarkan jenis n-grams yang termasuk kasus kesalahan substitusi (Holmes & McCabe 2002).
Code Shift
Code shift merupakan salah satu upaya
untuk mengurangi jenis kesalahan Damerau
insertion dan omission. Teknik ini mampu
mengidentifikasi kesalahan yang terdapat pada awal nama, sedangkan untuk mengidentifikasi kesalahan pada akhir nama adalah dengan menambah panjang kode sebanyak satu karakter. Code shift mampu meningkatkan nilai recall sebesar 96 % dengan membuang karakter kedua dari lima bit kode Fuzzy
Soundex (Holmes & McCabe 2002).
Dice Coefficient
Dice coefficient merupakan suatu formula
untuk menghitung nilai kesamaan antara kode
fuzzy. Rumus dari Dice coefficient adalah
sebagai berikut (Holmes & McCabe 2002):
δ
= (2*γ
) / (α
+β
), denganδ
adalah nilai kesamaanγ
adalah jumlah irisan antara dua namaα
adalah jumlah kode pada nama 1β
adalah jumlah kode pada nama 2Tabel 6 Tabel jenis n-grams yang termasuk kasus n-grams substitution
N -grams Substitution CA KA CC, CK, CH KK CE SE CL KL CR KR CI SI CO KO CS, CZ, TS, TZ SS CU KU CY SY D G GG G H HH GN, KN, NG NN HR, WR RR H W WW PF, PH FF SCH SSS TIO SIO
Tatanama Binomial Nomenclatur
Tatanama binomial (binomial berarti ’dua nama’) merupakan aturan penamaan baku bagi semua organisme (makhluk hidup) yang terdiri dari dua kata dari sistem taksonomi (biologi), dengan mengambil nama genus dan nama spesies (Wikipedia 2006). Nama yang dipakai adalah nama baku yang diterapkan untuk fungi, tumbuhan dan hewan oleh penyusunnya (Carolus Linnaeus), namun kemudian segera diterapkan untuk bakteri.
METODE PENELITIAN
Penelitian dengan tema kesamaan fonetik ini pernah dilakukan (Primasari 1997). Algoritma kesamaan fonetik yang digunakan adalah Soundex dan Phoenix, dengan data nama manusia sebagai objek penelitiannya. Dalam hal ini, algoritma yang akan digunakan pada penelitian ini adalah algoritma Soundex,
Fuzzy Soundex dan Sound ex hasil penelitian
Primasari (1997) dengan data nama ilmiah sebagai objek penelitiannya.
Gambaran Umum Sistem Temu-Kembali Nama Ilmiah
Secara garis besar, gambaran umum sistem temu-kembali nama ilmiah dapat dilihat pada Gambar 1. Data Flow Diagram dari sistem temu-kembali nama ilmiah dapat dilihat pada Lampiran 1, 2, dan 3. Untuk antarmuka implementasi diberikan pada Lampiran 4.
Gambar 1 Gambaran umum sistem temu-kembali nama ilmiah.
Parsing (Tokenizer)
Proses parsing (tokenizer) adalah suatu proses unt uk mendapatkan kata (token ) dari sekumpulan kalimat. Proses parsing
melakukan pembersihan terhadap tanda baca dan karakter separator (white space). Beberapa tanda baca yang dianggap sebagai karakter separator karena suatu aturan adalah sebagai berikut:
1. Karakter (.), jika diikuti karakter separator lain.
2. Karakter (,), jika diikuti karakter selain numerik.
3. Karakter (’), jika diapit oleh karakter alphabet dan numerik.
4. Karakter (-), jika kata sebelum karakter (-) sama dengan karakter sesudahnya. Parsing Kamus
Nama-nama ilmiah dalam kamus memiliki jumlah kata yang berbeda. Oleh karena itu, diperlukan keseragaman dalam penentuan jumlah kata dalam satu nama ilmiah. Keseragaman tersebut dapat memudahkan proses pencarian, karena sistem melakukan pencarian mulai dari kata pertama.
Jumlah kata dalam penelitian ini akan diseragamkan sebanyak dua kata. Beberapa alasan digunakan pengambilan dua kata adalah sebagai berikut:
1. Kata-kata setelah kata kedua dalam nama ilmiah tidak banyak digunakan dalam dokumen-dokumen. Kata tersebut merupakan singkatan dari deskriptor yang hasil karyanya diakui (Hendrawan 2004). Contoh : Artemisia vulgaris Linn. 2. Pengambilan dua kata mengikuti sistem
penamaan binomial nomenclatur. Contoh :
Averhoa bilimbi (Belimbing asam). Oryza sativa (Padi ).
3. Penggunaan dua kata telah menjamin keunikan 354 nama ilmiah dalam kamus. Parsing Dokumen
Proses parsing dokumen terdiri dari dua tahap, yang pertama tahap parsing (tokenizer), dan yang kedua proses pembuangan kata buang. Kata-kata buang seperti nanti, nyaris, padahal, dan, dan lain-lain, dapat memboroskan ruang penyimpanan. Kata-kata buang tersebut merupakan kata-kata yang sering muncul dalam dokumen, tetapi tidak berhubungan (relevant) dengan dokumen. N-grams Substitution
Jenis N-grams yang akan dilakukan dalam penelitian ini adalah digram dan trigram. Query yang melalui proses N-grams akan dilakukan pengidentifikasian untuk beberapa kasus substitusi. Misalkan untuk digram ‘PH’ dan ‘PF’ akan disubstitusi
dengan ‘FF’. Jenis karakter substitusi dapat dilihat pada Tabel 6.
Code shift
Karakter yang dibuang dari lima bit kode
Fuzzy Soundex dalam penelitian ini adalah
karakter ke dua. Hal ini dengan pertimbangan pengucapan yang kurang jelas seringkali di awal penyebutan nama (Holmes & McCabe 2002). Hasil temu-kembali akan dibandingkan antara menggunakan code shift dengan tidak menggunakan code shift, untuk mengetahui seberapa besar pengaruh code shift terhadap hasil temu-kembali pada algoritma Fuzzy
Soundex.
Pengaburan Kode
Query yang telah dikonversi ke dalam
kode Fuzzy Soundex, akan dikaburkan dengan mengurangi panjang kode Fuzzy Soundex di tiap iterasinya. Misalkan query yang telah dikonversi adalah ‘A2546’, maka kode Fuzzy
Soundex yang dapat dihasilkan adalah sebagai
berikut (Holmes Dave 16 Maret 2006, komunikasi pribadi):
- A2546 ( fuzzy 5) - A254 (fuzzy 4) - A25 (fuzzy 3) - A2 (fuzzy 2) - A546 (code shifted) Perlakuan (Treatment)
Tiga jenis algoritma Soundex yang akan dibandingkan mendapatkan perlakuan yang sama seperti di bawah ini:
- Proses pengaburan.
- Panjang kode adalah 5 bit. Hal ini dilakukan untuk mengetahui seberapa besar pengaruh penambahan bit dalam mendeteksi kesalahan yang terdapat pada akhir nama.
- Ketiga algoritma Soundex tersebut ditambahkan teknik substitusi n-grams dan code shift.
- Algoritma perangkinganny a dengan menggunakan dice coefficient.
Evaluasi Recall dan Precision
Penentuan tingkat relevansi dokumen yang ditemu-kembalikan dilakukan secara manual terhadap 849 dokumen yang berhubungan dengan tanaman obat. Koleksi dokumen pengujian menggunakan koleksi dokumen
laboratorium temu-kembali informasi, ditambah dengan dokumen dari situs
www.iptek.net.id sebagai penyedia terbanyak dokumen tanaman obat.
Asumsi-asumsi
Asumsi-asumsi yang digunakan dalam penelitian ini adalah sebagai berikut:
- Nama ilmiah dalam dokumen adalah benar, sehingga identifikasi nama ilmiah tidak melewati proses Fuzzy Soundex. Proses Fuzzy Soundex hanya dilakukan ketika proses pencarian.
- Dokumen yang dianggap berhubungan (relevant) adalah dokumen yang mengandung nama ilmiah.
Lingkungan Pengembangan
Lingkungan pengembangan yang digunakan dalam penelitian ini adalah sebagai berikut:
- Perangkat lunak: Microsoft Windows XP Professional, Microsoft Visual Basic .Net 2003, Microsoft Office Access 2003. - Perangkat keras: Pentium IV 2.66 GHz,
RAM 256 MB.
HASIL DAN PEMBAHASAN Karakteristik Dokumen
Koleksi dokumen yang digunakan memiliki keterkaitan erat dengan tanaman obat. Sebanyak 75 % merupakan dokumen yang berhubungan dengan tanaman obat, dan sisanya merupakan dokumen yang tidak berhubungan dengan tanaman obat. Contoh dokumen dalam koleksi dapat dilihat pada Lampiran 5.
Struktur Data Pengindeksan
Token-token hasil proses parsing
disimpan dalam basis data untuk mempercepat proses pencarian, sehingga proses pars ing hanya dilakukan ketika penambahan dokumen baru. Tabel yang diperlukan untuk keperluan pengindeksan sebanyak empat tabel, yaitu
tblTokenizer, tblIdentName, tblTemp, dan tblDokumen. Diagram relasional dari keempat
Gambar 2 Diagram relasional struktur data pengindeksan.
Analisis Identifikasi Nama Ilmiah
Nama ilmiah dalam dokumen yang melewati proses tokenizer, tidak teridentifikasi sebagai nama ilmiah. Proses pengidentifikasian memerlukan bantuan kamus sebagai kata pembanding. Kamus kata nama ilmiah dapat dilihat pada Lampiran 6.
Proses pengidentifikasian akan melakukan pengecekan dengan membandingkan kata pertama nama-nama ilmiah dalam kamus dengan token-token hasil proses tokenizer . Jika kata ditemukan, mak a simpan posisi ditemukannya kata pertama tersebut untuk melakukan pengecekan terhadap kata keduanya sesuai dengan posisi tersebut. Jika tidak sama, maka pencarian dilanjutkan. Hal ini terjadi karena terdapat beberapa nama ilmiah yang memiliki kata depan yang sama, yaitu Averhoa carambola dan Averhoa bilimbi. Kedua nama tersebut memiliki common name yang berbeda.
Proses identifikasi nama dari 849 dokumen dalam koleksi menghasilkan 646 nama. Waktu yang dibutuhkan untuk proses tokenizer dan identifikasi nama dengan spesifikasi pengembangan di atas adalah 7 menit 11 detik.
Query
Query yang digunakan dalam penelitian
untuk menguji sistem Fuzzy Soundex berasal dari pihak lain/mahasiswa yang tidak memahami bidang tanaman obat. Hal ini dilakukan agar pengujian dengan menggunakan query yang mengandung empat kesalahan Damerau seperti pada Tabel 5 dapat diimplementasikan. Alasan kedua menggunakan query dari pihak lain adalah pihak lain tidak mengetahui algoritma dari sistem, sehingga kesalahan query murni dari pendenga ran mereka sendiri.
Pengumpulan contoh query setelah melewati proses penyaringan menghasilkan 20
query dengan jenis kesalahan yang berbeda.
Rata-rata jenis kesalahan pengguna dari
contoh query tersebut adalah insertion. Dua puluh query pengujian tersebut dapat dilihat pada Lampiran 7.
Substitusi N-Grams
Perbedaan antara substitusi n-grams dengan n-grams adalah terletak pada kondisi teks yang akan dikoreksi. N -grams akan mengkoreksi teks yang mengalami kesalahan teknis ketika pengetikan, misalnya salah menekan tombol huruf dalam papan kunci, sedangkan substitusi n-grams akan mengkoreksi alfabet yang mengalami perubahan bunyi jika bertemu dengan alfabet lain.
Subsitusi n-grams sangat berpengaruh ketika kesalahan pengetikan terjadi di awal pengetikan. Kata pertama yang tidak dikonversi ke dalam kode mengakibatkan nama yang memiliki keidentikan pengucapan di awal kata dianggap merupakan kode yang berbeda.
Koleus skotiolariades merupakan salah
satu kesalahan pengucapan nama yang memiliki nama asli Coleus scutellarioides. Karakter ‘C’ sering diucapkan sebagai ‘K’ jika bertemu dengan huruf hidup ‘A’, ‘U’ , dan ‘O’. Kode dari Koleus dan Coleus dianggap berbeda meskipun melewati proses pengaburan (Kode fuzzy dari Koleus adalah ‘K4200’ dan Coleus adalah ‘C4200’), karena pengaburan tidak melakukan pemotongan karakter di awal kata.
Substitusi n-grams melakukan penggantian karakter sesuai dengan kasus-kasus penggantian pada Tabel 6. Sebelum melalui proses pengkodean, karakter ‘C’ pada nama ‘Coleus’ akan disubstitusi dengan karakter ‘K’ karena karakter ‘C’ diikuti oleh huruf hidup ‘O’. Nama ‘Coleus’ akan berubah menjadi ‘Koleus’, dimana kedua nama tersebut telah memiliki kode yang sama.
Beberapa kasus substitusi n-grams di luar Tabel 6 ditemukan pada penelitian ini. Karakter seperti ‘NJ’ dan ‘Z’ + ‘huruf vokal’, pengguna sering menemui banyak kesalahan. Karakter ‘NJ’ pada nama Ficus Benjamina sering terdengar sebagai Ficus Benyamina. Kasus tambahan subtitusi N -grams dapat dilihat pada Tabel 7.
Tabel 7 Tabel kasus tambahan substitusi n- grams
N -grams Substitusi
N J NY
Z + ‘A, I, U, E, O’ J + ‘A, I, U, E, O’
Proses Pengaburan
Pengaburan query dan token dari dokumen yang akan dilakukan adalah melakukan pemotongan panjang kode di tiap iterasinya, ditambah dengan code shift.
Pengaburan dilakukan terhadap kedua kata dari nama ilmiah, sehingga akan menghasilkan 10 jenis query. Sebagai ilustrasi, misalkan terdapat query ‘Averhoa
bilimbi’, maka pengaburan yang akan
dilakukan adalah sebagai berikut: - A1600 B4510 (fuzzy 5) - A160 B451 (fuzzy 4) - A16 B45 (fuzzy 3) - A1 B4 (fuzzy 2) - A600 B510 (code shifted)
Pengaburan token dari dokumen tidak dilakukan bersamaan dengan query.
Pengaburan token tersebut dilakukan ketika proses pencarian dengan Dice Coefficient. Hal ini dilakukan untuk menghemat memori, karena akan banyak sekali hasil pengaburan
token dari dokumen.
Algoritma Pencarian Dengan Dice Coefficient
Hasil dari pengaburan query dan token dalam dokumen akan dibandingkan untuk mencari intersection nya. Algoritma dari proses matching ini adalah sebagai berikut: 1. Untuk semua token kata pertama nama
ilmiah dari dokumen.
2. Hitung nilai Dice coefficientnya,
diceCoef(token1, token2).
3. Jika nilai Dice coefficient
≠
0, maka simpan ID dokumennya dengan nilai Dicecoefficientnya.
A lgoritma D ice coefficient , diceCoef(token1, token2)
1. Lakukan pengaburan terhadap token1 dan token 2.
2. Inisialisasi nilai common = 0.
3. Untuk semua fuzzy query kata pertama. 4. Untuk semua fuzzyToken kata pertama. 5. Jika fuzzyQuery1 = fuzzyToken1, maka
tambahkan nilai common dengan 1. 6. Untuk semua fuzzyQuery kata kedua. 7. Untuk semua fuzzyToken kata kedua. 8. Jika fuzzyQuery2 = fuzzyToken2, maka
tambahkan nilai common dengan 1. 9. Hitung nilai dice coefficient dengan
rumus:
dCoef = (2*common) / ((fQuery1.length*2) + (fToken1.length*2))
10. Kembalikan nilai dCoef (return dCoef). Jika terdapat kesalahan yang jauh pada pengetikan kata pertama, sementara kesalahan pada pengetikan kata kedua tidak terlalu jauh, sistem ini masih mampu menemu-kembalikannya. Misalkan untuk query Kromotoli penata (Quamoclit pennata), kode
dari Kromotoli dan Quamoclit berbeda cukup jauh.
Tabel 8 Tabel perbandingan kode Kromotoli dengan Quamoclit Kromotoli Quamoclit K6534 K5243 K653 K524 K65 K52 K6 K5 K534 K243
Pada Tabel 8 terlihat jelas bahwa kedua kode tidak memiliki kesamaan meskipun ditambahkan code shift, sedangkan kode untuk kata penata (dengan nama asli pennata) memiliki kesamaan yang sangat dekat (pada Tabel 9).
Nilai common merupakan gabungan dari
intersection dari kata pertama dengan kata
kedua. Meskipun nilai common kata pertama adalah 0, nilai common kata kedua sangat tinggi, yaitu 5, sehingga nilai Dice Coefficientnya adalah sebagai berikut:
dCoef = (2*(0+5)) / ((5*2)+(5*2)) = 10 / 20
Algoritma tetap akan menyimpan ID dari dokumen dan nilai dCoef karena nilai dCoef lebih dari 0, sehingga dokumen yang berhubungan dengan kata pennata tetap ditemu-kembalikan.
Tabel 9 Tabel perbandingan kode penata dengan pennata penata pennata P5300 P5300 P530 P530 P53 P53 P5 P5 P300 P300 Code Shift
Algoritma code shift memiliki pengaruh yang besar terhadap sistem temu-kembali kesamaan fonetik untuk jenis kesalahan
insertion dan omission. Nama Asproha brimbi
(dengan nama asli Averrhoa bilimbi ),
memiliki nilai recall dan precision 0 ketika tidak menggunakan code shift, dengan jumlah nama yang ditemu-kembalikan sebanyak 21 nama. Hasil yang jauh berbeda ditunjukkan ketika menggunakan code shift, dimana semua dokumen yang berhubungan berhasil ditemu-kembalikan.
Tabel 10 Tabel pengaruh code shift pada
query Asproha brimbi
Asproha brimbi Averrhoa bilimbi
Fuzzy 5 A2160 B6510 A1600 B4510
Fuzzy 4 A216 B651 A160 B451
Fuzzy 3 A21 B65 A16 B45
Fuzzy 2 A2 B6 A1 B4
code shift A160 B510 A600 B510
Tabel 10 menunjukkan bahwa query
Asproha brimbi berhasil ditemu-kembalikan
karena kode Asproha pada code shift sama dengan kode Averrhoa pada fuzzy 4. Kasus serupa juga terdapat pada kode brimbi ketika menggunakan code shift dengan kode bilimbi ketika menggunakan code shift.
Kinerja Temu-Kembali
Untuk mengetahui pengaruh substitusi n-grams dan code shift dalam meningkatkan nilai recall dan precision algoritma Soundex, hasil temu-kembali dibandingkan antara tidak menggunakan substitusi n-grams dan code
shift, hanya menggunakan substitusi n-grams
(NS), dan menggunakan substitusi n-grams dan code shift (CS). Nilai precision untuk tiap titik recall yang telah diinterpolasi sebanyak 11 titik secara rinci diberikan pada Lampiran 8.
Gambar 3 Kurva recall-precision beberapa algoritma Soundex.
Kurva recall-precision pada Gambar 3 membuktikan bahwa substitusi n-grams dan
code shift mampu meningkatkan nilai recall
dan precision ketiga algoritma Soundex. Rata-rata peningkatan nilai recall dan precision dari
Fuzzy Soundex 0.4 0.48 0.56 0.64 0.72 0.8 0.88 0.00 0.20 0.40 0.60 0.80 1.00 Recall Precision F-Sdx F-Sdx (NS) F-Sdx (CS) Soundex Primasari (1997) 0.60 0.65 0.70 0.75 0.80 0.85 0.90 0.00 0.20 0.40 0.60 0.80 1.00 Recall Precision P-Sdx P-Sdx (NS) P-Sdx (CS) Soundex 0.5 0.58 0.66 0.74 0.82 0.9 0.00 0.20 0.40 0.60 0.80 1.00 Recall Precision S d x Sdx (NS) Sdx (CS)
ketiga algoritma Soundex tersebut ketika
ditambahkan substitusi n-grams dan code shift adalah sebesar 20%.
Peningkatan nilai recall dan precision dari ketiga algoritma Soundex tersebut dipengaruhi oleh kemampuan substitusi n-grams dan code shift dalam menangani jenis kesalahan insertion, omission, dan transposition . Penambahan kedua algoritma
tersebut ke ketiga algoritma Soundex mampu