Agen Percakapan Berbasis Pengetahuan Teks Berbahasa Indonesia
Surya Sumpeno1), Dwi Cahyono2), Junaidillah Fadlil3), Mochammad Hariadi4) {surya1),dwikk2),nedijf3)}@elect-eng.its.ac.id, mochar@ee.its.ac.id4)
1,2,3Pasca Sarjana Teknik Elektro (Game Technology) 4Jurusan 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)”.
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 ba-hasa 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. Ba-hasa Inggris yang merupakan baBa-hasa 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 den-gan pengindra kata (word-sense) [Fellbaum (1998)], dan bahkan toolkit untuk pengembanden-gan penelitian lebih lanjut [Loper and Bird (2002)] yang berbasis bahasa Inggris.
Peneliti-peneliti Indonesia tentu saja tidak mau ketinggalan mengembangkan metode-metode untuk teknolo-gi 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), anal-isa 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
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 ter-struktur 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 per-cakapan 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
in-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 sum-ber informasi dari teks bebas sum-berbahasa Indonesia. Teks bebas diolah dengan modul temu kembali infor-masi 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 im-buhan 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 di-lakukan oleh Asian, Williams, and Tahaghoghi (2005). Contoh kata "mempunyai" memiliki awalan "mem"
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 ke-mungkinan 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
me-nunjukkan 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 se-mantik yang disimpan ke dalam Relational Data Base (RDB). Basis pengetahuan yang dikembangkan men-gacu 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";
keteran-gan="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
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.
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 den-gan 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 den-gan ”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 didap-atkan 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 kali-mat ”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 ”kabupat-en” adalah kota ”banyuwangi”, sehingga didapat ekspresi semantik ”pelabuhan ketapang lokasi banyuwangi”.
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 penge-tahuan. Contoh seperti pada gambar 5 menunjukkan relasi semantik pada obyek kota (domain geografi). Pengguna memasukkan kalimat tanya ’di mana banyuwangi berada?’ yang ditranslasikan menjadi ba-hasa 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:
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
Tabel 1: Basis pengetahuan dengan Relational Data Base (RDB)
Nama Tabel Atribut Keterangan
Pengetahuan Relasi Hubungan/menyatakan
Obyek Obyek
Keterangan Keterangan dari relasi dan obyek Kata Tanya Kata Kata tanya
Hubungan Hubungan dari kata tanya Keterangan Keterangan dari kata tanya Sinonim kata1 Kata sinonim
kata2 Kata yang bersesuaian
Stop word Kata Kata yang tidak perlu dilakukan stemming
Unanswered Pertanyaan Pertanyaan atau kata yang memerlukan domain expert
Imbuhan Imbuhan Daftar kata imbuhan kategori Jenis imbuhan
Keterangan 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 Informa-tion 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 Cahyono2) 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 Mag-ister 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 Fadlil3) 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)
Tabel 2: Hasil uji coba yang direkam dalam jaringan semantik RDB
Relasi Obyek Keterangan
Lokasi Banyuwangi Jawa Timur
Lokasi Pelabuhan Ketapang Banyuwangi
Memiliki Banyuwangi Ibu kota Banyuwangi
Memiliki Banyuwangi 24 Kecamatan
Bagian Rogojampi Banyuwangi
Bagian Glenmore Banyuwangi
Bagian Muncar Banyuwangi
Memiliki Banyuwangi Beberapa obyek wisata Adalah Taman Hutan Lindung Baluran Obyek Wisata
Adalah Perkebunan coklat Kali Klatak Obyek Wisata Adalah Wisata tradisional osing Obyek Wisata Adalah Pemandian Kali Kotak Obyek Wisata
Adalah Watu Dodol Obyek Wisata
Adalah Kawah Ijen Obyek Wisata
Adalah Pantai Plengkung Obyek Wisata
Adalah Bahasa Osing Bahasa tradisional Banyuwangi
Lokasi Watu Dodol Ketapang
Adalah Tari Gandrung Kesenian dari Banyuwangi
Adalah Seblang 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.
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. URLhttp://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.
URLhttp://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.