2 keluaran yang dihasilkan adalah dokumen
yang dianggap relevan oleh sistem. Sedangkan pada QA, query berupa kalimat
tanya dan keluarannya berupa jawaban entitas yang dianggap sesuai oleh sistem
sehingga memungkinkan sistem tidak mengembalikan jawaban apapun
Strzalkowski Harabagiu 2008.QA memiliki ide dasar sebagai berikut Lin
2004 :
Menentukan tipe semantik dari jawaban yang diharapkan.
Menentukan dokumen-dokumen yang mengandung kata-kata yang terdapat
dalam pertanyaan query. Mencari entitas jawaban dengan tipe yang
sesuai dengan pertanyaan, dan memiliki kedekatan yang tinggi dengan query.
Gambar 1 menunjukkan proses pada Question Answering System QAS. Dalam
tahapan offline atau indexing dilakukan analisis terhadap teks dokumen. Teks
dokumen yang digunakan sudah memiliki named entity tag didalamnya. Hasil dari
proses indexing digunakan untuk tahapan QAS selanjutnya, yaitu tahapan online yang
terdiri atas analisis pertanyaan, document preselection, seleksi, dan pembobotan.
Modul analisis pertanyaan mengklasifikasi pertanyaan dan menentukan
tipe dari jawaban yang diharapkan. Hasil dari modul ini terdiri atas kata tanya dan kata-kata
yang akan digunakan dalam pembobotan heuristic scoring. Kata-kata yang digunakan
untuk pembobotan heuristic juga digunakan dalam document preselection.
Document preselection menghasilkann dokumen tertinggi. Kata tanya
digunakan untuk mengidentifikasi tipe named entity dari pertanyaan. Perolehan named
entity digunakan untuk menyeleksinpassages yang mengandung kandidat jawaban.
Contohnya adalah kata tanya “Dimana”mengidentifikasi keterangan
tempat, yang diwakili oleh named entity tag LOCATION. Perolehan entitas kandidat
jawaban dilakukan pada npassages dengan bobot tertinggi Molla 2003.
Faktor Heuristic
QAS memiliki tiga modul utama yaitu modul pemrosesan query, modul sistem
pencarian, dan modul ekstraksi jawaban Ballesteros Xiaoyan-Li 2007.
Gambar 1 Arsitektur umum QuestionAnswering SystemMolla 2003
1. Pemrosesan Query
Langkah-langkah dalam pemrosesan query adalah sebagai berikut :
a. Sebagai langkah awal dilakukan
pendefinisian kembali tipe pertanyaan yang memiliki hubungan dengan NE
named entity yang baku. Mengacu pada penelitian Ballesteros Xiaoyan-Li
2007, ada tujuh tipe pertanyaan yang terdiri atas NAME, LOCATION,
ORGANIZATION, DATE, TIME, CURRENCY dan NUMBER. Dalam
bahasa Indonesia akan diwakili dengan SIAPA, DIMANA, KAPAN, dan
BERAPA. Setiap pertanyaan akan mengalami proses parsing terlebih
dahulu.
b. Kata tanya seperti “APAKAH” dan
“APA” tidak diperhitungkan karena hanya akan menambahkan informasi
yang tidak berguna. c.
Stopwordsdihilangkan. Setelah dilakukan pemrosesan, query
dimasukkan pada sistem pencarian.
3
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 queryKontostathis 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 thresholdt,
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_query2.0 + 1.0. c.
Jika lebih
besar dari
8, t = count_query3.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 + Sm0.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
+ Ord0.5.
v. Score = score + count_matchW,
dimana Wadalah panjang
passagedengan nilaicount_matchterbesar.
4. Pembobotan terakhir yaitu menghitung
total perolehan nilai. Heuristic_score = count_match + 0.5Sm + 0.5Ord +
count_matchW. 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
4 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.
5 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 1.
Koleksi Dokumen Pengujian
Dokumen uji yang digunakan memiliki ukuran terkecil 1 KB dan ukuran terbesar 53
KB. Setiap dokumen memiliki struktur XML yang sama.Cuplikan dokumen dapat dilihat
pada Gambar 4. Dokumen memiliki tag dengan fungsi yang berbeda-beda. Pada baris
pertama terdapat tagDOC yang berfungsi membedakan satu dokumen dengan
dokumen lainnya. TagDOCNO menunjukkan nama dokumen, tagTITLE
menunjukkan judul dari dokumen, tagAUTHOR menunjukkan penulis dari
dokumen dan tagTEXT yang menunjukkan isi dari dokumen.
Pada dokumen uji yang digunakan, pertama-tama dilakukan penamaan entitas
named entity yang disebut tagging pada dokumen dengan menggunakan Named Entity
Tagger bahasa Indonesia yang merupakan aplikasi hasil penelitian dari Citraningputra
2009. Penamaan entitas dilakukan untuk proses perolehan kandidat jawaban sesuai
dengan jenis pertanyaan. Named entity yang digunakan terdiri dari NAME,
ORGANIZATION, LOCATION, CURRENCY, DATE, TIME dan NUMBER. Gambar 3
adalah contoh kalimat yang terdapat pada indosiar010504.txt
yang sudah dilakukan proses tagging.
Ratusan hektar tanaman bawang merah di [LOCATION]Tegal Jawa
Tengah[LOCATION],gagal panen karena rusak di serang hama ulat.
Gambar 3 Kalimat yang sudah dilakukan tagging
Pada Gambar 3 kata “Tegal Jawa Tengah” diberi penamaan entitas
LOCATION karena kata ini memiliki peranan sebagai keterangan tempat pada
kalimat.Langkah selanjutnya adalah menggabungkan 1000 dokumen ke dalam
satu file berformat .xml. Struktur dokumen yang telah mengalami perubahan struktur
XML dapat dilihat pada Gambar 5.
6
DOC DOCNOjurnal000000DOCNO
TITLE PEMBANGUNANTITLE AUTHORTriharsoAUTHOR
TEXT ……
PPenyiangan jalur…..…P TEXT
DOC
Gambar 4 Format dokumen dengan struktur tagXML
sphinx:document id=1 docnosuarapem.txtdocno
authorAPAFPH-12N-author titleGelombang Protestitle
content JAKARTA -Agenda-agenda yang
dibahas dalam Konferensi Tingkat
MenteriKTM[ORGANIZATION]Organ isasi[ORGANIZATION]…………
content
Gambar 5 Format dokumen setelah mengalami perubahan struktur tag
2. Pemrosesan Query