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 Damerau Levenshtein. 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. 2. 3. 4. Penggantian satu huruf Penyisipan satu huruf Penghilangan satu huruf 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 dokumendokumen) 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 1 dokumen. sistem yang berfungsi untuk menemukan informasi yang relevan dengan kebutuhan pemakai merupakan suatu sistem temu kembali informasi (Manning et al. 2009). 3. T = {t0, t1, … tm} adalah himpunan m token dalam dokumen. 4. Kesamaan vektor dokumen dan query dihitung berdasarkan kesamaan antar vektor. 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. 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 : 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. 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 dokumendokumen 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 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 2 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. 3 Query Korpus Tokenizer Y Tokenizer Ada ? KBBI N VSM DamerauLevenstein-Metric Edit distance Similarity Kata usulan Sorting Merge Display 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). 4 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. Mulai Kueri Kamus Tokenizer Ambil satu kata N Hitung Jarak Kata Ada dalam Kamus? Y Jarak kata ≤k? N Y Tampilkan sebagai usulan Kata ada di dalam usulan? Y N Masukan ke Kamus? Y Simpan ke dalam kamus N Selesai Gambar 2 Diagram alir pengoreksian ejaan. 5