Koreksi Ejaan Query Bahasa Indonesia

advertisement
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
Download