Gambaran umum sistem dapat dilihat pada Gambar 2.Pertama-tama query berupa
2. RetrievalEngine
Banyak fungsi kesamaan yang digunakan padaretrieval engine untuk melakukan pemeringkatan dokumen yang mengadung informasi yang berkaitan dengan
query.Fungsi yang sering digunakan untukmengukur kesamaan antara query dan dokumen yaitu denganmenggunakan kesamaan cosine (Manning 2008). Terdapat juga Pembobotan BM25 yang dikenal denganpembobotan Okapi.Pembobotan BM25 menggabungkan bobot idf dengan koleksi pengskalaan khusus untuk dokumen dan query(Kontostathis 2008 dalam Herdi 2010). Dokumen yang ditemukembalikan akan digunakan dalam proses ekstraksi jawaban.
3. Modul Ekstraksi Jawaban
Pada tahap ini dilakukan identifikasi terhadap jawaban. Setiap n dokumen teratas yang terambil dianalisis kembali untuk mengidentifikasi kandidat jawaban dengan cara sebagai berikut (Ballesteros & Xiaoyan- Li 2007):
1. Dilakukan identifikasi named entity yang terdiri atas orang, organisasi, lokasi, ekspresi waktu, tanggal, ekspresi numerik dan uang.
2. Dokumen dibagi menjadi passage.
Passage terdiri atas beberapa kalimat yang berdampingan. Antarpassage memiliki kalimat yang overlap.
3. Dilakukan pembobotan heuristic pada setiap passage. Pertama-tama didefinisikan count_query adalah jumlah kata yang terdapat pada query (kalimat tanya), count_match adalah jumlah hasil pencocokan antara kata yang terdapat pada query dan passage (wordmatch) dan
score adalah bobot dari passage. Proses pembobotan adalah sebagai berikut: i. Jika tidak ada named entity yang
ditampilkan,passage menerima nilai 0. Jika named entity ditampilkan pada
passage namun tidak memilki tipe yang sama dengan pertanyaan, named entity diabaikan.
ii. Dilakukan pencocokan kata-kata pada
query dengan kata-kata pada passage
(proses wordmatch). Jika nilai
count_match kurang dari threshold (t),
score = 0. Selain itu, score =
count_match. Nilai threshold(t), didefinisikan dengan cara sebagai berikut:
a. Jika count_query kurang dari 4, t = count_query. Dengan kata lain, paragraf apapun yang tidak mengandung kata-kata yang terdapat pada query tidak diperhitungkan.
b. Jika count_query antara 4 dan 8, t = (count_query/2.0 ) + 1.0.
c. Jika lebih besar dari 8, t = (count_query/3.0) + 2.0.
iii. Kata yang berdekatan memiliki hubungan keterkaitan informasi yang lebih tinggi. Jika seluruh kata yang cocok dengan query terdapat pada satu kalimat Sm = 1, selainituSm= 0. Maka
score = score + (Sm*0.5).
iv.Seperti diketahui urutan kata dapat mempengaruhi arti. Maka diberikan bobot yang lebih tinggi (Ord = 1) terhadap passage jika kata-kata yang cocok dengan query memiliki urutan yang sama seperti pada pertanyaan. Selain itu Ord = 0. Maka score = score
+ ( Ord*0.5).
v. Score = score + (count_match/W),
dimana Wadalah panjang
passagedengan
nilaicount_matchterbesar.
4. Pembobotan terakhir yaitu menghitung total perolehan nilai. Heuristic_score =
count_match + 0.5*Sm + 0.5*Ord +
count_match/W. Dilakukan pengurutan terhadap seluruh passage dari setiap 10 dokumen teratas. Pengurutan dilakukan berdasarkan bobot yang dimiliki oleh setiap passage.
5. Ekstraksi kandidat jawaban daripassage
peringkat teratas. Jarak antara kandidat jawaban dan posisi dari setiap query yang cocok dalam passage dihitung.Kandidat jawaban yang memiliki jarak kurang dari
threshold dipilih menjadi entitas jawaban terakhir.
METODE PENELITIAN Gambaran Umum Sistem
Gambaran umum sistem dapat dilihat pada Gambar 2.Pertama-tama query berupa
kalimat pertanyaan dimasukan secara manual oleh pengguna. Kemudian dilakukananalisis untuk mengidentifikasi tipe dari pertanyaan tersebut sehingga dapat ditentukan named entity yang akan dicari untuk dapat menemukan kandidat jawaban. Langkah selanjutnya adalah querytanpa kata tanyadigunakan untuk memperoleh n
dokumen teratas. Kemudian pada n dokumen teratas dilakukan pemisahan dua kalimat yang saling berdampingan yang disebut passage. Jumlah dokumen teratas yang digunakan dalam proses pembobotan paling banyakadalah 10 dan 20. Dokumen uji yang digunakan terdiri dari 1000 dokumen bahasa Indonesia berformat .xml yang diambil dari media koran, majalah dan jurnal penelitian.
Langkah selanjutnya adalah proses ekstraksi jawaban. Dilakukan pencarian entitas dengan tipe yang sesuai dengan pertanyaan.Pembobotan terhadap passage
menggunakan faktor heuristic seperti yang telah dijelaskan oleh (Xiaoyan-Li & Ballestros 2007).
Setiap diperolehnpassages teratas dilakukan perhitungan jarak kata pada masing-masing passage.Kata yang menjadi kandidat jawaban dan memiliki jarak kurang dari thresholdakan menjadi entitas jawaban (list).
Evaluasi
Evaluasi Question Answering System
(QAS) ini dilakukan dengan melihat banyaknya kalimat jawaban yang ditemukembalikan dan banyaknya hasil yang benar maupun yang salah. Semakin banyak hasil yang benar, tentu kinerja sistem semakin tinggi. Setiap query bisa memiliki satu atau lebih kalimat jawaban.Evaluasi dilakukan menurut persepsi manusia.
Penilaian untuk querylist dan factoid
memiliki perbedaan. Pada query factoid
terdapat 4 jenis penilaian, yaitu: 1. Right : jawaban dan dokumen benar 2. Wrong : jawaban salah
3. Unsupported : jawaban benar tapi dokumen tidak mendukung
4. Inexact : jawaban dan dokumen benar tapi terlalu panjang.
Gambar 2 Diagram gambaran umum QAS Sedangkan penilaian untuk querylist hanya terdapat tiga jenis, yaitu :
1. Right : Jawaban yang diperoleh sistem sama dengan jawaban yang ditentukan penulis sebelumnya.
2. Wrong: Jawaban yang ditemukembalikan tidak ada yang sesuaidengan jawaban yang ditentukan sebelumnya.
3. Null : Sistem tidak mengembalikan jawaban apapun.
Nilai “Right” mempunyai dua sumber dokumen yang digunakan untuk mengembalikan dokumen yaitu (Yang &Chua 2004):
1. Collection Page : Entitas jawaban berasal dari dokumen yang sama.
2. Distinct Topic Page: Entitas jawaban berasal dari dokumen yang berbeda.
Mengukur nilai Right untuk setiap jenis kata tanya menggunakan formula berikut :
Right :
- 0.1x∑
Keterangan :
B= Banyaknya jawaban benar yang ditemukembalikan
J= Banyaknya jawaban yang dianggap benar
S = Banyaknya jawaban tidak relevan yang ditemukembalikan
Untuk menghitung nilai rata-rata untuk setiap jenis kata tanya menggunakan formula berikut :
Avg Right:
∑Keterangan :
N = Banyaknya pertanyaan yang diujikan pada setiap jenis kata tanya
Asumsi
Asumsi-asumsi yang digunakan dalam pengembangan sistem ini adalah:
1. Tidak ada kesalahan dalam pengetikan
query.
2.Setiap kata pada query dipisahkan oleh
whitespace atau spasi.
3. Setiap query diawali oleh kata tanya. 4. Query berkaitan dengan koleksi dokumen. Lingkungan Implementasi
Lingkungan implementasi yang digunakan adalah sebagai berikut :
Perangkat Lunak :
Sistem operasi Windows 7 professional
PHP SPHINX
Named Entity Tagger bahasa Indonesia PerangkatKeras :
Processor intel Pentium dualcore, 1.86 GHz
RAM 1 GB
Harddisk dengan kapasitas 160 GB
HASIL DAN PEMBAHASAN