Koreksi Ejaan Query Bahasa Indonesia Menggunakan Algoritme Damerau Levenshtein
KOREKSI EJAAN QUERY BAHASA INDONESIA
MENGGUNAKAN ALGORITME DAMERAU LEVENSHTEIN
Utis Sutisna1), Julio Adisantoso2)
1,2
Departemen Ilmu Komputer, Institut Pertanian Bogor Kampus Darmaga, Wing 20 Level V, Bogor, Jawa Barat, Indonesia
uts_ipb42@yahoo.com 1) julio_adisantoso@yahoo.com 2)
2009
ABSTRACT
Query spelling on search engine is important to improve the quality information searching result. When user types query for search engine input, sometime spelling mistakes occurred due to position of keyboard and finger movement while typing. As an effect, searching result is incorrect and when user misspells the query, information obtained will not succeed. Therefore, search engine requires an application of spelling corrections. This research proposes correction process for query spelling by giving words suggestions which are obtained by calculating edit distance for each corrected word towards every word in dictionary. The concept for calculating edit distance uses Damerau Levenshtein algorithm which consists of 4 operations: (1) insertion, (2) substitution, (3) deletion, and (4) transposition. This research shows that implementation of Damerau Levenshtein algorithm is able to increase recall-precision value in information retrieval system. It is shown by the increasing of average recall-precision value at 44,82% after correction.
Keywords : Damerau Levenshtein, Algoritme Damerau Levenshtein Metric, edit distance
1.
Pendahuluan
Kata kunci atau yang biasa disebut dengan query
pada pencarian informasi dari sebuah search engine
digunakan sebagai kriteria pencarian yang tepat dan sesuai dengan kebutuhan. Ejaan kata kunci yang benar menjadi penting untuk meningkatkan hasil pencarian informasi. Ketika pengguna menulis query
sebagai masukan pada sistem pencari, muncul kesalahan ejaan disebabkan posisi tombol papan ketik dan pergerakan jari sehingga hasil pencarian bersifat salah. Oleh karena itu, diperlukan suatu aplikasi yang dapat mengoreksi kesalahan ejaan. Pengoreksian ejaan ini dapat dilakukan dengan memberikan ejaan kata yang benar yaitu dengan memberikan usulan ejaan kata yang mirip berdasarkan kamus.
Penelitian tentang pengoreksian ejaan bahasa Indonesia juga pernah dilakukan oleh Primasari (1997), melakukan penelitian tentang pencarian dan temu kembali nama berdasarkan kesamaan fonetik. Arumsari (1998) dengan menggunakan metode jarak
edit. Wahyudin (1999) dengan menggunakan algoritme trigram untuk mendapatkan kata-kata perkiraan dari kata yang dinyatakan salah eja. Arumsari (1998) menentukan jarak edit diantara dua
string dari operasi yang dilakukan yaitu: (1) operasi penyisipan (insertion), (2) operasi penghapusan (deletion), dan (3) operasi penggantian (subtitution) sebuah huruf. Pada penelitian ini, pengoreksian ejaan akan dilakukan dengan algoritme Damerau Levenshtein dengan metode jarak edit. Operasi yang dilakukan tidak hanya tiga operasi seperti yang dilakukan dalam penelitian Arumsari (1998). Tetapi,
juga diperhatikan operasi penukaran (transposition) posisi sebuah huruf yang berdekatan. Sehingga perolehan kata ejaan yang benar lebih optimal.
2.
Algoritme Damerau Levenshtein
Menurut Damerau dalam Wahyudin (1999) menyimpulkan 80% kesalahan ejaan dapat disebabkan karena empat hal, yaitu:
1. Penggantian satu huruf 2. Penyisipan satu huruf 3. Penghilangan satu huruf
4. Penukaran dua huruf berdekatan.
Kesalahan ejaan juga dapat disebabkan oleh beberapa hal, diantaranya:
1. Ketidaktahuan penulisan. Kesalahan ini biasanya konsisten dan kemungkinan berhubungan dengan bunyi kata dan penulisan yang seharusnya. 2. Kesalahan dalam pengetikan yang lebih tidak
konsisten tapi mungkin berhubungan erat dengan posisi tombol papan ketik dan pergerakan jari. 3. Kesalahan transmisi dan penyimpanan yang
berhubungan dengan pengkodean pada jalur mekanisme transmisi data.
Kesalahan ejaan dapat dikoreksi menggunakan dua strategi dasar yang berbeda, yaitu mutlak dan relatif (Pullock & Zamora 1984, dalam Wahyudin 1999). Secara mutlak, pengoreksian dilakukan dengan membuat suatu tabel variasi ejaan yang salah dengan ejaan yang benarnya. Namun demikian, secara relatif ejaan yang benar dipilih dari kamus yaitu dengan mencari kata dalam kamus yang paling mirip dengan kata yang salah ejaannya.
(2)
Damerau Levenshtein Metric adalah sebuah fungsi pada finite string dari sebuah alphabet ke integer. Sebuah matriks jarak yang diberikan strings s1, s2, s3 yang memenuhi kondisi (Bard, 2006):
Non-negativity: d(s1, s2) ≥ 0
Non-degeneracy: d(s1, s2) = 0 jika dan hanya
jika s1 = s2
Symmetry: d(s1, s2) = d(s2, s1)
Triangle Inequality: d(s1, s2) + d(s2, s3) ≥
d(s1, s3)
Jarak d(s1, s2) didefinisikan sebagai sebuah
kombinasi operasi penjumlahan dari penambahan sebuah huruf, penghilangan sebuah huruf, penggantian sebuah huruf atau penukaran sebuah huruf dari huruf lainnya dalam satu lokasi. Itu memungkinkan beberapa kombinasi pada empat operasi yang dapat mentransformasikan string s1 ke
s2, tapi panjang terpendek urutan adalah jarak antara dua strings.
Metode Damerau Levenshtein Metric melakukan operasi perbandingan kata-kata dengan memperhatikan 4 macam kesalahan pengetikan (misalnya kata DAMERAU), yaitu:
1. Penyisipan sebuah huruf, misalnya DAHMERAU.
2. Penghapusan sebuah huruf, misalnya DAMRAU.
3. Penggantian sebuah huruf dengan huruf lain, misalnya DANERAU.
4. Penukaran sebuah huruf berurutan, misalnya DAMERUA.
Salah satu metode pembandingan dalam memeriksa ejaan dengan menggunakan Table Look-up. Metode ini membandingkan kata terhadap kata dalam kamus. Jika tidak ada dikamus maka kata tersebut dianggap salah (Peterson 1980, diacu dalam Wahyudin 1999). Ketidaksesuaian dari strings dapat dibandingkan dengan kata pada kamus yang secara langsung menggunakan penyesuaian karakter demi karakter secara iteratif, dengan menentukan jumlah minimum kesalahan dari masing-masing operasi.
Damerau Levenshtein Metric menghitung jumlah minimum kesalahan dari dua kata misalnya terdapat dua buah kata yang dinotasikan sebagai s dan t. Variabel i dan j menyatakan posisi huruf yang dibandingkan pada suatu kata (pfiefer et al. 1994).
f(0, 0)= 0
f(i, 0)= i f(0, j)= j f(i, j)= min {
f(i-1, j) + 1, // deletion f(i, j-1) + 1, // insertion f(i-1, j-1) + d(si, tj) // substitution
f(i-2, j-2) + d(si-1, tj) + d(si, tj-1) + 1
// transposition
}
fungsi d merupakan fungsi untuk mengukur jarak untuk huruf.
Fungsi f(i, j) menghitung minimum jumlah kesalahan-kesalahan perbandingan i karakter pertama dari kata pertama dengan j karakter pada kata kedua. Jarak antara dua strings adalah f(m,n), dimana m merupakan panjang string pertama dan n
merupakan panjang string ke dua.
3.
Percobaan
Tujuan percobaan ini adalah untuk mengetahui kinerja algoritme pengoreksian ejaan Damerau Levenshtein. Akan dilihat apakah algoritme tersebut dapat memberikan usulan kata yang cukup baik untuk berbagai variasi kesalahan yang terjadi.
Percobaan dilakukan dengan mengetikkan query
yang mengandung salah eja. Hal ini juga dilakukan seolah-olah tidak mengetahui ejaan query yang benar (diasumsikan ejaan query benar walaupun mengandung salah eja). Kemudian pada program yang telah dibuat sudah ditentukan default nilai jarak
edit yaitu 2.
4.
Asumsi
Asumsi-asumsi yang digunakan dalam penelitian ini antara lain:
Query yang dimasukkan ke sistem merupakan kata kunci yang telah ditentukan sebelumnya.
Jumlah dokumen relevan untuk setiap query telah diketahui sebelumnya.
Teks pada dokumen benar sesuai dengan Kamus Besar Bahasa Indonesia.
Pengoreksian hanya dilakukan pada query.
5.
Hasil Percobaan
Dokumen korpus yang digunakan untuk pengujian sebanyak 1000 dokumen dalam bentuk file
teks yang berformat XML. Contoh dokumen pengujian dapat dilihat pada Lampiran 1. Deskripsi dokumen pengujian ditunjukan oleh Tabel 1. Tabel 1. Deskripsi dokumen pengujian
Uraian Nilai (bytes)
Ukuran rata-rata dokumen 4.111 Ukuran dokumen keseluruhan 4.110.509 Ukuran dokumen terbesar 53.306 Ukuran dokumen terkecil 456 Percobaan dilakukan dengan query sebanyak 30
query yang telah ditentukan. Lampiran 2 merupakan contoh query yang digunakan sebagai percobaan. Masing-masing query dilakukan 3 kali percobaan. Lampiran 3 merupakan hasil percobaan untuk masing-masing percobaan jenis kesalahan. Banyaknya kata usulan yang dimunculkan
(3)
tergantung banyaknya kata di kamus serta nilai jarak
edit yang ditentukan sebelumnya.
Pada percobaan pengoreksian ejaan terdapat kata yang dikoreksi diberikan kata usulan oleh sistem tetapi tidak sesuai dengan kata yang diharapkan,
seperti kata “organik” dan “kekeringan”. Karena
keterbatasan kata dalam kamus, sistem hanya mengusulkan mungkin kata tersebut adalah
“organnik”. Namun, kata “kekeringan”, sistem
memunculkan kata usulan “kepeningan”,
“kemiringan”, “keserongan”, “kekuningan”,
“kekurangan”, “kekejangan”, “kebeningan”,
“keserangan”, “keterangan”, “keheningan” dan “keberingas”. Padahal kata “organik” dan “kekeringan” benar sesuai ejaan bahasa Indonesia. Dengan demikian, kata “organik” dan “kekeringan”
dilakukan proses penyimpan pada kamus khusus. Untuk mengukur performansi dari temu kembali informasi, digunakan koleksi uji, koleksi uji terdiri atas tiga bagian, yaitu koleksi dokumen, query, dan
relevance judgement. Koleksi dokumen adalah kumpulan dokumen yang dijadikan bahan pencarian oleh sistem. Relevance judgement adalah daftar dokumen-dokumen yang relevan dengan semua
query yang telah disediakan.
Berdasarkan percobaan, akan dipaparkan nilai
precision untuk beberapa tahap, yaitu nilai precision
sebelum dilakukan pengoreksian, nilai precision
setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan nilai precision setelah pengoreksian dengan kata usulan yang diharapkan. Pada paper ini nilai precision untuk semua percobaan akan dilihat berdasarkan rata-rata precision dari semua percobaan.
Berdasarkan Tabel 1 dan Tabel 2, nilai precision
untuk tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan diperoleh dengan rata-rata nilai precison dari semua percobaan. Nilai rata-rata precision setelah tahap setelah pengoreksian dengan kata usulan yang diharapkan jauh lebih tinggi dibanding dengan tahap sebelum dilakukan pengoreksian maupun tahap setelah pengoreksian dengan kata usulan yang diharapkan. Hal ini disebabkan, query setelah tahap setelah pengoreksian dengan kata usulan yang diharapkan menjadi query yang lebih optimal. Sementara itu, grafik perbandingan precision tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan dengan melihat minimum precision dapat dilihat pada Gambar 1.
Tabel 1. Perbandingan rata-rata nilai precision tahap sebelum dikoreksi dan tahap setelah pengoreksian dengan kata yang bukan diharapkan
recall Sebelum dikoreksi
Dikoreksi dengan bukan kata yang diharapkan
Perubahan (%)
0 0,48 0,60 25
0,1 0,38 0,48 26
0,2 0,35 0,41 17
0,3 0,32 0,38 19
0,4 0,28 0,34 21
0,5 0,27 0,29 7
0,6 0,26 0,27 4
0,7 0,25 0,23 -8
0,8 0,22 0,19 -14 0,9 0,20 0,17 -15
1 0,14 0,13 -7
(4)
Tabel 2. Perbandingan rata-rata nilai precision tahap sebelum dikoreksi dan setelah pengoreksian dengan kata yang diharapkan
recall Sebelum dikoreksi
Dikoreksi dengan kata yang diharapkan
Perubahan (%)
0 0,48 0,78 63
0,1 0,38 0,68 79
0,2 0,35 0,54 54
0,3 0,32 0,50 56
0,4 0,28 0,43 54
0,5 0,27 0,41 52
0,6 0,26 0,37 42
0,7 0,25 0,33 32
0,8 0,22 0,28 27
0,9 0,20 0,24 20
1 0,14 0,16 14
Rataan 0,28 0,43 44,82
Gambar 1. Kurva rata-rata recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata yang diharapkan. Kurva perbandingan recall-precision pada
Gambar 1 menunjukkan bahwa kurva recall-precision setelah tahap setelah pengoreksian dengan kata yang diharapkanselalu berada di atas dua kurva tahap sebelum pengoreksian dan tahap setelah pengoreksian dengan bukan kata diharapkan. Hal ini terjadi peningkatan nilai rata-rata precision yang baik setiap titik recall. Ini menunjukkan query
setelah dilakukan pengoreksian dengan kata yang diharapkan jauh lebih optimal. Query yang lebih optimal menyebabkan peningkatan dokumen-dokumen relevan yang ditemukembalikan.
Pengoreksian ejaan query dengan menggunakan algoritme Damerau Levenshtein dalam percobaan, menunjukkan hasil yang sangat baik. Ini terlihat
secara rata-rata perbandingan kurva sebelum query
dikoreksi dan setelah dikoreksi dengan kata yang diharapkan terlihat nilai precision temu kembali meningkat untuk setiap titik recall. Ini juga menunjukkan dokumen-dokumen relevan yang ditemukembalikan berada pada halaman pertama dari sistem temu kembali.
Perbandingan Kinerja Temu Kembali dengan Levenshtein (Arumsari, 1998)
Dari hasil percobaan evaluasi temu kembali yang dilakukan dengan menggunakan algoritme Damerau Levenshtein. Tabel 3 menunjukkan nilai precision
perbandingan pengoreksian dengan menggunakan algoritme Damerau Levenshtein dan jarak edit
(Arumsari, 1998). 0
0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Sebelum dikoreksi
Dikoreksi dengan bukan kata yang diharapkan Dikoreksi dengan kata yang diharapkan
(5)
Tabel 3. Perbandingan nilai precision dengan algoritme Damerau Levenshtein dengan metode Levenshtein (Arumsari,1998).
recall Levenshtein Damerau Levenshtein
Perubahan (%)
0 0,65 0,78 20 0,1 0,56 0,68 21 0,2 0,45 0,54 20 0,3 0,4 0,5 25 0,4 0,36 0,43 19 0,5 0,34 0,41 21 0,6 0,31 0,37 19 0,7 0,28 0,33 18 0,8 0,22 0,28 27 0,9 0,18 0,24 33 1 0,13 0,16 23
Rataan 0,35 0,43 22,36
Gambar 2. Kurva recall-precision perbandingan algoritme Damerau Levenshtein dengan Levenshtein Berdasarkan Gambar 2, kurva recall-precision
dengan algoritme Damerau Levenshtein berada di atas kurva dengan metode Levenshtein (Arumsari, 1998) untuk setiap titik recall-nya. Ini menunjukkan pengoreksian ejaan dengan algoritme Damerau Levenshtein lebih optimal dan meningkatkan dokumen yang ditemukembalikan pada sistem. Ini terlihat ketika pengoreksian ejaan seperti pada kata
“perdagagnang”, “labroatoruim”, “haisl” dengan menggunakan Levenhtein (Arumsari,1998), sistem tidak menemukan kata usulan atau tidak memberikan kata usulan yang diharapkan.
6.
Kesimpulan
Melalui penelitian ini dapat ditarik kesimpulan, yaitu :
1. Implementasi algoritme Damerau Levenshtein untuk koreksi ejaan pada search engine, dapat meningkatkan kinerja temu kembali dan query
menjadi lebih optimal. Ini terlihat peningkatan secara rata-rata precision sebesar 44,82 % setelah dilakukan pengoreksian.
2. Pengoreksian dengan algoritme Damerau Levenshtein lebih baik dibanding dengan metode jarak edit yang dilakukan oleh Arumsari (1998). Ini terlihat peningkatan precision pada kinerja temu kembali sebesar 22% serta kata usulan yang diperoleh dengan algoritme Damerau Levenshtein lebih optimal.
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Damerau Levenshtein Levenshtein (Arumsari,1998)
(6)
7.
Daftar Pustaka
[1]. Arumsari, KN. 1998. Penggunaan Metode Kesamaan String pada Pemeriksaan Ejaan Bahasa Indonesia [skripsi]. Bogor: Departemen Ilmu Komputer, Fakultas MIPA, Institut Pertanian Bogor.
[2]. Bard GV. 2006. Spelling-Error Tolerant, Order-Independent Pass-Phrases via the Damerau-Levenshtein String-Edit Distance Metric. University of Maryland.
[3]. Primasari D. 1997. Metode Pencarian dan Temu Kembali Nama Berdasarkan Kesamaan Fonetik.
[skripsi]. Bogor: Departemen Ilmu Komputer, Fakultas MIPA, Institut Pertanian Bogor.
[4]. Manning CD, Prabhakar R, Hinrich S. 2009. An
Introduction toInformation Retrieval. Cambridge University Press.
[5]. Pfeifer U, Poersch T, Furh N. 1994. Searching Proper Names in Databases. University of Dortmund. Wahyudin, Aep. 1999. Algoritme Trigram untuk Mengoreksi Ejaan [skripsi].
Bogor: Departemen Ilmu Komputer, Fakultas MIPA, Institut Pertanian Bogor.
(7)
ABSTRACT
UTIS SUTISNA. Spelling Correction for Indonesian Query using Damerau Levenshtein Algorithm. Under the supervision of JULIO ADISANTOSO.
Query spelling on search engine is important to improve the quality information searching result. When user types query for search engine input, sometime spelling mistakes occurred due to position of keyboard and finger movement while typing. As an effect, searching result is incorrect and when user misspells the query, information obtained will not succeed. Therefore, search engine requires an application of spelling corrections. This research proposes correction process for query spelling by giving words suggestions which are obtained by calculating edit distance for each corrected word towards every word in dictionary. The concept for calculating edit distance uses Damerau Levenshtein algorithm which consists of 4 operations: (1) insertion, (2) substitution, (3) deletion, and (4) transposition. This research shows that implementation of Damerau Levenshtein algorithm is able to increase recall-precision value in information retrieval system. It is shown by the increasing of average recall-precision value at 44,82% after correction.
(8)
KOREKSI EJAAN QUERY BAHASA INDONESIA
MENGGUNAKAN ALGORITME DAMERAU LEVENSHTEIN
UTIS SUTISNA
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2009
(9)
KOREKSI EJAAN QUERY BAHASA INDONESIA
MENGGUNAKAN ALGORITME DAMERAU LEVENSHTEIN
UTIS SUTISNA
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada
Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2009
(10)
KOREKSI EJAAN QUERY BAHASA INDONESIA
MENGGUNAKAN ALGORITME DAMERAU LEVENSHTEIN
UTIS SUTISNA
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2009
(11)
KOREKSI EJAAN QUERY BAHASA INDONESIA
MENGGUNAKAN ALGORITME DAMERAU LEVENSHTEIN
UTIS SUTISNA
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada
Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2009
(12)
ABSTRACT
UTIS SUTISNA. Spelling Correction for Indonesian Query using Damerau Levenshtein Algorithm. Under the supervision of JULIO ADISANTOSO.
Query spelling on search engine is important to improve the quality information searching result. When user types query for search engine input, sometime spelling mistakes occurred due to position of keyboard and finger movement while typing. As an effect, searching result is incorrect and when user misspells the query, information obtained will not succeed. Therefore, search engine requires an application of spelling corrections. This research proposes correction process for query spelling by giving words suggestions which are obtained by calculating edit distance for each corrected word towards every word in dictionary. The concept for calculating edit distance uses Damerau Levenshtein algorithm which consists of 4 operations: (1) insertion, (2) substitution, (3) deletion, and (4) transposition. This research shows that implementation of Damerau Levenshtein algorithm is able to increase recall-precision value in information retrieval system. It is shown by the increasing of average recall-precision value at 44,82% after correction.
(13)
Judul : Koreksi Ejaan Query Bahasa Indonesia Menggunakan Algoritme Damerau Levenshtein Nama : Utis Sutisna
NRP : G64052523
Menyetujui :
Pembimbing
Ir. Julio Adisantoso, M.Kom NIP. 19620714 198601 1 002
Mengetahui:
Dekan Fakultas Matematika Dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
Dr. Drh. Hasim, DEA. NIP. 19610328 198601 1 002
(14)
PRAKATA
Alhamdulillahi Rabbil ‘alamin,puji dan syukur penulis panjatkan kepada Allah SWT atas segala curahan rahmat dan karunia-Nya sehingga tugas akhir dengan judul Koreksi Ejaan Query Bahasa Indonesia Menggunakan Algoritme Damerau Levenshtein dapat diselesaikan. Penelitian ini dilaksanakan mulai Maret 2009 sampai dengan Juli 2009, bertempat di Departemen Ilmu Komputer.
Pada kesempatan ini, penulis mengucapkan terimakasih yang sebesar-besarnya kepada semua pihak yang telah membantu terutama kepada :
1. Bapak Ir. Julio Adisantoso, M.Kom selaku pembimbing yang telah banyak memberi kritik, saran, masukan dan ide-ide kepada penulis, serta Ibu Yeni Herdiyeni, S.Si, M.Kom dan Bapak Sony Hartono Wijaya, S.Kom, M.Kom selaku penguji tugas akhir ini.
2. Ayah, Ibu, kakak dan adik tersayang di rumah atas doa, semangat, bantuan, kasih sayang dan dukungannya.
3. Yeni Mulyani teman spesialku atas doa, kasih sayang, bantuan dan dukungan serta semangat dan kebersamaannya.
4. Tara, Mutia, Netty dan Elen sahabatku sebimbingan semua, atas doa, semangat, bantuan dan kebersamaan selama ini.
5. Rahmadhani dan Fahmilu atas bantuan, semangat dan kebersamaan selama ini. 6. Teman-teman Ilkomerz 42 atas bantuan dan dukungannya.
7. Seluruh staf pengajar dan staf karyawan di Departemen Ilmu Komputer atas bantuannya
Segala kesempurnaan hanya milik Allah SWT dan penulis berharap semoga karya ilmiah ini bermanfaat, Amin.
Bogor, Agustus 2009
(15)
RIWAYAT HIDUP
Penulis dilahirkan pada tanggal 11 November 1985 di Bogor sebagai anak kedua dari empat bersaudara dari pasangan Sueb dan Suryanah. Penulis menempuh pendidikan menengah atas di SMU Negeri 1 Leuwiliang masuk program IPA dan lulus tahun 2004.
Pada tahun 2005 penulis diterima sebagai mahasiswa Institut Pertanian Bogor (IPB) melalui jalur SPMB. Pada tahun 2006 penulis diterima sebagai mahasiswa Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor (IPB). Pada tahun 2008, penulis melaksanakan kegiatan praktik kerja lapangan di Direktorat Komunikasi dan Sistem Informasi (DKSI) IPB selama 35 hari.
(16)
iv
DAFTAR ISI
Halaman
DAFTAR TABEL ... v
DAFTAR GAMBAR ... v
DAFTAR LAMPIRAN ... v
PENDAHULUAN Latar belakang ... 1
Tujuan ... 1
Ruang Lingkup ... 1
Manfaat ... 1
TINJAUAN PUSTAKA Temu Kembali Informasi ... 1
Vector Space Model (VSM) ... 2
Evaluasi Temu Kembali Informasi ... 2
Algoritme Damerau Levenhstein Metric ... 2
METODOLOGI PENELITIAN Penentuan jarak edit ... 4
Percobaan ... 6
Evaluasi Kinerja Program ... 6
Asumsi ... 6
HASIL DAN PEMBAHASAN Pembobotan Model VSM ... 6
Evaluasi Kinerja Temu Kembali ... 7
Perbandingan Kinerja Temu Kembali dengan Levenshtein (Arumsari, 1998)... 9
KESIMPULAN DAN SARAN Kesimpulan ... 10
Saran ... 10
DAFTAR PUSTAKA ... 10
(17)
v
DAFTAR TABEL
Halaman
1 Deskripsi dokumen pengujian... 6
2 Hasil proses tokenizer ... 6
3 Hasil penentuan kata unik ... 6
4 Perbandingan nilai precision dengan algoritme Damerau Levenshtein dengan metode Levenshtein (Arumsari,1998). ... 9
DAFTAR GAMBAR Halaman 1 Deskripsi model sistem temu kembali informasi. ... 4
2 Diagram alir pengoreksian ejaan. ... 5
3 Maksimum recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata yang diharapkan. ... 7
4 Minimum recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata yang diharapkan. ... 8
5 Rata-rata recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata yang diharapkan. ... 9
6 recall-precision perbandingan algoritme Damerau Levenshtein dengan Levenshtein ... 10
DAFTAR LAMPIRAN Halaman 1 Dokumen pengujian ... 13
2 Query percobaan ... 14
3 Hasil usulan koreksi pada query ... 15
4 Perbandingan maksimum nilai precision tahap sebelum dikoreksi dan tahap setelah pengoreksian dengan kata yang bukan diharapkan ... 19
5 Perbandingan maksimum nilai precision tahap sebelum dikoreksi dan setelah pengoreksian dengan kata yang diharapkan ... 19
6 Perbandingan minimum nilai precision tahap sebelum dikoreksi dan tahap setelah pengoreksian dengan kata yang bukan diharapkan ... 20
7 Perbandingan minimum nilai precision tahap sebelum dikoreksi dan setelah pengoreksian dengan kata yang diharapkan ... 20
8 Perbandingan rata-rata nilai precision tahap sebelum dikoreksi dan tahap setelah pengoreksian dengan kata yang bukan diharapkan ... 21
9 Perbandingan rata-rata nilai precision tahap sebelum dikoreksi dan setelah pengoreksian dengan kata yang diharapkan ... 21
10 Hasil usulan kata dengan metode Levenshtein(Arumsari, 1998) ... 22
11 Contoh kamus ... 26
(18)
1
PENDAHULUAN Latar belakang
Kata kunci atau yang biasa disebut dengan
query pada pencarian informasi dari sebuah
search engine digunakan sebagai kriteria pencarian yang tepat dan sesuai dengan kebutuhan. Ejaan kata kunci yang benar menjadi penting untuk meningkatkan hasil pencarian informasi. Ketika pengguna menulis
query sebagai masukan pada sistem pencari, muncul kesalahan ejaan disebabkan posisi tombol papan ketik dan pergerakan jari sehingga hasil pencarian bersifat salah. Oleh karena itu, diperlukan suatu aplikasi yang dapat mengoreksi kesalahan ejaan. Pengoreksian ejaan ini dapat dilakukan dengan memberikan ejaan kata yang benar yaitu dengan memberikan usulan ejaan kata yang mirip berdasarkan kamus.
Penelitian tentang pengoreksian ejaan bahasa Indonesia juga pernah dilakukan oleh Primasari (1997), tentang pencarian dan temu kembali nama berdasarkan kesamaan fonetik. Wahyudin (1999) dengan menggunakan algoritme trigram untuk mendapatkan kata-kata perkiraan dari kata yang dinyatakan salah eja. Arumsari (1998) menentukan jarak edit diantara dua string dari operasi yang dilakukan yaitu: (1) operasi penyisipan (insertion), (2) operasi penghapusan (deletion), dan (3) operasi penggantian (subtitution) sebuah huruf yang disebut metode Levenshtein. Pengoreksian ejaan akan dilakukan dengan algoritme Damerau Levenshtein. Algoritme ini menambahkan sebuah operasi yaitu operasi penukaran (transposition) pada metode Levenshtein. Dengan demikian, algoritme Damerau Levenshtein memperhatikan empat operasi dalam menentukan jarak edit, yaitu (1) operasi penyisipan (insertion), (2) operasi penghapusan (deletion), (3) operasi penggantian (subtitution) dan operasi penukaran (transposition) sebuah huruf yang berdekatan. Dengan demikian, perolehan kata ejaan yang benar lebih optimal.
Tujuan
Tujuan dari penelitian ini adalah meningkatkan kinerja temu kembali informasi dengan mengoreksi kesalahan yang ada pada
query berdasarkan pada kamus.
Ruang Lingkup
Koreksi kesalahan ejaan pada query yang dilakukan pada penelitian ini menggunakan algoritme yang berdasarkan dengan menghitung
jumlah minimum operasi yaitu: (1) penyisipan (insertion), (2) penggantian (subtitution), (3) penghapusan (deletion), dan (4) penukaran (transposition) posisi sebuah huruf yang disebut algoritme DamerauLevenshtein.
Manfaat
Penelitian ini diharapkan membantu pengguna dalam melakukan pencarian informasi pada search engine dengan meningkatkan perbaikan kesalahan kata akibat salah ketik.
TINJAUAN PUSTAKA
Menurut Damerau dalam Wahyudin (1999) menyimpulkan 80% kesalahan ejaan dapat disebabkan karena empat hal, yaitu:
1. Penggantian satu huruf 2. Penyisipan satu huruf 3. Penghilangan satu huruf
4. Penukaran dua huruf berdekatan.
Kesalahan ejaan juga dapat disebabkan oleh beberapa hal, diantaranya:
1. Ketidaktahuan penulisan. Kesalahan ini biasanya konsisten dan kemungkinan berhubungan dengan bunyi kata dan penulisan yang seharusnya.
2. Kesalahan dalam pengetikan yang lebih tidak konsisten tapi mungkin berhubungan erat dengan posisi tombol papan ketik dan pergerakan jari.
3. Kesalahan transmisi dan penyimpanan yang berhubungan dengan pengkodean pada jalur mekanisme transmisi data.
Kesalahan ejaan dapat dikoreksi menggunakan dua strategi dasar yang berbeda, yaitu mutlak dan relatif (Pullock & Zamora 1984, dalam Wahyudin 1999). Secara mutlak, pengoreksian dilakukan dengan membuat suatu tabel variasi ejaan yang salah dengan ejaan yang benarnya. Namun demikian, secara relatif ejaan yang benar dipilih dari kamus yaitu dengan mencari kata dalam kamus yang paling mirip dengan kata yang salah ejaannya.
Temu Kembali Informasi
Temu Kembali informasi adalah menemukan material (biasanya dokumen-dokumen) dari yang tidak terstruktur (biasanya teks) yang memenuhi kebutuhan informasi dari koleksi-koleksi yang besar (biasanya disimpan dalam komputer). Temu kembali informasi berkaitan dengan representasi, penyimpanan, dan akses terhadap dokumen representasi
(19)
2 dokumen. sistem yang berfungsi untuk
menemukan informasi yang relevan dengan kebutuhan pemakai merupakan suatu sistem temu kembali informasi (Manning et al. 2009).
Information Retrieval System (IRS) tidak memberi tahu pengguna masalah yang ditanyakannya. Sistem tersebut hanya memberitahukan keberadaan dan keterangan dokumen yang berhubungan dengan permintaan pengguna. Dengan memakai bahasa natural sebagai bahasa query, IRS memberikan kemudahan kepada pengguna dalam merepresentasikan kebutuhan informasinya dalam bentuk query.
IRS menerima query dari pengguna, kemudian melakukan perangkingan terhadap dokumen pada koleksi. Hasil perangkingan yang diberikan kepada pengguna merupakan dokumen yang menurut sistem relevan dengan
query. Perangkingan dokumen oleh sistem ini dilakukan dengan memberikan pembobotan.
Pembobotan dilakukan terhadap token yang berada dalam dokumen koleksi. Sistem temu kembali yang paling sederhana memboboti dengan bobot biner, 1 jika token muncul di dokumen dan 0 jika sebaliknya. Untuk menghasilkan penggabungan bobot untuk setiap token di dalam setiap dokumen, dilakukan pengkombinasian frekuensi token
(term frequency) dan inverse document frequency yang dinyatakan sebagai berikut (Manning et al. 2009).
Wi,j = tfi,j * idft.
Dengan tfi,j merupakan bobot token ke-i
pada dokumen ke-j dan idft, N adalah jumlah
dokumen dalam koleksi serta ni merupakan
jumlah dokumen yang mengandung token ke-i.
Vector Space Model (VSM)
VSM merupakan pemodelan yang berbasiskan token yang memungkinkan partial matching dan pemeringkatan dokumen. Berikut beberapa prinsip dasar yang digunakan dalam VSM (Manning et al. 2009):
1. D ={d0, d1, …, dN} adalah himpunan N
dokumen dalam koleksi. d mengacu pada sembarang dokumen di Є D. Dokumen
sebagai vektor token.
2. Q adalah query yang direpresentasikan sebagai sebuah vektor berdimensi m mirip dengan dokumen.
3. T = {t0, t1, … tm} adalah himpunan m token
dalam dokumen.
4. Kesamaan vektor dokumen dan query
dihitung berdasarkan kesamaan antar vektor. Dokumen-dokumen yang ditemukembalikan merupakan hasil penemukembalian yang ditampilkan berupa daftar dokumen yang telah terurutkan berdasar tingkat kesamaan dokumen dengan query. Tingkat atau ukuran kesamaan
sim(dj, q) antara dokumen di dengan query Q
dihitung dengan menggunakan persamaan kosinus sudut antara di dan Q sebagai berikut :
Evaluasi Temu Kembali Informasi
Dasar pengukuran keefektifan temu kembali informasi adalah recall dan precision. Recall
adalah fraksi dokumen-dokumen yang relevan yang ditemukembalikan terhadap dokumen yang relevan. Precision adalah fraksi dokumen-dokumen yang relevan yang ditemukembalikan terhadap dokumen yang ditemukembalikan (Manning et al. 2009).
Average precison (AVP) adalah suatu ukuran evaluasi temu kembali yang diperoleh dengan menghitung rata-rata precision pada berbagai tingkat recall yang ditemukembalikan. Tingkat recall standar yang digunakan adalah 11 tingkat recall, yaitu 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, dan 1.0.
Precision yang diinterpolasi pada standar
recall level ke j adalah precision maksimum pada suatu recall level antara level j dan level (j+1) :
Algoritme Damerau Levenhstein Metric
Damerau Levenshtein Metric adalah sebuah fungsi pada finite string dari sebuah alphabet ke integer. Sebuah matriks jarak yang diberikan
stringss1, s2, s3 yang memenuhi kondisi (Bard, 2006):
Non-negativity: d(s1, s2) ≥ 0
Non-degeneracy: d(s1, s2) = 0 jika dan hanya
jika s1 = s2
Symmetry: d(s1, s2) = d(s2, s1)
Triangle Inequality: d(s1, s2) + d(s2, s3) ≥
d(s1, s3)
Jarak d(s1, s2) didefinisikan sebagai sebuah
kombinasi operasi penjumlahan dari penambahan sebuah huruf, penghilangan sebuah huruf, penggantian sebuah huruf atau penukaran
(20)
3 sebuah huruf dari huruf lainnya dalam satu
lokasi. Itu memungkinkan beberapa kombinasi pada empat operasi yang dapat menransformasikan string s1 ke s2, tapi panjang terpendek urutan adalah jarak antara dua strings.
Metode Damerau Levenshtein Metric melakukan operasi perbandingan kata-kata dengan memerhatikan 4 macam kesalahan pengetikan (misalnya kata DAMERAU), yaitu: 1. Penyisipan sebuah huruf, misalnya
DAHMERAU.
2. Penghapusan sebuah huruf, misalnya DAMRAU.
3. Penggantian sebuah huruf dengan huruf lain, misalnya DANERAU.
4. Penukaran sebuah huruf berurutan, misalnya DAMERUA.
Salah satu metode pembandingan dalam memeriksa ejaan dengan menggunakan Table Look-up. Metode ini membandingkan kata terhadap kata dalam kamus. Jika tidak ada dikamus maka kata tersebut dianggap salah (Peterson 1980, diacu dalam Wahyudin 1999). Ketidaksesuaian dari strings dapat dibandingkan dengan kata pada kamus yang secara langsung menggunakan penyesuaian karakter demi karakter secara iteratif, dengan menentukan jumlah minimum kesalahan dari masing-masing operasi.
Damerau Levenshtein Metric menghitung jumlah minimum kesalahan dari dua kata misalnya terdapat dua buah kata yang dinotasikan sebagai s dan t. Variabel i dan j
menyatakan posisi huruf yang dibandingkan pada suatu kata (pfiefer et al. 1994).
f(0, 0)= 0
f(i, 0)= i
f(0, j)= j f(i, j)= min {
f(i-1, j) + 1, // deletion f(i, j-1) + 1, // insertion f(i-1, j-1) + d(si, tj) // substitution
f(i-2, j-2) + d(si-1, tj) + d(si, tj-1) + 1
// transposition
} fungsi d merupakan fungsi untuk mengukur jarak untuk huruf.
Fungsi f(i, j) menghitung minimum jumlah kesalahan-kesalahan perbandingan i karakter pertama dari kata pertama dengan j karakter pada kata kedua. Jarak antara dua strings
adalah f(m,n), dimana m merupakan panjang
string pertama dan n merupakan panjang string
ke dua.
METODOLOGI PENELITIAN
Penelitian ini dilakukan melalui beberapa tahap, yaitu:
1. Pengumpulan data
2. Pembuatan program pengoreksian ejaan pada sistem temu kembali
3. Penentuan jarak edit
4. Percobaan
5. Evaluasi kinerja program
Data penelitian yang digunakan berupa kata yang diambil dari KBBI tahun 2005 dan digunakan sebagai kamus referensi. Kata yang digunakan adalah kata-kata dasar dan kata berimbuhan sebanyak 53064 kata.
Tahapan pembuatan model sistem temu kembali dapat dideskripsikan pada Gambar 1.
(21)
4 Gambar 1 Deskripsi model sistem temu kembali informasi.
Proses awal dilakukan pemisahan kata (tokenizer) terhadap query dengan menghilangkan beberapa tanda baca dan karakter sparator (whitespace seperti karakter
space). Proses pemisahan kata ini dilakukan menjadi unit paling kecil yang disebut dengan kata atau token.
Setiap kata yang diperoleh dari proses
tokenizer, satu-persatu dilakukan proses pengecekan terhadap kamus. Jika kata ada dalam kamus maka kata tersebut benar dan akan digunakan sebagai pembobotan query dalam model VSM. Namun jika kata tersebut tidak ada dalam kamus, maka kata tersebut merupakan salah eja yang selanjutnya dilakukan proses pencarian kata dalam kamus yang memiliki kemiripan dengan kata yang sedang dikoreksi dengan algoritme Damerau Levenshtein Metric.
Pembobotan dokumen dalam sistem temu kembali model VSM adalah dengan memberikan nilai kemunculan suatu kata (term frequency) sebagai bobot, termasuk kata dalam
query.
Setelah dilakukan pemberian nilai bobot, maka diperoleh vektor-vektor dokumen.
Vektor-vektor dokumen akan ditentukan nilai kesamaan dengan vektor query. Penentuan nilai kesamaan (similarity) dihitung dengan rumus kosinus.
Dokumen-dokumen yang sudah ditentukan nilai kesamaan dengan query kemudian dilakukan pengurutan (perangkingan) yang berdasarkan nilai kesamaannya. Dokumen yang memiliki nilai kesamaan paling besar akan berada paling atas dalam sistem temu kembali. Sebaliknya, dokumen yang memiliki nilai kesamaan paling kecil akan tersimpan berada paling bawah dalam sistem temu kembali.
Penentuan jarak edit
Penetapan jarak edit pada pengoreksian ejaan sangat menentukan banyaknya kata yang diberikan sebagai kata usulan. Hal ini dikarenakan kata usulan yang diperoleh hanya kata yang memiliki jarak edit yang lebih kecil atau sama dengan k.
Umumnya kesalahan yang dilakukan pada penulisan sebuah kata mempunyai jarak edit (k) maksimum sama dengan dua terhadap jarak yang benar ejaannya (Mitton 1987, dalam Arumsari, 1998).
Query
Ada ? KBBI
Korpus
VSM
Similarity
Damerau-Levenstein-Metric
Merge
Display Kata usulan
Edit distance
N Y Tokenizer
Tokenizer
(22)
5 Diagram alir pengoreksian ejaan dapat
dilihat pada Gambar 2. Query yang dimasukkan pada sistem, dilakukan proses pemisahan kata. Setiap kata yang diperoleh dilakukan proses pemeriksaan pada kamus. Jika kata ada di dalam kamus, maka kata tersebut mempunyai ejaan yang benar. Tetapi jika kata tidak ada dalam kamus, selanjutnya dilakukan pencarian kemiripan kata dalam kamus berdasarkan jarak
edit yang telah ditentukan yaitu k, artinya program akan mencari kata dalam kamus yang memiliki ukuran jarak kurang dari atau sama dengan k. Sistem ini akan menentukan kata sebagai kata usulan yang memiliki jarak edit
maksimum sama dengan 2 (k = 2). Tetapi, jika ada kata usulan yang memiliki jarak edit sama dengan 1 maka sistem akan memberikan kata usulan yang hanya memiliki jarak edit-nya sama dengan 1. Apabila pada pemeriksaan tersebut
tidak diberikan kata usulan untuk menggantikan kata yang salah ejaannya, maka tidak ada yang memenuhi dari semua kata yang ada dalam kamus. Dengan demikian, sistem menganggap kata yang sedang dikoreksi tidak memiliki kemiripan dengan kata apapun dalam kamus. Jika pada pemeriksaan kata diberikan kata yang mirip sesuai untuk menggantikan kata yang salah ejaannya, maka pengguna dapat memilih kata tersebut untuk menggantikan kata yang salah ejaannya.
Ketika kata yang diperiksa tidak ada dalam kamus, tetapi kata tersebut memiliki ejaan sesuai ejaan bahasa Indonesia yang benar, maka program akan menawarkan apakah kata tersebut ingin dimasukkan ke dalam kamus atau tidak. Jika kata yang dikoreksi ingin dimasukkan ke dalam kamus, maka program akan menyimpan kata tersebut ke dalam kamus khusus.
Gambar 2 Diagram alir pengoreksian ejaan.
Kueri
Tokenizer
Ada dalam Kamus?
Hitung Jarak Kata Ambil satu
kata
Jarak kata ≤ k ?
Kata ada di dalam usulan? Mulai
Selesai
Simpan ke dalam kamus Kamus
Tampilkan sebagai usulan
Masukan ke Kamus?
Y
N Y
N Y
N
Y
(23)
6
Percobaan
Tujuan percobaan ini adalah untuk mengetahui kinerja algoritme pengoreksian ejaan Damerau Levenshtein. Akan dilihat apakah algoritme tersebut dapat memberikan usulan kata yang cukup baik untuk berbagai variasi kesalahan yang terjadi.
Percobaan dilakukan dengan mengetikkan
query yang mengandung salah eja. Hal ini juga dilakukan seolah-olah tidak mengetahui ejaan
query yang benar (diasumsikan ejaan query
benar walaupun mengandung salah eja).
Evaluasi Kinerja Program
Evaluasi untuk mengukur kinerja sistem temu kembali informasi adalah dengan recall
dan precision. Dari hasil penemukembalian dokumen-dokumen, dilakukan perhitungan nilai
precision pada tingkat recall tertentu. Hasilnya kemudian dirata-ratakan untuk mendapatkan
Average Precision (AVP).
Asumsi
Asumsi-asumsi yang digunakan dalam penelitian ini antara lain:
Query yang dimasukkan ke sistem merupakan kata kunci yang telah ditentukan sebelumnya.
Jumlah dokumen relevan untuk setiap query
telah diketahui sebelumnya.
Teks pada dokumen benar sesuai dengan Kamus Besar Bahasa Indonesia.
Pengoreksian hanya dilakukan pada query.
HASIL DAN PEMBAHASAN
Dokumen korpus yang digunakan untuk pengujian sebanyak 1000 dokumen dalam bentuk file teks yang berformat XML. Contoh dokumen pengujian dapat dilihat pada Lampiran 1. Deskripsi dokumen pengujian ditunjukan oleh Tabel 1.
Tabel 1. Deskripsi dokumen pengujian
Uraian Nilai
(bytes)
Ukuran rata-rata dokumen 4.111 Ukuran dokumen keseluruhan 4.110.509 Ukuran dokumen terbesar 53.306 Ukuran dokumen terkecil 456 Percobaan dilakukan dengan query sebanyak 30 query yang telah ditentukan. Lampiran 2 merupakan contoh query yang digunakan sebagai percobaan. Masing-masing query
dilakukan 3 kali percobaan. Lampiran 3 merupakan hasil percobaan untuk
masing-masing percobaan jenis kesalahan. Banyaknya kata usulan yang dimunculkan tergantung banyaknya kata di kamus serta nilai jarak edit
yang ditentukan sebelumnya.
Pada percobaan pengoreksian ejaan terdapat kata yang dikoreksi diberikan kata usulan oleh sistem tetapi tidak sesuai dengan kata yang diharapkan, seperti kata “organik” dan
“kekeringan”. Karena keterbatasan kata dalam
kamus, sistem hanya mengusulkan mungkin
kata tersebut adalah “organnik”. Namun, kata
“kekeringan”, sistem memunculkan kata usulan “kepeningan”, “kemiringan”, “keserongan”,
“kekuningan”, “kekurangan”, “kekejangan”,
“kebeningan”, “keserangan”, “keterangan”,
“keheningan” dan “keberingas”. Padahal kata
“organik” dan “kekeringan” benar sesuai ejaan
bahasa Indonesia. Dengan demikian, kata
“organik” dan “kekeringan” dilakukan proses penyimpan pada kamus khusus.
Pembobotan Model VSM
Proses tokenizer pada korpus menghasilkan
token atau kata setiap dokumen. Sesuai Tabel 3 jumlah kata setiap dokumen sangat beragam. Penjelasan hasil proses tokenizer ditunjukan oleh Tabel 2.
Tabel 2. Hasil proses tokenizer
Uraian Nilai
Rata-rata token tiap dokumen 563 Jumlah token keseluruhan 563.019 Jumlah token terbesar 7.166 Jumlah token terkecil 44 Hasil proses penentuan kata unik pada sebuah teks dokumen pada korpus juga sangat beragam. Kata unik yang diperoleh ditunjukkan pada Tabel 3.
Tabel 3. Hasil penentuan kata unik
Uraian Nilai
Rata-rata token unik tiap
dokumen 26
Jumlah token unik keseluruhan 25875 Jumlah token unik terbesar 1.831 Jumlah token unik terkecil 37 Hasil penentuan kata unik disajikan pada Tabel 3, dimana didapatkan jumlah kata atau
token unik secara keseluruhan 25875 kata. Kata unik ini digunakan sebagai attribut vektor-vektor dokumen. Setiap dokumen menjadi sebuah vektor. Begitu juga query menjadi sebuah vektor.
Pembobotan ini dilakukan dengan membuat sebuah matriks yang menyimpan baris sebagai
(24)
7 kata unik dari korpus dan kolom sebagai nama
dokumen. Nilai cell pada matriks diisikan dengan nilai 1 dan 0. Nilai 1 menunjukkan kata ada pada dokumen. Sehingga matriks yang digunakan untuk pemodelan VSM memiliki ukuran 268.213 x 1001 cell.
Evaluasi Kinerja Temu Kembali
Untuk mengukur performansi dari temu kembali informasi, digunakan koleksi uji, koleksi uji terdiri atas tiga bagian, yaitu koleksi dokumen, query, dan relevance judgement. Koleksi dokumen adalah kumpulan dokumen yang dijadikan bahan pencarian oleh sistem.
Relevance judgement adalah daftar dokumen-dokumen yang relevan dengan semua query
yang telah disediakan.
Berdasarkan percobaan, akan dipaparkan nilai precision untuk beberapa tahap, yaitu nilai
precision sebelum dilakukan pengoreksian, nilai
precision setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan nilai
precision setelah pengoreksian dengan kata usulan yang diharapkan. Nilai precision untuk semua percobaan akan dilihat berdasarkan maksimum nilai precision, minimum nilai
precision dan rata-rata precision dari semua percobaan.
Berdasarkan Lampiran 4 dan Lampiran 5, nilai precision untuk tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan
diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan diperoleh dengan nilai precison maksimum dari semua percobaan. Penurunan nilai precision rata-rata setelah dilakukan tahap setelah pengoreksian dengan kata usulan yang diharapkan sedikit lebih kecil dibanding dengan tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan. Hal ini disebabkan secara maksimum nilai precision dari semua percobaan tahap setelah pengoreksian dengan kata usulan yang diharapkan lebih optimal. Sementara itu, grafik perbandingan precision tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan dapat dilihat pada Gambar 3.
Berdasarkan Gambar 3, pada titik recall 0 sampai 0,2 menunjukkan nilai precision yang relatif sama. Untuk tahap setelah pengoreksian dengan kata usulan yang diharapkan pada titik
recall 0 sampai 0,6 kurva recall-precision
berada pada atau di atas dua kurva lainnya. Ini menunjukkan peningkatan nilai rata-rata
precision dokumen relevan. Tetapi pada titik
recall 0,7 sampai 1 mengalami penurunan nilai rata-rata precision. Walaupun demikian, tahap setelah pengoreksian dengan kata usulan yang diharapkan mengalami peningkatan dokumen relevan dalam sistem temu kembali .
Gambar 3. Kurva maksimum recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata
yang diharapkan. 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Sebelum dikoreksi
Dikoreksi dengan bukan kata yang diharapkan Dikoreksi dengan kata yang diharapkan
(25)
8 Gambar 4. Kurva minimum recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian
dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata yang diharapkan.
Berdasarkan Lampiran 6 dan Lampiran 7, nilai precision diperoleh dengan nilai precison
minimum dari semua percobaan. Nilai rata-rata
precision tahap setelah pengoreksian dengan bukan kata diharapkan sedikit lebih tinggi dibanding tahap sebelum dilakukan pengoreksian. Hal ini disebabkan dengan melihat nilai precision secara minimum percobaan setelah pengoreksian dengan kata usulan yang diharapkan query menjadi lebih optimal. Sementara itu, grafik perbandingan
precision tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan dengan melihat minimum precision dapat dilihat pada Gambar 4.
Berdasarkan Gambar 4, kurva recall-precision tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan selalu berada di atas kurva recall-precision tahap sebelum dilakukan pengoreksian. Hal ini menunjukkan peningkatan nilai rata-rata precision yang menyebabkan peningkatan dokumen relevan yang ditemukembalikan. Berdasarkan minimum
precision, perbandingan hasil temu kembali setelah tahap setelah pengoreksian dengan kata usulan yang diharapkan, menunjukkan nilai
recall dan precision memiliki nilai yang lebih baik dibanding dua tahap lainnya yang menyebabkan peningkatan dokumen-dokumen yang ditemukembalikan dan query menjadi lebih optimal.
Berdasarkan Lampiran 8 dan Lampiran 9, nilai precision untuk tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan diperoleh dengan rata-rata nilai precison dari semua percobaan. Nilai rata-rata precision setelah tahap setelah pengoreksian dengan kata usulan yang diharapkan jauh lebih tinggi dibanding dengan tahap sebelum dilakukan pengoreksian maupun tahap setelah pengoreksian dengan kata usulan yang diharapkan. Hal ini disebabkan,
query setelah tahap setelah pengoreksian dengan kata usulan yang diharapkan menjadi
query yang lebih optimal. Sementara itu, grafik perbandingan precision tahap sebelum dilakukan pengoreksian, tahap setelah pengoreksian dengan memilih kata usulan yang bukan diharapkan, dan tahap setelah pengoreksian dengan kata usulan yang diharapkan dengan melihat minimum precision
dapat dilihat pada Gambar 5. 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Sebelum dikoreksi
Dikoreksi dengan bukan kata yang diharapkan Dikoreksi dengan kata yang diharapkan
(26)
9 Gambar 5. Kurva rata-rata recall-precision tahap sebelum pengoreksian, tahap setelah pengoreksian
dengan bukan kata diharapkan, dan tahap setelah pengoreksian dengan kata yang diharapkan.
Kurva perbandingan recall-precision pada Gambar 5 menunjukkan bahwa kurva recall-precision setelah tahap setelah pengoreksian dengan kata yang diharapkan selalu berada di atas dua kurva tahap sebelum pengoreksian dan tahap setelah pengoreksian dengan bukan kata diharapkan. Hal ini terjadi peningkatan nilai rata-rata precision yang baik setiap titik recall. Ini menunjukkan query setelah dilakukan pengoreksian dengan kata yang diharapkan jauh lebih optimal. Query yang lebih optimal menyebabkan peningkatan dokumen-dokumen relevan yang ditemukembalikan.
Pengoreksian ejaan query dengan menggunakan algoritme Damerau Levenshtein dalam percobaan, menunjukkan hasil yang sangat baik. Ini terlihat secara rata-rata perbandingan kurva sebelum query dikoreksi dan setelah dikoreksi dengan kata yang diharapkan terlihat nilai precision temu kembali meningkat untuk setiap titik recall. Ini juga menunjukkan dokumen-dokumen relevan yang ditemukembalikan berada pada halaman pertama dari sistem temu kembali.
Perbandingan Kinerja Temu Kembali dengan Levenshtein (Arumsari, 1998)
Dari hasil percobaan evaluasi temu kembali yang dilakukan dengan menggunakan algoritme Damerau Levenshtein, akan dilakukan perbandingan evaluasi kinerja temu kembali dengan menggunakan metode jarak edit yang
digunakan dalam penelitian Arumsari (1998). Tabel 11 menunjukkan nilai precision
perbandingan pengoreksian dengan menggunakan algoritme Damerau Levenshtein dan jarak edit (Arumsari, 1998) dan Gambar 5. menunjukkan kurva perbandingan menggunakan algoritme Damerau Levenshtein dengan metode jarak edit (Arumsari, 1998). Tabel 11. Perbandingan nilai precision dengan algoritme Damerau Levenshtein dengan metode Levenshtein (Arumsari,1998).
recall Levenshtein Damerau Levenshtein
Perubahan (%)
0 0,65 0,78 20 0,1 0,56 0,68 21 0,2 0,45 0,54 20 0,3 0,4 0,5 25 0,4 0,36 0,43 19 0,5 0,34 0,41 21 0,6 0,31 0,37 19 0,7 0,28 0,33 18 0,8 0,22 0,28 27 0,9 0,18 0,24 33 1 0,13 0,16 23
Rataan 0,35 0,43 22,36
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Sebelum dikoreksi
Dikoreksi dengan bukan kata yang diharapkan Dikoreksi dengan kata yang diharapkan
(27)
10 Gambar 6. Kurva recall-precision perbandingan algoritme Damerau Levenshtein dengan Levenshtein
Berdasarkan Gambar 6, kurva recall-precision dengan algoritme Damerau Levenshtein berada di atas kurva dengan metode Levenshtein (Arumsari, 1998) untuk setiap titik recall-nya. Ini menunjukkan pengoreksian ejaan dengan algoritme Damerau Levenshtein lebih optimal dan meningkatkan dokumen yang ditemukembalikan pada sistem. Ini terlihat ketika pengoreksian ejaan seperti
pada kata “perdagagnang”, “labroatoruim”,
“haisl” dengan menggunakan Levenhtein (Arumsari,1998), sistem tidak menemukan kata usulan atau tidak memberikan kata usulan yang diharapkan. Lebih lengkapnya kata usulan yang diberikan dengan metode Levenshtein (Arumsari,1998) dapat dilihat pada Lampiran 10. Lampiran 11 merupakan contoh referensi kamus dan Lampiran 12 merupakan antar muka sistem yang telah dibuat.
KESIMPULAN DAN SARAN Kesimpulan
Melalui penelitian ini dapat disimpulkan: 1. Implementasi algoritme Damerau
Levenshtein untuk koreksi ejaan pada
search engine, dapat meningkatkan kinerja temu kembali dan query menjadi lebih optimal. Ini terlihat peningkatan secara rata-rata precision sebesar 44,82 % setelah dilakukan pengoreksian.
2. Pengoreksian dengan algoritme Damerau Levenshtein lebih baik dibanding dengan metode jarak edit yang dilakukan oleh Arumsari (1998). Ini terlihat peningkatan
precision pada kinerja temu kembali sebesar 22,36% serta kata usulan yang diperoleh dengan algoritme Damerau Levenshtein lebih optimal.
Saran
Saran penelitian pengoreksian ejaan dengan algoritme Damerau Levenshtein selanjutnya: 1. Untuk menemukan kata yang dekat atau
tidak jauh perbedaanya dengan kata yang sedang diperiksa diperlukan algoritme pencarian yang hanya sebatas pada kata-kata di dalam kamus yang mendekati kata yang sedang diperiksa. Dengan demikian, tidak perlu dilakukan penentuan jarak edit
terhadap seluruh kata di dalam kamus. 2. Kata usulan yang diperoleh perlu ditentukan
nilai peluang terhadap query. Dengan demikian, jika kata usulan yang diperoleh memiliki lebih dari dua kata usulan yang memiliki jarak edit yang sama dapat ditentukan kata mana yang lebih optimal.
DAFTAR PUSTAKA
Arumsari, KN. 1998. Penggunaan Metode Kesamaan String pada Pemeriksaan Ejaan Bahasa Indonesia [skripsi]. Bogor: Departemen Ilmu Komputer, Fakultas MIPA, Institut Pertanian Bogor.
Bard GV. 2006. Spelling-Error Tolerant, Order-Independent Pass-Phrases via the Damerau-Levenshtein String-Edit Distance Metric. University of Maryland. 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Damerau Levenshtein Levenshtein (Arumsari,1998)
(28)
11 Primasari D. 1997. Metode Pencarian dan Temu
Kembali Nama Berdasarkan Kesamaan Fonetik. [skripsi]. Bogor: Departemen Ilmu Komputer, Fakultas MIPA, Institut Pertanian Bogor.
Manning CD, Prabhakar R, Hinrich S. 2009. An
Introduction to Information Retrieval. Cambridge University Press.
Pfeifer U, Poersch T, Furh N. 1994. Searching Proper Names in Databases. University of Dortmund.
Wahyudin, Aep. 1999. Algoritme Trigram untuk Mengoreksi Ejaan [skripsi]. Bogor: Departemen Ilmu Komputer, Fakultas MIPA, Institut Pertanian Bogor.
(29)
(30)
13 Lampiran 1 Contoh dokumen pengujian
<DOC>
<DOCNO>indobic130504-002</DOCNO>
<TITLE>Workshop Pelepasan Tanaman Transgenik di Kenya </TITLE> <DATE>13/05/2004</DATE>
<TEXT>
Kemajuan transformasi gen dari kelompok konsultatif dalam Riset Pertanian Internasional pusat (Consultative Group in International Agricultural Research) bertemu di Nairobi, Kenya baru-baru ini untuk mendiskusikan transfer gen dan pelepasan tanaman, sebuah sub-program dari program tantangan generasi Bank Dunia (World Banks Generation Challenge Program) yang memfokuskan pada pelepasan varietas tanaman di negara berkembang.
Kordinator workshop, Dr. Marc Ghilain, kepala Molekular Biologi Laboratorium Pelepasan Tanaman dan Departemen Sumber Genetik di Pusat Kentang Internasional di Lima, Peru, mengungkapkan bahwa sub-program akan memungkinkan perusahaan benih untuk membaca lebih lanjut berbagai teknik pembenihan pada tanaman target.
Dr. Ghilain menambahkan bahwa objektif program tantangan ini adalah untuk membawa bersama-sama dalam pusat CGIAR dan sektor publik untuk berbagi sumber, ide, dan informasi pada proyek mereka untuk mengurangi duplikasi dari upaya dan langkanya sumber. Ia menambahkan bahwa tugas utama dari program ini adalah untuk membawa negara miskin menuju keamanan pangan melalui jalur lain dari Revolusi Hijau.
Berkenaan dengan Dr. Robert Zeigler, Direktur Program Tantangan Generasi, aktifitas program akan menghabiskan dana sekitar 12.5 juta dolar US setiap tahunnya. Pendanaan sebagian besar datang dari Bank Dunia, Persemakmuran Eropa, dan CGIAR.
Program ini mempunyai lima komponen, yaitu: genetik, keanekaragaman secara global, sumber-sumber genetik; perbandingan genomik untuk penelurusan gen; transfer gen dan pelepasan tanaman; genomik dan sistem informasi tanaman; dan pengembangan kapasitas (capacity building). Program ini menggabungkan sebuah teknologi transfer tanaman untuk memastikan bahwa produk riset dapat digunakan oleh petani.
Program ini mengikut sertakan tiga lembaga yang masing-masing memiliki latar belakang yang berbeda, yaitu: CGIAR, sebagai lembaga yang memiliki informasi keanekaragaman tanaman yang berguna bagi kehidupan manusia dan memiliki keahlian dalam riset molekular dan program pembenihan; Sistem Riset Pertanian Nasional untuk Negara-Negara Berkembang, membawa keahlian dalam penilaian dan pembenihan tanaman dibawah kondisi khusus, dengan partisipasi dari para petani; Advanced Research Institutes untuk mengembangkan teknik baru dan strategi untuk pengkodean keanekaragaman genetik. Kenya Biotechnology Information Center (KBIC)
</TEXT> </DOC>
(31)
14 Lampiran 2 Tabel query percobaan
No Query
1 Gagal panen 2 Petani tebu 3 Industri gula
4 Perdagangan hasil pertanian 5 Penerapan teknologi pertanian 6 Pupuk organik
7 Penyakit hewan ternak
8 Penerapan bioteknologi di Indonesia 9 Laboratorium pertanian
10 Riset pertanian
11 Harga komoditas pertanian 12 Tanaman pangan
13 Kelompok masyarakat tani 14 Musim panen
15 Tanaman obat 16 Gabah kering giling 17 Impor beras Indonesia 18 Pertanian organik 19 Swasembada pangan 20 Penyuluhan pertanian 21 Tadah hujan
22 Bencana kekeringan 23 Peternak unggas 24 Flu burung
25 Institut pertanian bogor
26 Pembangunan untuk sektor pertanian 27 Upaya peningkatan pendapatan petani 28 Produk usaha peternakan rakyat 29 Kelangkaan pupuk
(32)
15 Lampiran 3 Daftar hasil usulan koreksi pada query
No Ulangan Query Usulan Koreksi Jarak
edit
Klasifikasi Kesalahan
1
1 gaga;l panep/puso gagal 1 insertion
panen, panel 1 substitution 2 gagal pnen/puso pen, panen 1 deletion
3 ggaal panen/puso gagal 1 transposition
2
1 petani tebtu tentu, tebu 1 insertion
2 ptani tebu petani, tani 1 deletion
3 eptani tebu petani 1 transposition
3
1 industri ugla gula 1 transposition
2 indstri gula industri 1 deletion
3 indusri gula industri 1 deletion
4
1 perdagagnang haisl pertanian
perdagangan 2 insertiontransposition, hasil, hail 1 transposition 2 perdaagangan hassil
pertanian
perdagangan 1 insertion
hasil 1 insertion
3 perdaagangan hasil perrtanian
perdagangan 1 insertion
pertanian 1 insertion
5
1 penerapan tekhnologi
pertanian teknologi 1 insertion 2 penerapan tecnologi
pertanian teknologi 1 substitution
3 penerrapan tehnologi pertanian
penerapan 1 insertion
teknologi 1 substitution
6
1 pupuk organik organnik 1 pembelajaran 2 pupuk organiik organik, organnik 1 insertion
3 pupuk ortganik organik 1 insertion
7
1 penyakti hewan ternak penyakit 1 insertion
2 penyakit hewan ternakj ternak 1 insertion
3 Pemyakit hewan tyernak penyakit 1 substitution
ternak 1 insertion
8
1 penerapan biotekhnologi di
Indonesia bioteknologi 1 insertion 2 penerapan biotehnologi di
Indonesia bioteknologi 1 substitution 3 penerpan bioteknologi di
indonesia
penerapan,
(33)
16 Lampiran 3 lanjutan
No Ulangan Query Usulan Koreksi Jarak
edit
Klasifikasi Kesalahan
8 3 penerpan bioteknologi di
indonesia Indonesia 1 substitution
9
1 laboaratorium pertanian laboratorium 1 insertion
2 labroatoruim pertanian laboratorium 2 transposition
3 laboratorium pertanihan pertanian,
pertanahan 1 insertion
10
1 riser pertanian riset 1 substitution
2 risert pertanian riset 1 insertion
3 riset petranian pertanian 1 transposition
11
1 hagra komoditas pertanian jagra, harga, hara 1 transposition
2 hahrga komodias pertanian komoditas 1 deletion
3 harga komodiatas pertanian komoditas 1 insertion
12
1 tanaman pagnan pangan, pagan 1 transposition
2 tnaman pangan tanaman, taman 1 deletion
3 tanaman pangna pangsa, pangan 1 transposition
13
1 kelompk masyarakt tani kelompok 1 deletion
masyarakat 1 deletion
2 kelompok masiarakat tani masyarakat,
masarakat 1 substitution 3 kellompok masyarakat tani kelompok 1 insertion
14
1 musim panmen pasmen, panen 1 deletion
2 nmusim panen musim 1 insertion
3 musim psanen panen 1 insertion
15
1 tannaman obat tanaman 1 insertion
2 tanaman obatr obat, obar 1 insertion
3 taanman obat tanaman 1 transposition
16
1 gabah kering gilign giling, gilian 1 transposition
2 gabh kering giing gah, gabah 1 insertion
giling 1 deletion
3 gabah kerign giling kering 1 insertion
17
1 impor breas indonesia beras 1 transposition
Indonesia 1 substitution
2 inmpor beras Indonesia impor 1 insertion
3 import beras Indonesia impor 1 insertion
(1)
27 Lampiran 12. Antarmuka program Temu Kembali Informasi
(2)
1 PENDAHULUAN
Latar belakang
Kata kunci atau yang biasa disebut dengan query pada pencarian informasi dari sebuah search engine digunakan sebagai kriteria pencarian yang tepat dan sesuai dengan kebutuhan. Ejaan kata kunci yang benar menjadi penting untuk meningkatkan hasil pencarian informasi. Ketika pengguna menulis query sebagai masukan pada sistem pencari, muncul kesalahan ejaan disebabkan posisi tombol papan ketik dan pergerakan jari sehingga hasil pencarian bersifat salah. Oleh karena itu, diperlukan suatu aplikasi yang dapat mengoreksi kesalahan ejaan. Pengoreksian ejaan ini dapat dilakukan dengan memberikan ejaan kata yang benar yaitu dengan memberikan usulan ejaan kata yang mirip berdasarkan kamus.
Penelitian tentang pengoreksian ejaan bahasa Indonesia juga pernah dilakukan oleh Primasari (1997), tentang pencarian dan temu kembali nama berdasarkan kesamaan fonetik. Wahyudin (1999) dengan menggunakan algoritme trigram untuk mendapatkan kata-kata perkiraan dari kata yang dinyatakan salah eja. Arumsari (1998) menentukan jarak edit diantara dua string dari operasi yang dilakukan yaitu: (1) operasi penyisipan (insertion), (2) operasi penghapusan (deletion), dan (3) operasi penggantian (subtitution) sebuah huruf yang disebut metode Levenshtein. Pengoreksian ejaan akan dilakukan dengan algoritme Damerau Levenshtein. Algoritme ini menambahkan sebuah operasi yaitu operasi penukaran (transposition) pada metode Levenshtein. Dengan demikian, algoritme Damerau Levenshtein memperhatikan empat operasi dalam menentukan jarak edit, yaitu (1) operasi penyisipan (insertion), (2) operasi penghapusan (deletion), (3) operasi penggantian (subtitution) dan operasi penukaran (transposition) sebuah huruf yang berdekatan. Dengan demikian, perolehan kata ejaan yang benar lebih optimal.
Tujuan
Tujuan dari penelitian ini adalah meningkatkan kinerja temu kembali informasi dengan mengoreksi kesalahan yang ada pada query berdasarkan pada kamus.
Ruang Lingkup
Koreksi kesalahan ejaan pada query yang dilakukan pada penelitian ini menggunakan algoritme yang berdasarkan dengan menghitung
jumlah minimum operasi yaitu: (1) penyisipan (insertion), (2) penggantian (subtitution), (3) penghapusan (deletion), dan (4) penukaran (transposition) posisi sebuah huruf yang disebut algoritme DamerauLevenshtein.
Manfaat
Penelitian ini diharapkan membantu pengguna dalam melakukan pencarian informasi pada search engine dengan meningkatkan perbaikan kesalahan kata akibat salah ketik.
TINJAUAN PUSTAKA
Menurut Damerau dalam Wahyudin (1999) menyimpulkan 80% kesalahan ejaan dapat disebabkan karena empat hal, yaitu:
1. Penggantian satu huruf 2. Penyisipan satu huruf 3. Penghilangan satu huruf
4. Penukaran dua huruf berdekatan.
Kesalahan ejaan juga dapat disebabkan oleh beberapa hal, diantaranya:
1. Ketidaktahuan penulisan. Kesalahan ini biasanya konsisten dan kemungkinan berhubungan dengan bunyi kata dan penulisan yang seharusnya.
2. Kesalahan dalam pengetikan yang lebih tidak konsisten tapi mungkin berhubungan erat dengan posisi tombol papan ketik dan pergerakan jari.
3. Kesalahan transmisi dan penyimpanan yang berhubungan dengan pengkodean pada jalur mekanisme transmisi data.
Kesalahan ejaan dapat dikoreksi menggunakan dua strategi dasar yang berbeda, yaitu mutlak dan relatif (Pullock & Zamora 1984, dalam Wahyudin 1999). Secara mutlak, pengoreksian dilakukan dengan membuat suatu tabel variasi ejaan yang salah dengan ejaan yang benarnya. Namun demikian, secara relatif ejaan yang benar dipilih dari kamus yaitu dengan mencari kata dalam kamus yang paling mirip dengan kata yang salah ejaannya.
Temu Kembali Informasi
Temu Kembali informasi adalah menemukan material (biasanya dokumen-dokumen) dari yang tidak terstruktur (biasanya teks) yang memenuhi kebutuhan informasi dari koleksi-koleksi yang besar (biasanya disimpan dalam komputer). Temu kembali informasi berkaitan dengan representasi, penyimpanan, dan akses terhadap dokumen representasi
(3)
2 dokumen. sistem yang berfungsi untuk
menemukan informasi yang relevan dengan kebutuhan pemakai merupakan suatu sistem temu kembali informasi (Manning et al. 2009).
Information Retrieval System (IRS) tidak memberi tahu pengguna masalah yang ditanyakannya. Sistem tersebut hanya memberitahukan keberadaan dan keterangan dokumen yang berhubungan dengan permintaan pengguna. Dengan memakai bahasa natural sebagai bahasa query, IRS memberikan kemudahan kepada pengguna dalam merepresentasikan kebutuhan informasinya dalam bentuk query.
IRS menerima query dari pengguna, kemudian melakukan perangkingan terhadap dokumen pada koleksi. Hasil perangkingan yang diberikan kepada pengguna merupakan dokumen yang menurut sistem relevan dengan query. Perangkingan dokumen oleh sistem ini dilakukan dengan memberikan pembobotan.
Pembobotan dilakukan terhadap token yang berada dalam dokumen koleksi. Sistem temu kembali yang paling sederhana memboboti dengan bobot biner, 1 jika token muncul di dokumen dan 0 jika sebaliknya. Untuk menghasilkan penggabungan bobot untuk setiap token di dalam setiap dokumen, dilakukan pengkombinasian frekuensi token (term frequency) dan inverse document frequency yang dinyatakan sebagai berikut (Manning et al. 2009).
Wi,j = tfi,j * idft.
Dengan tfi,j merupakan bobot token ke-i
pada dokumen ke-j dan idft, N adalah jumlah
dokumen dalam koleksi serta ni merupakan
jumlah dokumen yang mengandung token ke-i. Vector Space Model (VSM)
VSM merupakan pemodelan yang berbasiskan token yang memungkinkan partial matching dan pemeringkatan dokumen. Berikut beberapa prinsip dasar yang digunakan dalam VSM (Manning et al. 2009):
1. D ={d0, d1, …, dN} adalah himpunan N
dokumen dalam koleksi. d mengacu pada sembarang dokumen di Є D. Dokumen
sebagai vektor token.
2. Q adalah query yang direpresentasikan sebagai sebuah vektor berdimensi m mirip dengan dokumen.
3. T = {t0, t1, … tm} adalah himpunan m token
dalam dokumen.
4. Kesamaan vektor dokumen dan query dihitung berdasarkan kesamaan antar vektor. Dokumen-dokumen yang ditemukembalikan merupakan hasil penemukembalian yang ditampilkan berupa daftar dokumen yang telah terurutkan berdasar tingkat kesamaan dokumen dengan query. Tingkat atau ukuran kesamaan sim(dj, q) antara dokumen di dengan query Q
dihitung dengan menggunakan persamaan kosinus sudut antara di dan Q sebagai berikut :
Evaluasi Temu Kembali Informasi
Dasar pengukuran keefektifan temu kembali informasi adalah recall dan precision. Recall adalah fraksi dokumen-dokumen yang relevan yang ditemukembalikan terhadap dokumen yang relevan. Precision adalah fraksi dokumen-dokumen yang relevan yang ditemukembalikan terhadap dokumen yang ditemukembalikan (Manning et al. 2009).
Average precison (AVP) adalah suatu ukuran evaluasi temu kembali yang diperoleh dengan menghitung rata-rata precision pada berbagai tingkat recall yang ditemukembalikan. Tingkat recall standar yang digunakan adalah 11 tingkat recall, yaitu 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, dan 1.0.
Precision yang diinterpolasi pada standar recall level ke j adalah precision maksimum pada suatu recall level antara level j dan level (j+1) :
Algoritme Damerau Levenhstein Metric Damerau Levenshtein Metric adalah sebuah fungsi pada finite string dari sebuah alphabet ke integer. Sebuah matriks jarak yang diberikan stringss1, s2, s3 yang memenuhi kondisi (Bard, 2006):
Non-negativity: d(s1, s2) ≥ 0
Non-degeneracy: d(s1, s2) = 0 jika dan hanya
jika s1 = s2
Symmetry: d(s1, s2) = d(s2, s1)
Triangle Inequality: d(s1, s2) + d(s2, s3) ≥ d(s1, s3)
Jarak d(s1, s2) didefinisikan sebagai sebuah
kombinasi operasi penjumlahan dari penambahan sebuah huruf, penghilangan sebuah huruf, penggantian sebuah huruf atau penukaran
(4)
3 sebuah huruf dari huruf lainnya dalam satu
lokasi. Itu memungkinkan beberapa kombinasi pada empat operasi yang dapat menransformasikan string s1 ke s2, tapi panjang terpendek urutan adalah jarak antara dua strings.
Metode Damerau Levenshtein Metric melakukan operasi perbandingan kata-kata dengan memerhatikan 4 macam kesalahan pengetikan (misalnya kata DAMERAU), yaitu: 1. Penyisipan sebuah huruf, misalnya
DAHMERAU.
2. Penghapusan sebuah huruf, misalnya DAMRAU.
3. Penggantian sebuah huruf dengan huruf lain, misalnya DANERAU.
4. Penukaran sebuah huruf berurutan, misalnya DAMERUA.
Salah satu metode pembandingan dalam memeriksa ejaan dengan menggunakan Table Look-up. Metode ini membandingkan kata terhadap kata dalam kamus. Jika tidak ada dikamus maka kata tersebut dianggap salah (Peterson 1980, diacu dalam Wahyudin 1999). Ketidaksesuaian dari strings dapat dibandingkan dengan kata pada kamus yang secara langsung menggunakan penyesuaian karakter demi karakter secara iteratif, dengan menentukan jumlah minimum kesalahan dari masing-masing operasi.
Damerau Levenshtein Metric menghitung jumlah minimum kesalahan dari dua kata misalnya terdapat dua buah kata yang dinotasikan sebagai s dan t. Variabel i dan j menyatakan posisi huruf yang dibandingkan pada suatu kata (pfiefer et al. 1994).
f(0, 0)= 0 f(i, 0)= i
f(0, j)= j f(i, j)= min {
f(i-1, j) + 1, // deletion f(i, j-1) + 1, // insertion f(i-1, j-1) + d(si, tj) // substitution
f(i-2, j-2) + d(si-1, tj) + d(si, tj-1) + 1
// transposition
} fungsi d merupakan fungsi untuk mengukur jarak untuk huruf.
Fungsi f(i, j) menghitung minimum jumlah kesalahan-kesalahan perbandingan i karakter pertama dari kata pertama dengan j karakter pada kata kedua. Jarak antara dua strings adalah f(m,n), dimana m merupakan panjang string pertama dan n merupakan panjang string ke dua.
METODOLOGI PENELITIAN Penelitian ini dilakukan melalui beberapa tahap, yaitu:
1. Pengumpulan data
2. Pembuatan program pengoreksian ejaan pada sistem temu kembali
3. Penentuan jarak edit 4. Percobaan
5. Evaluasi kinerja program
Data penelitian yang digunakan berupa kata yang diambil dari KBBI tahun 2005 dan digunakan sebagai kamus referensi. Kata yang digunakan adalah kata-kata dasar dan kata berimbuhan sebanyak 53064 kata.
Tahapan pembuatan model sistem temu kembali dapat dideskripsikan pada Gambar 1.
(5)
4 Gambar 1 Deskripsi model sistem temu kembali informasi.
Proses awal dilakukan pemisahan kata (tokenizer) terhadap query dengan menghilangkan beberapa tanda baca dan karakter sparator (whitespace seperti karakter space). Proses pemisahan kata ini dilakukan menjadi unit paling kecil yang disebut dengan kata atau token.
Setiap kata yang diperoleh dari proses tokenizer, satu-persatu dilakukan proses pengecekan terhadap kamus. Jika kata ada dalam kamus maka kata tersebut benar dan akan digunakan sebagai pembobotan query dalam model VSM. Namun jika kata tersebut tidak ada dalam kamus, maka kata tersebut merupakan salah eja yang selanjutnya dilakukan proses pencarian kata dalam kamus yang memiliki kemiripan dengan kata yang sedang dikoreksi dengan algoritme Damerau Levenshtein Metric.
Pembobotan dokumen dalam sistem temu kembali model VSM adalah dengan memberikan nilai kemunculan suatu kata (term frequency) sebagai bobot, termasuk kata dalam query.
Setelah dilakukan pemberian nilai bobot, maka diperoleh vektor-vektor dokumen.
Vektor-vektor dokumen akan ditentukan nilai kesamaan dengan vektor query. Penentuan nilai kesamaan (similarity) dihitung dengan rumus kosinus.
Dokumen-dokumen yang sudah ditentukan nilai kesamaan dengan query kemudian dilakukan pengurutan (perangkingan) yang berdasarkan nilai kesamaannya. Dokumen yang memiliki nilai kesamaan paling besar akan berada paling atas dalam sistem temu kembali. Sebaliknya, dokumen yang memiliki nilai kesamaan paling kecil akan tersimpan berada paling bawah dalam sistem temu kembali. Penentuan jarak edit
Penetapan jarak edit pada pengoreksian ejaan sangat menentukan banyaknya kata yang diberikan sebagai kata usulan. Hal ini dikarenakan kata usulan yang diperoleh hanya kata yang memiliki jarak edit yang lebih kecil atau sama dengan k.
Umumnya kesalahan yang dilakukan pada penulisan sebuah kata mempunyai jarak edit (k) maksimum sama dengan dua terhadap jarak yang benar ejaannya (Mitton 1987, dalam Arumsari, 1998).
Query
Ada ? KBBI
Korpus
VSM
Similarity
Damerau-Levenstein-Metric
Merge
Display Kata usulan
Edit distance
N Y
Tokenizer
Tokenizer
(6)
5 Diagram alir pengoreksian ejaan dapat
dilihat pada Gambar 2. Query yang dimasukkan pada sistem, dilakukan proses pemisahan kata. Setiap kata yang diperoleh dilakukan proses pemeriksaan pada kamus. Jika kata ada di dalam kamus, maka kata tersebut mempunyai ejaan yang benar. Tetapi jika kata tidak ada dalam kamus, selanjutnya dilakukan pencarian kemiripan kata dalam kamus berdasarkan jarak edit yang telah ditentukan yaitu k, artinya program akan mencari kata dalam kamus yang memiliki ukuran jarak kurang dari atau sama dengan k. Sistem ini akan menentukan kata sebagai kata usulan yang memiliki jarak edit maksimum sama dengan 2 (k = 2). Tetapi, jika ada kata usulan yang memiliki jarak edit sama dengan 1 maka sistem akan memberikan kata usulan yang hanya memiliki jarak edit-nya sama dengan 1. Apabila pada pemeriksaan tersebut
tidak diberikan kata usulan untuk menggantikan kata yang salah ejaannya, maka tidak ada yang memenuhi dari semua kata yang ada dalam kamus. Dengan demikian, sistem menganggap kata yang sedang dikoreksi tidak memiliki kemiripan dengan kata apapun dalam kamus. Jika pada pemeriksaan kata diberikan kata yang mirip sesuai untuk menggantikan kata yang salah ejaannya, maka pengguna dapat memilih kata tersebut untuk menggantikan kata yang salah ejaannya.
Ketika kata yang diperiksa tidak ada dalam kamus, tetapi kata tersebut memiliki ejaan sesuai ejaan bahasa Indonesia yang benar, maka program akan menawarkan apakah kata tersebut ingin dimasukkan ke dalam kamus atau tidak. Jika kata yang dikoreksi ingin dimasukkan ke dalam kamus, maka program akan menyimpan kata tersebut ke dalam kamus khusus.
Gambar 2 Diagram alir pengoreksian ejaan.
Kueri
Tokenizer
Ada dalam Kamus?
Hitung Jarak Kata Ambil satu
kata
Jarak kata
≤ k ?
Kata ada di dalam usulan? Mulai
Selesai
Simpan ke dalam kamus Kamus
Tampilkan sebagai usulan
Masukan ke Kamus?
Y
N Y
N Y
N
Y