Agen Percakapan Berbasis Pengetahuan Teks Berbahasa Indonesia Surya Sumpeno 1) , Dwi Cahyono 2) , Junaidillah Fadlil 3) , Mochammad Hariadi 4) {surya 1) ,dwikk 2) ,nedijf 3) }@elect-eng.its.ac.id,
[email protected] 4) 1,2,3 Pasca Sarjana Teknik Elektro (Game Technology) 4 Jurusan Teknik Elektro, Fakultas Teknologi Industri Institut Teknologi Sepuluh Nopember (ITS) Surabaya Telp: (031) 5947302, Fax: (031) 5931237
Abstract Conversational agent is an intelligent agent utilizes natural language and computational linguistic techniques to engage user in human-like dialogue. In this research, we develop knowledge-based conversational agent which mined from free-text employs Information Retrieval (IR) modules. Example of the application of this research is conversational agent which has knowledge only in a certain domain, such as cashier agent used in Automated Teller Machine, librarian agent or tour guide agent in multimedia kiosk. Free text used is Indonesian narrative text. Experiments are conducted using geographical domain of tourism. Modules of IR can be deployed to enrich knowledge-base by human operator (user) with liberty of writing descriptions of tourism objects using Indonesian free-text. Knowlege-base uses network semantic which relates facts with semantic relations such as ”thing (isA, has)”, ”spatial(location)” and question words such as ”what(thing)”, ”where(location)”. Keywords: conversational agent, information retrieval, knowledge-base, free-text.
Preprint submitted to SNSTI
3 Januari 2009
1. Pendahuluan Agen adalah sesuatu yang dapat ”mengamati” lingkungannya melalui sensor, lalu beraksi sesuai dengan keadaan lingkungan melalui efektor [Russell and Norvig (2003)]. Sensor dalam hal ini adalah masukan teks yang diberikan pengguna, berupa kalimat-kalimat dalam dialog. Agen percakapan mengintegrasikan teknik komputasi bahasa untuk menterjemahkan dan menanggapi pernyataan yang dibuat oleh pengguna dalam bahasa alami biasa [Lester, Branting, and Mott (2004)]. Dewasa ini, agen percakapan banyak digunakan dalam aplikasi-aplikasi seperti aplikasi bisnis, edukasi, pemerintahan, kesehatan dan hiburan. Agen yang dimaksud dalam penelitian ini adalah agen percakapan yang menggunakan basis pengetahuan (knowledge-base) dengan domain tertentu sebagai tanggapan dalam dialog tanya-jawab dengan pengguna. Di bidang teknologi bahasa, penelitian-penelitian untuk berbagai bahasa telah banyak dilakukan. Bahasa Inggris yang merupakan bahasa percakapan internasional mendapat perhatian yang sangat besar. Mulai dari penggunaannya untuk percakapan sehari-hari menggunakan common-sense [Eagle, Singh, and Pentland (2003)] yang berbasis pada [Liu and Singh (2004)], basis data leksikal elektronik yang berupa kamus dengan pengindra kata (word-sense) [Fellbaum (1998)], dan bahkan toolkit untuk pengembangan penelitian lebih lanjut [Loper and Bird (2002)] yang berbasis bahasa Inggris. Peneliti-peneliti Indonesia tentu saja tidak mau ketinggalan mengembangkan metode-metode untuk teknologi bahasa Indonesia [Adriani, Mirna, and Manurung (12-13 June 2008)] seperti metode mencari kata dasar (stemming) yang dilakukan oleh Adriani, Asian, Nazief, Tahaghoghi, and Williams (2007), Tala (2003), analisa morfologi oleh Femphy, Mahendra, Manurung, and Arka (2008) dan semantik bahasa Indonesia oleh Eliza and Manurung (2008). Penelitian ini mencoba membawa perkembangan penelitian teknologi bahasa Indonesia selangkah lebih maju ke aplikasi dunia nyata. Contohnya adalah agen percakapan yang memiliki pengetahuan dalam domain tertentu, misalnya agen percakapan kasir bank yang hanya memiliki pengetahuan tentang aktivitas transaksi bank (namun tidak mengetahui di mana Banyuwangi berada). Aplikasinya adalah antarmuka pengguna ATM (Anjungan Tunai Mandiri) dengan kemampuan percakapan dalam bahasa alami bahasa Indonesia. Contoh yang lain adalah agen percakapan dengan basis pengetahuan lokasi obyek wisata yang dapat berperan menjadi pemandu dalam kios multimedia yang dipasang di tempat-tempat umum seperti bandara, stasiun kereta api 2
Gambar 1: Blok diagram sistem agen percakapan yang dilengkapi modul temu kembali informasi.
dan terminal. Dengan menggunakan tanya jawab bahasa alami dalam bahasa Indonesia, diharapkan pengguna yang awam komputer pun dapat memanfaatkan fasilitas yang disediakan oleh pemandu.
2. Desain Agen Percakapan dan Modul Temu Kembali Informasi Blok diagram sistem keseluruhan seperti diperlihatkan pada gambar 1. Basis pengetahuan yang dapat dibaca langsung oleh perangkat lunak komputer biasanya berbentuk informasi terstruktur seperti dalam format KIF (Knowledge Interchange Format), KQML (Knowledge Query and Manipulation Language), atau web semantik RDF (Resource Description Framework). Saat ini dengan perkembangan Internet yang luar biasa pesat, informasi dari sumber web yang berbentuk teks bebas amat mudah didapat dan luar biasa berlimpah. Dalam penelitian ini, basis pengetahuan yang terstruktur dibangkitkan dari teks bebas berbahasa Indonesia dengan domain geografi berupa lokasi-lokasi obyek wisata di dunia, yang diwujudkan dalam bentuk modul temu kembali informasi (blok ”Modul IR”). Modul temu kembali informasi ini dapat digunakan untuk memperkaya basis pengetahuan oleh operator manusia (pengguna) dengan kebebasan menulis deskripsi dari obyek-obyek wisata lewat narasi teks bebas berbahasa Indonesia [Cahyono, Fadlil, Sumpeno, and Hariadi (2008)]. Basis pengetahuan dimanfaatkan oleh agen percakapan untuk memberikan tanggapan dari masukan teks (dialog) yang diberikan pengguna [Fadlil, Cahyono, Sumpeno, and Hariadi (2008)]. 2.1. Pembangkitan Basis Pengetahuan Menggunakan Modul Temu Kembali Informasi Temu kembali informasi (Information Retrieval) didefinisikan sebagai cara untuk menemukan materi (biasanya dokumen) dari sesuatu yang tidak terstruktur secara alami (biasanya teks) untuk didapatkan in3
Gambar 2: Blok diagram pembangkitan basis pengetahuan dari teks bebas (blok ”Modul IR”).
fomasi yang dikehendaki dari kumpulan dokumen yang besar [Manning, Raghavan, and Sch¨utze (2008)]. Basis pengetahuan agen dibangkitkan secara otomatis melalui modul temu kembali informasi dengan sumber informasi dari teks bebas berbahasa Indonesia. Teks bebas diolah dengan modul temu kembali informasi berdasarkan kata kunci ”lokasi” atau ”tempat” yang berhubungan dengan ontology untuk domain lokasi obyek-obyek wisata di dunia. Modul temu kembali informasi yang dikembangkan terdiri dari tiga proses utama seperti ditunjukkan dalam gambar 2, yaitu ”parsing dan stemming”, ”analisa semantik” dan ”translasi”. Teks bebas berbahasa Indonesia yang dipakai sebagai masukan, dipecah sampai dengan kata dasar dalam proses ”parsing dan stemming”. Proses ini berfungsi untuk mencari kata dasar dengan menghilangkan imbuhan yang melekat dalam satu kata yang diberikan, sedangkan kata yang terdapat dalam daftar ”stop word” akan diabaikan. Daftar ”stop word” adalah daftar kata atau frasa yang tidak perlu lagi dilakukan proses stemming atau diabaikan. Algoritma stemming yang digunakan dalam penelitian ini mengacu pada hasil penelitian yang telah dilakukan oleh Asian, Williams, and Tahaghoghi (2005). Contoh kata "mempunyai" memiliki awalan "mem" dan akhiran "i" sehingga setelah proses stemming didapatkan kata dasar "punya" (dari dekomposisi "mem+punya+i"). 4
Hasil dari proses ”parsing dan stemming” adalah kata-kata dasar dan fakta-fakta dari kalimat yang diberikan dalam teks bebas, yang kemudian diproses dengan analisa semantik. Proses ”analisa semantik” merelasikan kata dan fakta tersebut berbantuan domain ontology. Proses ini melibatkan kata atau frasa tanya dan sinonimnya atau hubungannya dengan hal lain, sehingga bila kata yang dicari tidak terdapat di dalam domain ontologi akan terlebih dulu dicari sinonim atau persamaannya dan kemungkinan kata-kata yang berhubungan dengan kata yang dicari. Contoh kalimat: "Gunung Bromo berada di kota Probolinggo" Kata "berada" menunjukkan atau berhubungan dengan kata "lokasi" yang menunjukkan relasi "lokasi". Domain ontology memberi batasan dari proses ”analisa semantik”, sehingga sesuai dengan domain yang diaplikasikan ke agen. ”Translasi” adalah proses yang menghasilkan perintah query basis data untuk membentuk jaringan semantik yang disimpan ke dalam Relational Data Base (RDB). Basis pengetahuan yang dikembangkan mengacu pada jaringan semantik yang merelasikan fakta-fakta. Contoh kalimat: "Wendit adalah tempat wisata di kota Malang", maka hasil dari translasi yang diharapkan sebagai berikut: relasi="adalah"; object="wendit"; keterangan="tempat wisata". Sedangkan "kota" dalam domain ontologi menunjukkan "lokasi" maka terdapat satu basis pengetahuan baru yaitu relasi="lokasi"; object="wendit"; keterangan="malang" Hasil dari proses ”translasi” adalah basis pengetahuan agen yang disimpan dalam basis data relasional (RDB) yang ditunjukkan pada tabel 1. Di dalam RDB terdapat beberapa obyek tabel beserta atributnya, antara lain tabel pengetahuan, tabel kata tanya dan tabel sinonim. Dalam proses pembangkitan tanggapan dari user juga dilibatkan kata tanya yang menunjukan hubungan dari kata tanya yang diberikan oleh pengguna dengan fakta dalam basis pengetahuan agen, seperti ditunjukkan dalam tabel kata tanya. 2.2. Agen Percakapan Berbasis Pengetahuan Gambar 3 menunjukkan blok diagram agen percakapan berbasis pengetahuan yang diusulkan. Peran proses ”parsing dan stemming” di blok ini sama seperti proses serupa pada ”modul IR”. Proses ”analisa semantik” juga serupa seperti di dalam ”modul IR” yang kemudian melakukan pencocokan pola (pattern matching) dengan jaringan semantik yang menjadi basis pengetahuan agen percakapan. Jaringan semantik dipakai untuk mendefinisikan makna sebuah konsep dari relasinya dengan konsep yang lain (atau dengan kata lain, merelasikan satu fakta dengan fakta lainnya). Struktur data graph dipakai dalam jaringan semantik 5
Gambar 3: Blok diagram agen percakapan berbasis pengetahuan.
Gambar 4: Ilustrasi pencarian letak kota dari pertanyaan pengguna.
dengan tautan (link) berlabel bahasa alami sebagai relasi [Bigus and Bigus (1997)]. Semua kemungkinan sinonim (variasi kata) dan kata yang berhubungan dicoba dicari kaitannya di dalam basis pengetahuan (KB) seperti ditunjukkan pada gambar 4. Jika tetap tidak ditemukan kecocokan, maka agen percakapan akan menjawab ”Maaf, saya tidak tahu.” lalu menyimpan masukan teks dari pengguna tersebut ke dalam tabel tidak terjawab (unanswered table). Tabel tidak terjawab akan diperiksa oleh manusia sebagai pakar domain (domain expert), sekaligus merupakan masukan bagi evaluasi dan perkembangan untuk perbaikan agen percakapan di masa mendatang.
6
3. Eksperimen dan Diskusi 3.1. Modul IR Uji coba dilakukan dengan masukan teks bebas berbahasa Indonesia satu paragraf yang terdiri dari 5 kalimat dan 81 kata sebagai berikut: Banyuwangi terletak di ujung timur Jawa Timur, pelabuhan Ketapang terletak di kabupaten ini. Ibu kota kabupaten Banyuwangi adalah Banyuwangi. Banyuwangi memiliki 24 kecamatan antara lain adalah Rogojampi, Glenmore, Muncar. Banyuwangi memiliki beberapa obyek wisata yaitu Taman Hutan Lindung Baluran, perkebunan coklat Kali Klatak, wisata tradisional osing, pemandian Kali Kotak, Watu Dodol, Kawah Ijen, Pantai Plengkung. Bahasa tradisional Banyuwangi adalah Bahasa Osing. Watu Dodol terletak di daerah Ketapang tepatnya di perbatasan antara Banyuwangi dengan Kabupaten Situbondo. Tari Gandrung, Seblang adalah kesenian dari Banyuwangi.
Teks berbahasa Indonesia yang diberikan diproses oleh ”modul IR” dengan tahapan proses seperti ditunjukkan dalam gambar 2, sehingga didapat relasi-relasi sebagai berikut: adalah (isA), lokasi (LocationOf ), memiliki (has), bagian (partOf ). Contoh ”Banyuwangi terletak di ujung timur Jawa Timur”, kata ”terletak” berhubungan dengan kata ”lokasi” dan kata ”lokasi” menunjukkan relasi semantik ”lokasi (locationOf )”. Semua kata yang termasuk dalam relasi semantik diberi tanda (flag) sebagai rujukan kata relasi pada proses analisa semantik. Dari kata relasi ”lokasi” dicari kata yang mendahuluinya dan kata yang mengikuti yang berhubungan dengan kata kunci domain obyek-obyek wisata di dunia, sehingga didapat kata yang mendahului: ”Banyuwangi” dan kata yang mengikuti: ”di”, ”ujung”, ”Ujung Timur”, ”Jawa”, ”Jawa Timur”. Kata ”di” berhubungan dengan ”tempat”/”lokasi” dari kata yang mengikutinya yaitu ”ujung”, ”ujung timur”, ”jawa” dan ”jawa timur”. Dari proses analisa semantik dicari kata-kata yang berhubungan dengan domain ontologi, sehingga didapatkan hasil ekspresi semantik ”banyuwangi lokasi ujung timur jawa timur”. Kata yang tidak berhubungan dengan domain ontologi lalu diabaikan. Contoh kalimat ”pelabuhan Ketapang terletak di kabupaten ini” yang merupakan bagian kalimat dari kalimat ”Banyuwangi terletak di ujung timur Jawa Timur, pelabuhan Ketapang terletak di kabupaten ini”. Kata ”ini” menunjukkan obyek dalam kalimat dari kata yang mendahuluinya yaitu ”kabupaten”. Obyek ”kabupaten” adalah kota ”banyuwangi”, sehingga didapat ekspresi semantik ”pelabuhan ketapang lokasi banyuwangi”. 7
Gambar 5: Basis pengetahuan memanfaatkan jaringan semantik.
Ekspresi semantik tersebut lalu dimasukkan ke dalam jaringan semantik yang diimplementasikan dalam RDB. Hasil translasi dari teks bebas ditunjukkan dalam tabel 2. 3.2. Jaringan Semantik sebagai Basis Pengetahuan Agen Percakapan Hubungan satu node dengan node yang lain adalah relasi semantik yang digunakan sebagai basis pengetahuan. Contoh seperti pada gambar 5 menunjukkan relasi semantik pada obyek kota (domain geografi). Pengguna memasukkan kalimat tanya ’di mana banyuwangi berada?’ yang ditranslasikan menjadi bahasa SQL sebagai berikut: select obyek,prop,gabung (ability) from result10(’dimana banyuwangi berada?’) as (prop varchar obyek varchar ability varchar)group by obyek,prop
Hasil uji coba agen percakapan adalah sebagai berikut: pengguna: Di mana letak Banyuwangi?
8
agen: Banyuwangi terletak di Jawa timur.
pengguna: Di mana letak Pelabuhan Ketapang? agen: Pelabuhan Ketapang terletak di Banyuwangi.
pengguna : Di mana letak ibukota banyuwangi? agen: Ibu kota Banyuwangi terletak di Banyuwangi.
pengguna: Banyuwangi memiliki apa ? agen: Banyuwangi memiliki 24 Kecamatan.
pengguna: Sebutkan Obyek Wisata agen: Taman Hutan Lindung Baluran adalah Obyek wisata, Perkebunan coklat Kali Klatak adalah Obyek Wisata.
pengguna: Apa Bahasa Osing itu? agen: Bahasa Osing adalah Bahasa tradisional Banyuwangi.
pengguna: Di mana Watu Dodol berada? agen: Watu Dodol terletak di Ketapang.
4. Kesimpulan dan Rencana Pengembangan Teks bebas berbahasa Indonesia dapat dijadikan sumber pembangkitan basis pengetahuan secara otomatis untuk digunakan oleh agen percakapan, melalui modul temu kembali informasi yang telah dikembangkan penelitian ini. Masukan teks pengguna dapat ditanggapi sesuai oleh agen percakapan. Dari tanggapan yang dihasilkan agen percakapan, masih diperlukan adanya perbaikan-perbaikan, misalnya perubahan struktur kalimat agar agen nampak alami dalam menanggapi. Sebagai contoh tanggapan agen: ”Taman Hutan Lindung Baluran adalah obyek wisata, Perkebunan coklat Kali Klatak adalah obyek wisata” dapat diubah dari banyak kalimat menjadi satu kalimat tunggal, sehingga menjadi ”Taman Hutan Lindung Baluran dan Perkebunan Coklat Kali 9
Tabel 1: Basis pengetahuan dengan Relational Data Base (RDB)
Nama Tabel Pengetahuan
Kata Tanya
Sinonim Stop word Unanswered Imbuhan
Atribut Relasi Obyek Keterangan Kata Hubungan Keterangan kata1 kata2 Kata Pertanyaan Imbuhan kategori Keterangan
Keterangan Hubungan/menyatakan Obyek Keterangan dari relasi dan obyek Kata tanya Hubungan dari kata tanya Keterangan dari kata tanya Kata sinonim Kata yang bersesuaian Kata yang tidak perlu dilakukan stemming Pertanyaan atau kata yang memerlukan domain expert Daftar kata imbuhan Jenis imbuhan Keterangan tentang kata imbuhan
Klatak adalah obyek wisata”. Variasi tanggapan menjadi rencana pengembangan selanjutnya.
Penulis Surya Sumpeno 1) menamatkan pendidikan Sarjana Teknik (ST) 1995 di Teknik Elektro, Institut Teknologi Sepuluh Nopember (ITS) Surabaya, menyelesaikan Master of Science (MSc) di Graduate School of Information Science (GSIS) di Universitas Tohoku Jepang pada 2007. Saat ini menempuh program Doktor di Pasca Sarjana Teknik Elekro ITS dan bekerja sebagai dosen di Jurusan Teknik Elektro ITS. Dwi Cahyono 2) lahir di kota Probolinggo pada 27 Januari 1973, menamatkan pendidikan S1 di Universitas Dr. Soetomo Surabaya dalam bidang Teknik Informatika pada 1998. Saat ini menempuh program Magister Teknik Pasca Sarjana Teknik Elektro ITS, konsentrasi Game Teknologi di Institut Teknologi Sepuluh Nopember (ITS) Surabaya dan bekerja sebagai Dosen Tetap Fakultas Teknik di Universitas Dr. Soetomo. Junaidillah Fadlil 3) lahir di kota Malang pada 26 Agustus 1983, menamatkan pendidikan S1 di Universitas Brawijaya Malang dalam bidang Ilmu Komputer pada 2006. Saat ini menempuh program Magister Teknik Pasca Sarjana Teknik Elektro ITS, konsentrasi Game Teknologi di Institut Teknologi Sepuluh Nopember (ITS) Surabaya. Mochammad Hariadi
4)
menamatkan pendidikan Sarjana Teknik (ST) di Teknik Elektro, Institut Teknologi
Sepuluh Nopember (ITS) Surabaya, menyelesaikan Master of Science (MSc) dan Philoshophy Doctor (PhD) 10
Tabel 2: Hasil uji coba yang direkam dalam jaringan semantik RDB
Relasi Lokasi Lokasi Memiliki Memiliki Bagian Bagian Bagian Memiliki Adalah Adalah Adalah Adalah Adalah Adalah Adalah Adalah Lokasi Adalah Adalah
Obyek Banyuwangi Pelabuhan Ketapang Banyuwangi Banyuwangi Rogojampi Glenmore Muncar Banyuwangi Taman Hutan Lindung Baluran Perkebunan coklat Kali Klatak Wisata tradisional osing Pemandian Kali Kotak Watu Dodol Kawah Ijen Pantai Plengkung Bahasa Osing Watu Dodol Tari Gandrung Seblang
Keterangan Jawa Timur Banyuwangi Ibu kota Banyuwangi 24 Kecamatan Banyuwangi Banyuwangi Banyuwangi Beberapa obyek wisata Obyek Wisata Obyek Wisata Obyek Wisata Obyek Wisata Obyek Wisata Obyek Wisata Obyek Wisata Bahasa tradisional Banyuwangi Ketapang Kesenian dari Banyuwangi Kesenian dari Banyuwangi
di Graduate School of Information Science (GSIS) Universitas Tohoku Jepang pada 2006. Saat ini bekerja sebagai dosen di Jurusan Teknik Elektro ITS.
Pustaka Adriani, Mirna, Manurung, H. M., 12-13 June 2008. A survey of bahasa indonesia nlp research conducted at the university of indonesia. Second MALINDO Workshop Selangor Malaysia. Adriani, M., Asian, J., Nazief, B., Tahaghoghi, S. M., Williams, H. E., 2007. Stemming indonesian: A confix-stripping approach. ACM Transactions on Asian Language Information Processing (TALIP) 6 (4), 1–33. Asian, J., Williams, H. E., Tahaghoghi, S., 2005. Stemming indonesian. In: Estivill-Castro, V. (Ed.), Twenty-Eighth Australasian Computer Science Conference (ACSC2005). Vol. 38 of CRPIT. ACS, Newcastle, Australia, pp. 307–314. Bigus, J. P., Bigus, J., 1997. Constructing Intelligent Agents with Java: A Programmer’s Guide to Smarter Applications. John Wiley & Sons, Inc., New York, NY, USA. Cahyono, D., Fadlil, J., Sumpeno, S., Hariadi, M., Desember 2008. Temu kembali informasi untuk pembangkitan basis pengetahuan dari teks bebas yang digunakan oleh agen percakapan bahasa alami. Seminar Sistem Informasi Indonesia SESINDO2008. Eagle, N., Singh, P., Pentland, A., 2003. Common sense conversations: Understanding casual conversation using a common sense database. ACM Press, pp. 1163–1166. URL http://citeseer.ist.psu.edu/eagle03common.html
11
Eliza, M., Manurung, R., December 2008. Comparing the value of latent semantic analysis on two english-to-indonesian lexical mapping tasks: What is it good for? Australian Language Technology Association (ALTA) Workshop. Fadlil, J., Cahyono, D., Sumpeno, S., Hariadi, M., Desember 2008. Visual storytelling keliling dunia berbasis bahasa indonesia. Seminar Sistem Informasi Indonesia SESINDO2008. Fellbaum, May 1998. WordNet: An Electronic Lexical Database (Language, Speech, and Communication). The MIT Press. URL http://wordnet.princeton.edu/ Femphy, P., Mahendra, R., Manurung, R., Arka, I. W., December 2008. A two-level morphological analyser for the indonesian language. Australian Language Technology Association (ALTA) Workshop. Lester, J., Branting, K., Mott, B., 2004. Conversational agents. In: Singh (2004). Liu, H., Singh, P., 2004. Conceptnet — a practical commonsense reasoning tool-kit. BT Technology Journal 22 (4), 211–226. Loper, E., Bird, S., May 2002. Nltk: The natural language toolkit. URL http://arxiv.org/abs/cs/0205028 Manning, C. D., Raghavan, P., Sch¨utze, H., July 2008. Introduction to Information Retrieval. Cambridge University Press. Russell, S., Norvig, P., 2003. Artificial intelligence: A modern approach. Prentice Hall 2nd Edition. Singh, M. P. (Ed.), 2004. Practical Handbook of Internet Computing. Chapman Hall & CRC Press, Baton Rouge. Tala, F. Z., 2003. A study of stemming effects on information retrieval in bahasa indonesia. M.S. thesis.
12