1Rusdah, 2Sri Hartati
1Program Studi Sistem Informasi, Fakultas Teknologi Informasi
Universitas Budi Luhur, Jakarta, Indonesia
2Jurusan Ilmu Komputer dan Elektronika, Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Gadjah Mada, Yogyakarta, Indonesia
1rusdah@budiluhur.ac.id, 2shartati@ugm.ac.id
ABSTRAK
Aplikasi pada dunia medis memerlukan akses database dengan jumlah data yang sangat besar. Dengan demikian, proses pencarian informasi yang efektif, efisien dan mudah kini menjadi kebutuhan. Sayangnya hanya sedikit tenaga medis yang memiliki kemampuan untuk mengakses sistem manajemen basis data. Bahasa adalah hambatan terbesar dalam interaksi antara manusia dengan komputer. Untuk itu diperlukan sebuah interface yang memungkinkan manusia menggunakan bahasa alami dalam berinteraksi dengan komputer. Aplikasi pengolah bahasa alami untuk query pada basis data relasionaltelah dibangun untuk memungkinkan komunikasi antara tenaga medis dan komputer tanpa harus mengerti perintah dan prosedur yang kompleks.Terdapat 9 kalimat permintaan sederhana sesuai aturan produksi yang dapat diuji. Pengujian dilakukan dengan menggunakan 428 record data medis. Hasil menunjukkan bahwa pengolah bahasa alami dapat memberikan keluaran sesuai dengan permintaan user.
Kata Kunci : Natural Language Interface, Query, Relational Database, Aplikasi Pengolah Bahasa Alami,
Natural Language Processing
1. Pendahuluan
Dunia medis memiliki cakupan data yang sangat besar, berisi berbagai rekaman medis tentang pasien, anamnese, diagnosa, tindakan yang dilakukan tenaga medis hingga data obat- obatan yang diberikan. Simpanan data yang sangat besar tersebut seringkali diakses berulang-ulang bagi para tenaga medis baik sebagai dasar pengambilan keputusan dalam menangani pasien atau pengambilan keputusan lain yang berhubungan dengan kebijakan penanganan kesehatan.
Sayangnya bahasa menjadi kendala bagi tenaga medis dalam mencari informasi karena kurangnya pengalaman berinteraksi dengan aplikasi atau sistem manajemen basis data. Salah satu solusi yang memungkinkan adalah penggunaan Natural Language Interfaceuntuk mengakses basis data tanpa perlu keahlian khusus.Natural Language Processing (NLP) menggunakan bahasa natural sehingga tidak memerlukan pelatihan khusus bagi penggunanya[1]
Pengembangan sistem query dengan menggunakan pengolah bahasa alami sebagai interfaceuntuk database telah dilakukan oleh beberapa peneliti sebelumnya, baik untuk database XML maupun database relasional [1-4]
Penelitian [5]bertujuan untuk merancang dan mengimplementasikan sebuah sistem query database relasional yang menggunakan interface bahasa alami untuk bahasa Spanyol dengan sudut pandang sistem informasi. Syntax Checker-nya mampu menangani 10 pola kalimat sederhana dan kompleks.
2. PengolahBahasa Alami (NLP)
Tujuan NLP adalah untuk memungkinkan komunikasi antara manusia dan komputer tanpa harus mengerti perintah dan prosedur yang kompleks. Dengan kata lain, NLP adalah sebuah teknik yang membuat komputer mengerti bahasa alami manusia, tetapi bukan bahasa buatan manusia seperti bahasa pemrograman [6].
Struktur pengolah bahasa alami yang akan digunakan dalam penelitian ini mengikuti Gambar 1 berikut:
NLIDB
Natural Language Interface to a Database
(NLIDB) adalah sebuah sistem yang memungkinkan user mengakses informasi yang tersimpan dalam sebuah database dengan cara menuliskan permintaan dalam bahasa alami (misalnya dalam bahasa Inggris) [7]. Dalam [8], dirangkum bahwa NLIDB telah diterapkan untuk tujuan translasi bahasa alami ke SQL, untuk interpretasi dari query yang diinput, termasuk proses parsing dan semantic yang ambigu, interpretasi semantic dan transformasi dari query menjadi bentuk logis.
3. Metode Penelitian
Diawali dengan tahapan analisa mengenai beberapa kalimat berbahasa alami yang akan digunakan oleh tenaga medis, seperti yang ditunjukkan pada Tabel 1.Kemudian dilanjutkan dengan pembentukan aturan produksi untuk menghasilkan kalimat permintaan tersebut, seperti yang ditunjukkan pada Gambar3. Berdasarkan aturan produksi tersebut diperoleh daftar token. Daftar token tersebut akan diproses oleh komponen parser dan akan menghasilkan pohon sintaks, untuk kemudian diproses oleh translator sehingga menghasilkan Structured Query Language (SQL). Setelah itu evaluator akan mengeksekusi SQL tersebut menjadi keluaran NLP dalam bentuk yang dapat dimengerti oleh tenaga medis. Proses ini mengikuti struktur pengolah bahasa alami seperti yang ditunjukkan pada Gambar 1.Kemudian proses pengumpulan datamedis dilakukan.Setelah data diperoleh, dilanjutkan dengan pengujian.
Data yang digunakan dalam pengujian pada penelitian ini adalah data medis yang diperoleh dari sebuah rumah sakit ibu dan anak di Jakarta. Data set terdiri dari 11 atribut, yaitu nomor rekam medis, nomor registrasi, tanggal daftar, jam daftar, usia tahun, usia bulan, usia hari, jenis kelamin, poli, diagnosa dan memiliki 428 record.
Dalam penelitian ini dilakukan proses pengolahan permintaan dari user dengan bahasa alamimenjadi SQL yang dapat dimengerti oleh
Database Management System (DBMS) atau SQL
Generator, untuk kemudian hasil disajikan dalam bentuk yang dapat dimengerti oleh user. Rincian dari proses pengolahan tersebut diilustrasikan dengan menggunakan Activity Diagram seperti
Gambar 2 berikut:
Gambar 2. Activity Diagram pemrosesan bahasa alami menjadi SQL dan hasil dalam bahasa alami 4. Aturan Produksi
Input yang digunakan dalam penelitian ini adalah permintaan dengan bahasa alami (dalam bahasa Indonesia) yang menyerupai bahasa percakapan sehari-hari. Input ini berupa permintaan untuk mengakses informasi yang tersimpan dalam database.Beberapa contoh bentuk kalimat alami yang dapat dimasukkan seperti pada tabel 1 berikut:
Tabel 1. Contoh kalimat permintaan
No. Kalimat Permintaan
1. Cari pasien yang diagnosanya TB
2. Tampilkan informasi pasien yang sakit TB 3. Tampilkan informasi pasien yang terdiagnosa
TB paru dan wanita
4. Hitung jumlah pasien yang menderita TB paru 5. Hitung jumlah pasien yang wanita
6. Hitung jumlah pasien yang menderita TB dan wanita
7. Berapa jumlah pasien yang terdiagnosa TB 8. Berapa jumlah pasien pada Poli Penyakit
Dalam
9. Berapa jumlah pasien pada Poli Penyakit Dalam dan wanita
Aplikasi ini memerlukan aturan produksi yang harus dipatuhi oleh user dalam memberikan input. Berdasarkan pola aturan dalam penulisan query, maka aturan produksi dengan simbol awal <S> ditentukan seperti pada Gambar 3 (Lampiran) 5. Hasil Pengujian
Berdasarkan aturan produksi yang telah ditentukan sebelumnya, maka sistem hanya akan memproses kalimat input yang sesuai dengan aturan produksi tersebut. Kalimat permintaan dalam bahasa alami yang diinput kemudian masuk ke dalam scanner untuk dijadikan daftar token.Daftar token yang terbentuk akan dibandingkan dengan daftar token yang tersimpan,
bila tidak ditemukan sistem akan menampilkan pesan kesalahan. Bila ditemukan, token-token ini akan diproses oleh parser, untuk kemudian diperiksa apakah struktur kalimat yang diinput sesuai dengan aturan produksi yang sudah ditetapkan. Bila tidak sesuai, sistem akan menampilkan pesan kesalahan.Bila sesuai dengan aturan produksi, maka translator akan menterjemahkan hasil keluaran dari parser menjadi bahasa query. Query tersebut selanjutnya akan diproses oleh evaluator agar dapat memberikan hasil dalam bahasa yang dapat dimengerti oleh user.
Berikut salah satu contoh pengolahan satu kalimat yang diminta user dengan menggunakan bahasa alami menjadi SQL hingga memberikan output sesuai dengan data yang diminta.
Scanner
Input (bahasa alami) : cari info pasien yang terdiagnosa TB dan wanita
Output : <cari><info><pasien><yang><ter diagnosa><TB><dan><wanita>. Parser Input : <cari><info><pasien><yang><ter diagnosa><TB><dan><wanita>. Output : (<cari>),(<info>),(<pasien>),(<yan g><terdiagnosa><TB><dan><wani ta>). Translator
Input : (*, tabel datapasien), (<yang> (diagnosa, JK, tabel datapasien)) Output : select * from datapasien where
diagnosa like „%TB%‟ and JK = „wanita‟;
Evaluator
Input : select * from datapasien where diagnosa like „%TB%‟ and JK = „wanita‟;
Output : Hasil SQL.
Pada Gambar4 dapat dilihat bahwa bila user menginput kalimat permintaan dengan bahasa alami: “cari info pasien yang
terdiagnosa TB dan wanita” maka
sistem akan mengaktifkan komponen scanner dan menghasilkan daftar token, kemudian dilakukan
pos tagging pada komponen parser. Selanjutnya komponen translator akan menghasilkan SQL:
select from datapasien where JK =
‘wanita’ and diagnosa like
‘%tb%’dan evaluator akan mengeksekusi SQL tersebut untuk menghasilkan keluaran / output NLP.
Contoh kalimat lainnya adalah “Berapa
jumlah pasien yang terdiagnosa TB dan wanita” dan “Berapa jumlah pasien pada poli penyakit dalam dan wanita”. Melalui proses yang sama
dengan penjelasan Gambar 4, kalimat tersebut akan memberikat output NLP seperti yang ditunjukkan pada Gambar 5 dan Gambar 6 (Lampiran).
6. Kesimpulan
Interface bahasa alami mempermudah seorang user yang tidak memiliki kemampuan khusus untuk dapat mengakses informasi yang tersimpan dalam database dengan menggunakan kalimat sehari-hari.
Penelitian ini menggunakan domain khusus (data medis) dalam pengujiannya, tetapi tidak tertutup kemungkinan untuk digunakan pada domain lain. Sistem yang diusulkan memiliki kemampuan untuk diubah suaikan ke domain lain. Aplikasi ini masih terbatas pada penggunaan query dengan fungsi select dan agregat sederhana. Sehingga perlu dilakukan pengembangan agar aplikasi ini mampu menyelesaikan fungsi agregat tingkat lanjut.
Referensi
[1] M. Maragoudakis, B. Kladis, A. Tsopanoglou, K. Sgarbas, and N.
Fakotakis, “Human-Computer Interaction
using Natural Language . An Application
in the Medical Treatment Domain.”
[2] Kuspriyanto, H. Sujani, H. Tjahjono, and
S. Kusuma, “Perancangan Translator
Bahasa Alami ke dalam Format SQL
(Structured Query Language),”
TEKNOIN, vol. 10, no. 3, pp. 225–236, 2005.
[3] S. Hartati and E. Zuliarso, “Aplikasi
Pengolah Bahasa Alami untuk Query
Basisdata XML,” Jurnal Teknologi
informasi DINAMIK, vol. XIII, no. 2, pp. 168–175, 2008.
[4] X. Yiqiu, W. Liwei, and Y. Shi, “The
study on natural language interface of
relational databases,” 2010 The 2nd
Conference on Environmental Science and Information Application Technology, pp. 596–599, Jul. 2010.
[5] R. A. P. Rangel, A. Gelbukh, and J. J. G.
Barbosa, “Spanish Natural Language
Interface for a Relational Database
Querying System,” in 5th International
Conference, Text Speech and Dialog 2002, 2002, pp. 123–130.
[6] B.-B. Huang, G. Zhang, and P. C.-Y.
Sheu, “A Natural Language Database
Free Grammar,” IEEE International Workshop on Semantic Computing and Systems, pp. 155–162, Jul. 2008.
[7] I. Androutsopoulos, G. D. Ritchie, and P.
Thanisch, “Natural Language Interfaces to
Databases – An Introduction,” Natural Language Engineering, vol. 2, no. 1, pp. 28–81, 1995.
[8] C. Hallett, “Generic Querying of
Relational Databases using Natural Language Generation Techniques,” in
Proceedings of the Fourth International
Natural Language Generation
Conference, 2006, no. July, pp. 88–95.
Lampiran :
Gambar 3. Aturan Produksi
Gambar 5. Hasil pengujian
Gambar 6. Hasil pengujian