Journal of Research in Computer Science and Applications – Vol. 2, No. 1, Januari 2013
ISSN: 2301-8488
SISTEM PEMBANGKIT PERTANYAAN OTOMATIS DENGAN METODE TEMPLATE-BASED M. Fachrurrozi1,3), Novi Yusliani2,4), Jurusan Teknik Informatika Universitas Sriwijaya 2 Jurusan Teknik Informatika Universitas Sriwijaya 3
[email protected], 4
[email protected] 1
ABSTRACT The focus of this research is to develop an Indonesian automatic question generation system. There are three main process that occur in the question generation system. First is to extract the sentences in the document. After that, the extracted sentences will be classified based on the words contained in the sentence. Sentence classification aims to determine the categories of questions that could be generated. The generated question categories is ‘non-factoid question’. The final process is to generate questions based on template-based method. Template-based method is one of methods that can be used to generate questions. This method uses the templates that have been defined previously to generate questions. By using 30 source documents, there are 1871 'nonfactoid questions' that successfully generated by the system.
Keywords : question generation, non-factoid question
I. PENDAHULUAN
Question generation system merupakan sistem untuk membangkitkan pertanyaan secara otomatis. Pertanyaan yang dibangkitkan adalah pertanyaan dalam bentuk essay. Sistem ini bermanfaat dalam pembuatan soal-soal latihan secara otomatis. Pembangkitan pertanyaan dapat dilakukan dengan memanfaatkan sekumpulan dokumen yang ada di internet (open domain) atau sekumpulan dokumen yang ada di dalam sistem itu sendiri (closed domain). Secara umum, pertanyaan dapat diklasifikasikan menjadi lima kategori, yaitu pertanyaan yang bersifat „factoid‟ (factoid question), pertanyaan yang bersifat „nonfactoid‟ (non-factoid question), list question, yes/no question, dan opinion question. Hal ini menandakan bahwa pertanyaan yang dibangkitkan oleh sistem pembangkit pertanyaan otomatis dapat berupa salah satu, beberapa, atau semua kategori pertanyaan. Penelitian di bidang sistem pembangkit pertanyaan otomatis sudah pernah dilakukan diantaranya oleh [1] dan [2]. Penelitian [1] membangkitkan sekumpulan pertanyaan berdasarkan kalimat yang dimasukkan ke dalam sistem. Kalimat yang dimasukkan ke dalam sistem adalah kalimat yang menggunakan bahasa Inggris. Sistem ini memiliki proses pembuatan kalimat penjelas dan pengklasifikasian kalimat. Pembuatan kalimat
penjelas hanya dilakukan untuk kalimat-kalimat yang kompleks (majemuk) dengan menggunakan syntactic parser. Sistem ini juga menggunakan named entity recognizer dan part of speech tagger untuk mendapatkan informasiinformasi yang ada di dalam kalimat tersebut. Proses pengklasifikasian kalimat dilakukan berdasarkan subjek, kata kerja, objek, dan preposisi. Proses ini bertujuan untuk menentukan tipe pertanyaan yang akan dibangkitkan. Kontribusi yang diberikan dalam penelitian [2] adalah membangkitkan pertanyaan secara otomatis dari sebuah teks. Pembangkitan pertanyaan dilakukan dengan melihat klasifikasi kalimat yang telah diekstraks dari teks yang ada. Kategori pertanyaan yang dibangkitkan didasarkan pada hasil klasifikasi kalimat tersebut. Teks yang digunakan adalah teks berbahasa Inggris. Beberapa bahasa seperti bahasa Inggris, bahasa-bahasa di benua Asia bagian Timur, dan bahasa-bahasa di benua Eropa telah tersedia banyak sumber yang dapat digunakan untuk membantu penelitian sistem pembangkit pertanyaan otomatis. Sedangkan bahasa-bahasa di benua Asia selain bahasa Jepang, masih menyediakan sedikit sumber yang dapat digunakan untuk membantu penelitian sistem pembangkit pertanyaan otomatis termasuk salah
24
Journal of Research in Computer Science and Applications – Vol. 2, No. 1, Januari 2013
satunya bahasa Indonesia. Karena itu, penelitian yang dilakukan yaitu membangun sebuah sistem yang dapat membangkitkan pertanyaan otomatis dalam teks berbahasa Indonesia dengan menggunakan metode template-based.
termasuk ke dalam kategori pertanyaan „non-factoid‟. Berdasarkan empat permasalahan di atas, maka dalam pengembangan sistem pembangkit pertanyaan otomatis dibutuhkan pengetahuan dari disiplin ilmu. Salah satunya yaitu pemrosesan bahasa alami. Pemrosesan bahasa alami dibutuhkan terkait bagaimana sistem dapat memahami sumber informasi, yaitu dengan memanfaatkan teknik-teknik dalam pemrosesan bahasa alami, seperti POS Tagger. Pada proses pengkategorian, penelitian ini menggunakan salah satu algoritma pengklasifikasian, yaitu Naïve Bayes Classifier. Gambar 1 merupakan arsitektur dari sistem pembangkit pertanyaan otomatis untuk pertanyaan non-factoid. Sistem ini terdiri dari tiga proses utama, yaitu ekstraksi kalimat, pengklasifikasian kalimat, dan pembangkitan pertanyaan. Masukan sistem ini berupa dokumen teks yang menggunakan bahasa alami (natural language), yaitu bahasa Indonesia. Dokumen teks tersebut disimpan ke dalam format teks (.txt). Keluaran dari sistem ini berupa sekumpulan pertanyaan yang dibangkitkan dari dokumen masukan dimana pertanyaan disampaikan dalam bahasa alami, yaitu Bahasa Indonesia.
II. KARAKTERISTIK PERTANYAAN NON-
FACTOID DALAM BAHASA INDONESIA Tabel 1 menunjukkan kategori pertanyaan non-factoid. Tabel 1 juga menunjukkan contoh pola penulisan pertanyaan dan pola jawaban untuk setiap kategori pertanyaan non-factoid dalam Bahasa Indonesia. Tabel 1. Pola Penulisan Pertanyaan dan Jawaban Untuk Setiap Kategori Pertanyaan Non-Factoid Dalam Bahasa Indonesia Kategori definisi
Contoh Pola Penulisan Pertanyaan Jawaban “Apa … - X” “X adalah …” “Apakah … - X” “… disebut X”
alasan
“Mengapa - X” “Kenapa - X”
“…menyebabkan X” “X terjadi karena …”
metode
“Bagaimana - X” “Bagaimanakah X”
“Langkah-langkah X adalah…..”
ISSN: 2301-8488
III. METODOLOGI
Tahap 1 : Ekstraksi Kalimat, Pemrosesan Awal Dokumen
Dokumen Teks
A. Arsitektur Sistem
Question Generation system (sistem pembangkit pertanyaan) berfungsi untuk membangkitkan pertanyaan dari dokumen atau dari kalimat yang diberikan kepada sistem. Sistem pembangkit pertanyaan dapat dikembangkan dengan metode yang berbeda. Permasalahan umum yang dihadapi dalam pengembangan sistem pembangkit pertanyaan, yaitu: 1. Bagaimana sistem dapat membangkitkan pertanyaan dalam bahasa alami. 2. Bagaimana sistem dapat membangkitkan pertanyaan yang sesuai berdasarkan kategori kalimat. 3. Bagaimana cara sistem dapat mengetahui isi sumber informasi yang ada sehingga dapat membangkitan pertanyaan dengan benar. 4. Bagaimana sistem dapat mengkategorikan kalimat apakah
Tahap 2 : Pengklasifikasian Kalimat dengan Naïve Bayes Classifier
Tahap 3 : Pembangkitan Pertanyaan Otomatis MenggunakanMetode Template-Based Pertanyaan yang dibangkitkan Generator
Template Pertanyaan
Gambar 1. Arsitektur Sistem B. Ekstraksi Kalimat
Setiap kalimat yang ada di dalam dokumen akan diekstrak. Setelah itu, kalimat-kalimat tersebut akan dianalisis. Proses analisis dilakukan untuk mengetahui apakah kalimat tersebut mengandung kata khusus yang telah didefinisikan. Tabel 2 menunjukkan kata khusus yang telah didefinisikan.
25
Journal of Research in Computer Science and Applications – Vol. 2, No. 1, Januari 2013
Kata khusus menggambarkan kalimat jawaban untuk suatu kategori pertanyaan. Kalimat yang mengandung kata „karena‟ dapat digunakan untuk membangkitkan pertanyaan kategori alasan. Kalimat yang mengandung kata „adalah‟ dapat digunakan untuk membangkitkan pertanyaan kategori definisi. Sedangkan kalimat yang mengandung kata „dengan cara‟ dapat digunakan untuk membangkitkan pertanyaan kategori metoda. Tabel 2 menunjukkan kata khusus setiap kategori.
Pengklasifikasian kalimat pada tahap ini menggunakan kata khusus yang mewakili masing-masing kategori kalimat. Jika kalimat termasuk ke dalam salah satu kategori yang telah ditentukan, maka kalimat tersebut merupakan salah satu kandidat sumber pertanyaan yang akan dibangkitkan. D. Pembangkitan Pertanyaan
Proses pembangkitan pertanyaan dilakukan dengan menggunakan metode template-based. Metode template based adalah salah satu metode yang dapat digunakan untuk membangkitkan pertanyaan. Metode ini menggunakan template-template yang telah didefinisikan sebelumnya untuk membangkitkan pertanyaan. Karena itu, metode ini lebih tepat digunakan untuk aplikasi yang memiliki tujuan tertentu dan bersifat closeddomain. Salah satu contoh penelitian dalam bidang question generation yang menerapkan metode template-based adalah [15]. Template pola kalimat pertanyaan diperoleh melalui proses analisis terhadap sekumpulan pertanyaan. Pada penelitian ini, pertanyaan-pertanyaan yang dibangkitkan adalah pertanyaan-pertanyaan yang termasuk ke dalam kategori pertanyaan non-factoid Bahasa Indonesia, yaitu definisi, alasan, dan metode. Karena itu, analisis dilakukan pada sekumpulan pertanyaan non-factoid dalam Bahasa Indonesia. Tabel 3 menunjukkan template pola kalimat pertanyaan non-factoid dalam Bahasa Indonesia.
Tabel 2 Daftar Kata Khusus Setiap Kategori Kategori
Kata khusus Sebelum target kata untuk pertanyaan
definisi
disebut, dikenal, dinamakan, mendefinisikan oleh sebab itu, jadi, memungkinkan adanya, , dengan demikian, maka, dikatakan, penyebab terjadinya, sehingga, mengapa, walau demikian, namun demikian, dengan cara
alasan
metode
ISSN: 2301-8488
Kata khusus Setelah target kata untuk pertanyaan adalah, yaitu, ialah, merupakan, diartikan sebab, karena, bertujuan
berfungsi untuk, berguna untuk
Pada tahap ini juga dilakukan proses sintaksis. Proses sintaksis dilakukan untuk mengetahui klasifikasi setiap kata yang ada di dalam kalimat. Pengklasifikasian kata-kata dalam kalimat hanya dilakukan pada kalimatkalimat yang mengandung kata khusus. Teknik yang digunakan dalam proses pemberian label klasifikasi kata adalah POS Tagger. Pengklasifikasian kata ini dilakukan untuk mengetahui kata yang akan menjadi topik (target kata) pertanyaan dan mengetahui posisi kata khusus di dalam kalimat.
Tabel 3 Template Pola Kalimat Pertanyaan Dalam Bahasa Indonesia Kategori definisi alasan metode
C. Pengklasifikasian Kalimat
Proses pengklasifikasian kalimat dilakukan untuk mengetahui kategori pertanyaan yang bisa dibangkitkan dari kalimat tersebut. Proses ini dilakukan dengan menggunakan Naive Bayes Classifier. Ada tiga kategori kalimat yang digunakan dalam penelitian ini yaitu definisi, alasan, dan metode. Kalimat definisi merupakan kalimat yang menjelaskan suatu istilah. Kalimat alasan merupakan kalimat yang mengandung hubungan sebab-akibat. Kalimat metode merupakan kalimat yang menjelaskan bagaimana cara sesuatu dilakukan atau bekerja.
Pola Kalimat Pertanyaan Apa yang dimaksud dengan + target kata Mengapa + target kata Bagaimana cara + target kata
Kategori pertanyaan yang dibangkitkan tergantung pada hasil pengklasifikasian kalimat. Informasi-informasi yang diperlukan untuk pembangkitan pertanyaan adalah: 1. Klasifikasi setiap kata dalam kalimat yang mengandung kata khusus. Hal ini dilakukan untuk mengetahui posisi kata khusus dan kata target pertanyaan dalam kalimat. 2. Mengetahui klasifikasi kalimat yang mengandung kata khusus.
26
Journal of Research in Computer Science and Applications – Vol. 2, No. 1, Januari 2013
3. Mengetahui template pola kalimat pertanyaan untuk setiap kategori. Tiga informasi tersebut sangat penting untuk proses pembangkitkan pertanyaan. Apabila ketiga informasi tersebut diperoleh proses pembangkitkan kalimat dapat dilakukan. Proses pembangkitan kalimat dilakukan dengan cara : 1. Menentukan template pola kalimat pertanyaan yang digunakan berdasarkan informasi klasifikasi kalimat 2. Mengambil kata yang berada di sebelum atau setelah kata khusus untuk menjadi topik (target kata) pertanyaan. Proses ini dapat dilakukan karena adanya informasi klasifikasi setiap kata dalam kalimat, posisi kata khusus, dan kata khusus yang digunakan. 3. Menempatkan target kata ke dalam template pola kalimat pertanyaan. Contoh pertanyaan untuk tiap kategori dapat dilihat pada tabel 4.
2. Maksud dari pertanyaan yang dibangkitkan sistem dapat dimengerti. 3. Pertanyaan yang dibangkitkan sistem sesuai dengan konteks. 4. Jika pembaca membuat pertanyaan dari teks yang diberikan, pertanyaan yang pembaca buat sama seperti pertanyaan yang telah dibangkitkan sistem. 5. Pertanyaan yang dibangkitkan sistem merupakan pertanyaan yang bermanfaat. Kalimat yang diekstrak: Flagela adalah struktur tambahan pada tubuh berupa bulu cambuk yang berfungsi sebagai alat gerak. Kata khusus: adalah Kategori: definisi Template: Apa yang dimaksud dengan …. Pertanyaan yang dibangkitkan: Apa yang dimaksud dengan flagela? Kalimat yang diekstrak: Bumi dapat tetap berada pada orbitnya karena gaya gravitasi yang bekerja antara bumi dan matahari. Kata khusus: karena Kategori: alasan Template: Mengapa …. Pertanyaan yang dibangkitkan: Mengapa bumi dapat tetap berada pada orbitnya?
Tabel 4 Contoh Pertanyaan Setiap Kategori Kategori definisi alasan
metode
ISSN: 2301-8488
Contoh Pertanyaan Apa yang dimaksud dengan pencernaan kimiawi ? Apa yang dimaksud dengan fotosintesis ? Mengapa fotosintesis dapat terjadi pada siang maupun malam hari ? Mengapa astronot dapat melayang-layang di bulan ? Bagaimana cara mengubah protein menjadi asam amino ? Bagaimana cara dna membentuk rna ?
Kalimat yang diekstrak: Organisme pengurai memperoleh makanan dengan cara merombak sisa produk organisme dan organisme yang mati dengan enzim pencernaan yang dimilikinya. Kata khusus: dengan cara Kategori: metode Template: Bagaimana cara …. Pertanyaan yang dibangkitkan: Bagaimana cara organisme pengurai memperoleh makanan?
IV. HASIL DAN PEMBAHASAN
Gambar 2. Contoh Pertanyaan yang Dibangkitkan Sistem
Pertanyaan yang dibangkitkan oleh sistem sebanyak 1871. Pertanyaan ini bersumber dari 30 dokumen teks yang masing-masing digunakan sebagai masukan. Contoh pertanyaan yang dibangkitkan oleh sistem dapat dilihat pada gambar 2. Pengujian dilakukan terhadap pertanyaan yang telah dibangkitkan oleh sistem melalui kuisioner yang diberikan kepada 30 orang mahasiswa. Pertanyaan yang dinyatakan dapat diterima harus memenuhi salah satu ataupun sebagian dari kategori yang telah ditentukan. Kategori yang dapat menyatakan sebuah pertanyaan dapat diterima atau tidak, jika pertanyaan tersebut memenuhi yaitu: 1. Pertanyaan yang dibangkitkan sistem dituliskan dengan benar.
Tabel 5. Evaluasi Pertanyaan Yang Dibangkitkan Sistem No 1 2 3 4 5 6 7 8 9 10 11 12 13 14
27
Nama Artikel Tata Surya Evolusi Metabolisme Ekosistem Ciri-ciri Khusus Makhluk Hidup Cahaya Klasifikasi Makhluk Hidup Bioteknologi Perubahan Sifat Benda Virus Peristiwa Alam Kerja Ilmiah Alat Pencernaan Keanekaragaman Makhluk
Pt
Pd
Pr
124 99 181 101 35
57 34 76 18 18
45.96 34.34 41.98 17.82 51.42
28 61 77 21 91 18 51 69 109
20 41 42 10 41 11 22 45 95
71.42 67.21 54.54 47.61 45.05 61.11 43.13 65.21 87.15
Journal of Research in Computer Science and Applications – Vol. 2, No. 1, Januari 2013
56 39 40 40 41 36 30 18 31 47 20 60 81
36 26 27 29 29 25 22 9 18 34 12 45 39
64.28 66.66 67.5 72.5 70.73 69.44 73.33 50 58.06 72.34 60 75 48.14
28
Hidup Sistem Tubuh Alat Pernapasan Susunan Bumi Gaya dan Gerak Gaya Pembentukan Tanah Pelestarian Makhluk Hidup Dampak Peristiwa Alam Sifat Bahan Energi Listrik Penghantar Listrik Perubahan pada Benda Struktur dan Fungsi Jaringan pada Hewan Ekosistem (2)
150
70
29 30
Alat Peredaran Darah Organisasi Kehidupan
65 52
10 5 35 26
15 16 17 18 19 20 21 22 23 24 25 26 27
ISSN: 2301-8488
pertanyaan yang lain, serta dapat menghasilkan pertanyaan yang tidak berulang dengan menerapkan penyaringan semantik. DAFTAR PUSTAKA [1] Husam Ali, Yllias Chali, and Sadid A. Hasan, "Automatic Question Generation from Sentences," TALN 2010, Montréal, 2010. [2] Ming Liu and Rafael A. Calvo, "G-Asks: An Intelligent Automatic Question Generation System for Academic Writing Support," Dialogue and Discourse, School of Electrical and Information Engineering, University of Sydney, Sydney NSW 2006, Australia, pp. 101– 124, 2012. [3] Christopher D. Manning, Prabhakar R., and Hinrich S., Introduction to Information Retrieval. Cambridge: Cambridge University Press, 2008. [4] Ali Rido Barakbah, "Natural Processing Languange," 2010. [5] Fadillah Z Tala, A Study of Stemming Effects on Information Retrieval in Bahasa Indonesia.: Universiteit van Amsterdam, 2003. [6] M Adriani, A Jelita, N Bobby, S. M. M. Tahaghoghi, and Hugh F. W., "Stemming Indonesian: A Confix-Stripping Approach. ," ACM Transactions on Asian Language Information Processing Vol. 6, No. 4., 2006. [8] R. A. Sukamto, Penguraian Bahasa Indonesia Dengan Menggunakan Pengurai Collins. Bandung: Institut Teknologi Bandung, 2009. [7] L Agusta, "Perbandingan Algoritma Stemming Porter dengan Algoritma Nazief dan Adriani untuk Stemming Dokumen Teks Bahasa Indonesia," in Konferensi Nasional Sistem dan Informatika, Bali, 2009. [9] Yun Niu, Analysis of Semantic Classes: Toward Non-Factoid Question Answering. Toronto: Department of Computer Science, University of Toronto, 2007. [10] T Mori, "A Monolithic Approach and a Typeby-Type Approach for Non-Factoid QuestionAnswering," IEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology, 2007. [11] R. C. Wang, "Automatic Set Expansion for List Question Answering," Proceeding EMNLP '08 Proceedings of the Conference on Empirical Methods in Natural Language Processing, 2008. [12] A. K. Saxena, IITD-IBMIRL System for Question Answering using Pattern Matching, Semantic Type, and Semantic Category Recognition. India: IBM India Research Lab,
53.84 50
Tabel 5 menunjukkan jumlah pertanyaan yang berhasil dibangkitkan oleh sistem berdasarkan dokumen yang digunakan sebagai masukan. Pt merupakan jumlah pertanyaan yang dibangkitkan oleh sistem. Pd merupakan jumlah pertanyaan yang diterima berdasarkan kategori yang telah ditentukan. Pr merupakan persentase yang dihasilkan antara jumlah pertanyaan yang dapat diterima dari seluruh pertanyaan yang dibangkitkan sistem. Nilai Pr didapatkan dari Pd/Pt*100. Dari 1871 pertanyaan yang dibangkitkan oleh sistem, 1047 diantaranya dapat diterima oleh tester, sehingga persentasenya adalah 55.95%. KESIMPULAN Sistem pembangkit pertanyaan otomatis dalam bahasa Indonesia yang dibangun menggunakan template-based method. Pembangkitan pertanyaan dari sekumpulan dokumen teks yang disediakan dapat dilakukan dengan mengekstrak kalimat dari dokumen kemudian melakukan pengklasifikasi kalimat berdasarkan kata khusus yang terkandung dalam teks tersebut. Dengan adanya penelitian ini, maka dihasilkan sebuah sistem yang dapat membangkitkan pertanyaan „non-factoid’ dalam jumlah banyak dengan mempertimbangkan waktu yang efisien. Sistem pembangkit pertanyaan otomatis dalam bahasa Indonesia ini masih terdapat beberapa kekurangan, sehingga apabila dikembangkan maka sebaiknya menambahkan istilah biologi pada kamus kata dasar agar istilah tersebut dapat diberi kategori, menambahkan template pertanyaan untuk jenis V.
28
Journal of Research in Computer Science and Applications – Vol. 2, No. 1, Januari 2013
2007. [13] A Iftene, T Diana, H Maria, and A.M. Mihai, Question Answering on Romanian, English, and French Languages. Padua Italia: CLEF 2010 LABs and Workshops, Notebook Papers, 2010. [14] C Ayache, B Grau, and A Vilnat, "EQueR : the French Evaluation campaign of Question Answering system EQueR/EVALDA," Proceedings of the 5th international
ISSN: 2301-8488
Conference on Language Resources and Evaluation, pp. 1157-1160, 2006.
29