Question Answering System (QAS) merupakan kombinasi antara Information Retrieval (IR) dengan Natural Language Processing (NLP). QA memiliki tujuan menampilkan jawaban berdasarkan kueridalam bentuk pertanyaan yang diajukan oleh pengguna (Lin 2004). Perbedaan yang mendasar antara QA dengan IR terletak pada masukan (kueri) dan keluaran yang dihasilkan. Pada IR kueri yang dimasukkan berupa kata atau kalimat pertanyaan dan keluaran yang dihasilkan adalah dokumen yang dianggap relevan oleh sistem. Sedangkan pada QA, kueri berupa kalimat tanya dan keluarannya berupa jawaban (entitas) yang dianggap sesuai oleh sistem sehingga memungkinkan sistem tidak mengembalikan jawaban apapun.
Pembobotan
Information Retrieval pada dasarnya adalah membandingkan kata yang ada pada kueri dengan kata yang ada dalam dokumen. Untuk memperoleh kata tertentu dalam dokumen yang mengandung informasi yang berkaitan dengan
query tertentu juga, dilakukan dengan cara menghitung kesamaan antara vektor dokumen dan vektor kueri. Informasi yang diperlukan yaitu term frequency (tf), document frequency (df), dan invers document frequency(idf).
Nilai tf menggambarkan frekuensi kemunculan suatu kata t dalam dokumen d, yang dilambangkan dengan tft,d. Nilai df menggambarkan banyaknya dokumen di dalam koleksi yang mengandung kata tertentu. Nilai
PENDAHULUAN Latar Belakang
Sistem temu kembali informasi memiliki kaitan erat dengan sistem pencarian (search engine). Untuk menemukembalikan suatu informasi, sistem pencarian membutuhkan masukan yang dikenal dengan query. Salah satu sistem pencarian yang sudah dikembangkan adalah sistem pencarian yang memiliki fitur
query berupa pertanyaan. Sistem ini dikenal dengan Question Answering System (QAS) misalnya www.ask.com. Dengan adanya fitur pertanyaan sebagai query, diharapkan informasi yang diperoleh lebih relevan dan spesifik sesuai kebutuhan pengguna.
Penelitian tentang Question Answering System dalam perkembangannya sudah diimplementasikan oleh Ballesteros dan Xiaoyan-Li (2007) berupa Question Answering
yang digunakan untuk bahasa Inggris dan Mandarin. Dalam penelitian tersebut digunakan pembobotan heuristic dan syntactic untuk mengidentifikasi kandidat kalimat yang relevan. Cidhy (2009) mengimplementasikan penggunaan pembobotan heuristic yang dilakukan Ballesteros dan Xiaoyan-Li (2007) ke dalam dokumen berbahasa Indonesia. Berbeda dengan penelitian yang dilakukan oleh Cidhy (2009), Sianturi (2008) menyempurnakan penelitian Ikhsani (2006) untuk membangun sistem temu kembali jawaban tidak hanya menggunakan satu dokumen bacaan dan bahasa baku, tetapi membangun sistem temu kembali jawaban atas query pertanyaan terhadap banyak dokumen yang tidak baku. Penelitian Ikhsani (2006) dan Sianturi (2008) mengacu pada penelitian Riloff dan Thelen (2000) yang menggunakan konsep rule-based untuk mendapatkan kalimat jawaban.
Mengacu pada penelitian yang dikembangkan Sianturi (2008) proses pengembalian jawaban masih terbatas pada menemukembalikan kalimat jawaban sedangkan Cidhy (2009) sudah mengembalikan jawaban berupa entitas tetapi masih memiliki persentase jawaban benar yang rendah. Hal ini karena pemilihan passages yang kurang tepat. Penelitian ini akan mencoba membuat sistem dengan pembobotan rule-based yang dapat mengembalikan jawaban berupa entitas dan menggabungkan metode Rule-Based (Sianturi 2008) dan pembobotan heuristic (Cidhy 2009) sehingga dapat diperoleh passages yang tepat untuk mengembalikan jawaban yang benar.
Tujuan
Penelitian ini bertujuan memperoleh pembobotan passages yang tepat dalam
Question Answering System yang dapat mengembalikan jawaban yang benar.
Ruang Lingkup
Ruang lingkup penelitian ini adalah:
1. Korpus terdiri atas beberapa dokumen berbahasa Indonesia
2. Menggunakan kata tanya yaitu siapa, dimana, kapan, dan berapa.
3. Kueri pertanyaan yang dimasukkan dibatasi pada tipe factoid question, yaitu pertanyaan yang memiliki jawaban tunggal.
4. Hasil dari penelitian dievaluasi menggunakan persepsi manusia.
TINJAUAN PUSTAKA Question Answering (QA)
Question Answering System (QAS) merupakan kombinasi antara Information Retrieval (IR) dengan Natural Language Processing (NLP). QA memiliki tujuan menampilkan jawaban berdasarkan kueridalam bentuk pertanyaan yang diajukan oleh pengguna (Lin 2004). Perbedaan yang mendasar antara QA dengan IR terletak pada masukan (kueri) dan keluaran yang dihasilkan. Pada IR kueri yang dimasukkan berupa kata atau kalimat pertanyaan dan keluaran yang dihasilkan adalah dokumen yang dianggap relevan oleh sistem. Sedangkan pada QA, kueri berupa kalimat tanya dan keluarannya berupa jawaban (entitas) yang dianggap sesuai oleh sistem sehingga memungkinkan sistem tidak mengembalikan jawaban apapun.
Pembobotan
Information Retrieval pada dasarnya adalah membandingkan kata yang ada pada kueri dengan kata yang ada dalam dokumen. Untuk memperoleh kata tertentu dalam dokumen yang mengandung informasi yang berkaitan dengan
query tertentu juga, dilakukan dengan cara menghitung kesamaan antara vektor dokumen dan vektor kueri. Informasi yang diperlukan yaitu term frequency (tf), document frequency (df), dan invers document frequency(idf).
Nilai tf menggambarkan frekuensi kemunculan suatu kata t dalam dokumen d, yang dilambangkan dengan tft,d. Nilai df menggambarkan banyaknya dokumen di dalam koleksi yang mengandung kata tertentu. Nilai
dokumen yang ada dalam koleksi menghasilkan nilai idf untuk setiap kata sebagai berikut :
log
dengan N merupakan notasi untuk jumlah dokumen yang ada dalam koleksi. Melalui idf
dapat diketahui kata-kata tertentu yang merupakan penciri suatu dokumen. Dengan demikian, dapat diperoleh bobot untuk masing- masing kata dalam dokumen, yaitu wt,d yang merupakan hasil perkalian antara tft,d dan idft.
Gambar 1 menunjukkan ilustrasi matriks
inverted index, yang berisi bobot setiap kata t
dalam suatu dokumen d
d1 d2 … d3
t1 wt1d1 wt1d2 … wt1dn
t2 wt2d1 wt2d2 … wt2dn
… … … … … t3 wtkd1 wtkd2 … wtkdn
Gambar 1 Ilustrasi matriks inverted index
Ide untuk mengukur kesamaan dokumen dengan menggunakan kesamaan cosine adalah dokumen yang saling berdekatan dalam ruang vektor memiliki kecenderungan berisi informasi yang sama. Gambar 2 mengilustrasikan vektor dokumen yang terdapat dalam ruang vektor, yang diberi nilai oleh bobot kata.
Gambar 2 Kedekatan dokumen dalam ruang vektor (Manning 2008).
Formula untuk memperoleh kesamaan
cosine untuk dj dan dk adalah:
, d .d d |d |
Berdasarkan formula kesamaan cosine, dj
dan dk adalah dokumen yang terdapat dalam
ruang vektor M kata. Dalam implementasi perolehan n dokumen teratas, hal serupa dilakukan untuk mengukur kesamaan antara vektor kueri dengan dokumen. Dokumen diurutkan berdasarkan perolehan nilai cosine
dengan kueri, kemudian dipilih n dokumen teratas dengan nilai cosine tertinggi.
Ekstraksi Jawaban
Setelah diperoleh n dokumen teratas, tahap selanjutnya adalah ekstraksi 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, uang, dan persen.
2. Dokumen dibagi menjadi passage. Passage
terdiri atas dua kalimat yang berdampingan. Setiap passage memiliki satu kalimat yang
overlap.
3. Dilakukan pembobotan pada setiap passage. 4. Dilakukan pengurutan terhadap seluruh
passage dari setiap n dokumen teratas.
Pengurutan dilakukan berdasarkan bobot yang dimiliki oleh setiap passage.
5. Ekstraksi kandidat jawaban dari passage
peringkat teratas. Jarak antara kandidat jawaban dan posisi dari setiap query yang cocok dalam passage dihitung. Kandidat jawaban yang memiliki total jarak terkecil terpilih sebagai jawaban akhir.
Pembobotan heuristic
Pembobotan heuristic merupakan metode pembobotan passages yang dikembangkan oleh Ballesteros dan Xiaoyan-Li (2007). Pertama 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), score adalah bobot dari
passage dan wordmatch_words adalah hasil
wordmatch. Yang diperhitungkan dalam pembobotan heuristic diantaranya count_match, nilai count_match yang terdapat dalam passage
yang sama, ukuran dari passage tertentu, dan jarak antara sebuah kandidat jawaban dengan
wordmatch_words. Proses pembobotan adalah sebagai berikut:
1. Jika tidak ada named entity yang ditampilkan, passage menerima nilai 0. Jika
named entity ditampilkan pada passage
namun tidak memiliki tipe yang sama dengan pertanyaan, named entity diabaikan. 2. Dilakukan pencocokan kata-kata pada query
dengan kata-kata pada passage (proses t1 dj query θ dk 0 t2 dl
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.
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
Nilai threshold digunakan untuk mengambil kata yang penting pada passages. Dengan kata lain, paragraf apapun yang tidak mengandung kata-kata yang terdapat pada
query tidak diperhitungkan.
3. Kata yang berdekatan memiliki hubungan keterkaitan informasi yang lebih tinggi. Jika seluruh kata yang cocok dengan query
terdapat pada satu passagesSm=1, selain itu
Sm=0. Maka, score = score + (Sm*0.5). 4. Seperti yang diketahui urutan kata dapat
mempengaruhi arti. Oleh karena itu, diberikan bobot yang lebih tinggi (Ord=1) terhadap passage jika kata-kata yang cocok dengan query memiliki urutan yang sama seperti pada pertanyaan asli. Selain itu
Ord=0. Dengan demikian, score = score +
(Ord*0.5).
5. Score = score + (count_match/W), dimana
W adalah jumlah kata dari passage dengan bobot tertinggi.
Pembobotan terakhir yaitu menghitung total perolehan nilai yang disimpan dalam variabel
heuristic_score yaitu count_match + 0.5*Sm + 0.5*Ord + count_match/W.
Pembobotan rule-based
Metode rule-based adalah metode yang dikembangkan oleh Riloff & Thelen (2000).
Cara kerja metode rule-based adalah menghitung nilai dari masing-masing passages
pada dokumen dengan kueri yang diberikan. Nilai yang diberikan berdasarkan pada jumlah nilai hasil perbandingan kata yang sama antara kueri dengan kata yang ada pada
passages dan nilai pada masing-masing rule
berdasarkan tipe pertanyaan. Suatu rule dapat memberikan empat kemungkinan nilai, yaitu:
clue (+3), good_clue (+4), confident (+6), dan
slam_dunk (+20). Menurut Riloff dan Thelen (2000), nilai yang digunakan hanya berdasarkan intuisi yang bertujuan untuk memperkirakan seberapa pentingnya rule yang digunakan dalam
menemukembalikan jawaban berdasarkan tipe pertanyaan kueri. Jawaban atas queri yang diberikan adalah passages yang memiliki nilai tertinggi.
Algoritme rule telah dimodifikasi oleh Ikhsani (2006) dari rule yang dibuat oleh Riloff dan Thelen (2000) karena melakukan penyesuaian terhadap kaidah bahasa Indonesia. Adapun rule yang dibuat Sianturi (2008) sebagai berikut:
1. “KAPAN”
Score(S) += WordMatch(Q,S)
If contains(S, WAKTU) and contains (S,{saat, ketika, kala, semenjak,sejak, waktu, setelah, sebelum})then
Score(S) += slam_dunk If contains(S, WAKTU) then Score(S) += good_clue
If contains(S,{saat, ketika, kala, semenjak, sejak, waktu, setelah, sebelum}) then
Score(S) +=clue
2. “DIMANA”
Score(S) += WordMatch(Q,S)
If contains(S,TEMPAT) and contains (S,{dalam,dari, pada}) then
Score(S) += slam_dunk
If contains(S,{dalam, dari, pada}) then
Score(S) += clue
If contains(S, TEMPAT) then Score(S) += good_clue
3. “SIAPA”
Score(S) += WordMatch(Q,S)
If ~contains(Q,ORANG) and contains (Q,ORANG) then
score(S) += slam_dunk
4. “APA”
Score(S) += WordMatch(Q,S)
If contains(Q,{tujuan,manfaat}) and contains (S,{untuk,guna}) then
Score(S) += confident
Elseif contains(Q,{maksud}) and contains (S,{adalah,ialah}) then
Score(S) += slam_dunk
Keterangan: S = sentence (passages) Q = query (kalimat kueri)
P yaitu dan Pem P prep emb